Big question today: What is the scope of .NET and J2EE platforms. Which one is more dominant in industry today?

I want to answer this question in this post with my viewpoint with no intentions of hurting anybody but with a sole intention of increasing the knowledge of J2EE for .NET people and .NET for the J2EE people
and being a developer in Microsoft technologies i agree my opinion may be aligned towards .NET but what i sincerely want is that through this platform i want to know the actual status of the platforms viz a viz features and invite everybody to add to my learning the new things happening in the J2EE world as well.

On Technology Front
I think that with the arrival of Mono, the only disadvantage that .NET had over J2EE platform i.e of platform independence has been resolved up to an extent. But with the introduction of WCF, WPF, Workflow Foundation, LINQ, ASP.NET MVC framework, Silverlight,ASP.NET Ajax and many such other features have only added to the popularity as well as usefulness of .NET both for programmers, designers and enterprises. With .NET 4.0 parallel programming framework, improved WCF and host of improvements along with Visual studio 2010 will be a great advantage for all..NET 4.0 will also be integrating cloud computing platforms. You will agree to the fact that coupling of IIS and SQL Server is superb in terms of performance as compared to any other options.

Today designers and developers can work together on the tool provided by Microsoft and the UI can be deployed to Web,Desktop or Mobile with an assurance of same effects.
I think JAVA have been left far behind on the technology terms as compared to .NET over past few years as I have not come across any such features being introduced in J2EE platform.

What customers want is fast development of the solution at low cost, and if we start of with .NET we can develop the solution at a very fast rate, thanks to the host of tools provided by Microsoft, and then use cloud computing to bring down the IT costs.You get .NET resources fast as well ,thanks to initiatives taken by Microsoft to teach students and the interest they are able to generate within the students community.

I believe that with the launch .NET 3.5 and onwards, there no looking back for .NET platform as it has enabled the developers to provide good quality extensible code at a fast rate to clients taking the full advantage of the latest operating systems plus giving the backward compatibility to most applications previously built on .NET platform. What more can customers ask for?

I also believe that yes J2EE is also here to stay for a long time as it also has got a big customer base but to compete with the .NET platform they need to pick up fast and offer some features which Microsoft has already done with, to at least get back into competition with .NET

Important NOTE:
I am in NO WAY attached to Microsoft except for the fact that i am a .NET developer and get excited with all the new things happening in the technology world and due to my busy schedule i am not able to keep myself updated on Java. So i started off with my little knowledge of the features i have about .NET and invite everybody here to discuss and put forward the corresponding features from J2EE platform. That’s it. It is of minimal importance for me as which of J2EE or .NET is more popular but what matters is i should know tomorrow that if i want to do something how is that possible with the help of two options and which one fits the best in that situation and what other features can we expect from both the fronts in the near future
I would request you not to comment as in way of showing down J2EE or .NET as i will delete those comments.

Constructive Comments are most welcome.

kick it on DotNetKicks.com

Shout it

pimp it

Anky Goyal

I am MCPD certified in .NET and working on .NET technologies for past 3yrs. I am very passionate about the new features which get introduced in the technology. I am here to share the new features i get to know in the world of Microsoft. Follow me on twitter @ankygoyal LinkedIN@Ankit Goyal

More Posts - Website

  • Pingback: PimpThisBlog.com

  • Pingback: DotNetShoutout

  • http://iklogic.com Rick Clute

    IF you look at history .Net has taken the place of Unix in a OO place. Unix was well accepted because of the commands, and that Unix was character based with a standard in and out pipe structure. The commands could be piped together without writing and compiling code to provide a solution. .Net like Unix has a ever expanding Framework. This lets a developer leverage a vast set of tools to provide fast and less error prone development.

  • Prab

    “Today designers and developers can work together on the tool provided by Microsoft and the UI can be deployed to Web,Desktop or Mobile with an assurance of same effects.”

    JavaFX? But I am not sure

  • David Steep

    Yes, I agree, the Java language specification is dramatically falling behind .NET. Now. Language specs change all the time. Platforms do not. Java still provides a much more reliable, portable, cheaper, extensible, customizable and competitive platform. Enterprise level development remains 100% Microsoft-only technology with .NET. These qualities matter much more than whether you can use LINQ on the language level for a small desktop app.

    “With the arrival of Mono (…) platform independence has been resolved up to an extent.”
    Mono is far behind .NET 3.5. Comparing the portability of .NET to Java’s is ridiculous. Can you run .NET on my embedded router? No. Can you run .NET on most phones? No. Can you run .NET in any other application server than IIS? No, end probably never will. Mono is just a command line desktop compiler.

    “You will agree to the fact that coupling of IIS and SQL Server is superb in terms of performance as compared to any other options.”

    O’Rly? Have you seen the price tag?! A huge slice of enterprise projects runs happily on Apache, Tomcat/Glassfish/JBoss utilizing whatever database they already have. With today’s hardware, setting up a Windows server the licence costs start around the tenfold of the hardware’s. (And even then you have just 5 user account with max. 2 remote desktop sessions…)

  • Michael

    J2EE is the old spec. Java EE is the current spec.

    No mention of Java 7 with it’s numerous improvements (including the fork/join framework).

    Also it should be noted that the Java language is not the only focus of development in the Java eco system.

    The Java platform also has a lead in cutting edge language support like jRuby, etc.

    And don’t get me started on the cost of an M$ system. I actually looked at what SQL Server costs and it is simply a no-go. I couldn’t buy it if I wanted to. MySQL, PostgreSQL, all free and very Java friendly.

    The London stock exchange as decided to dump .NET in favor of Linux, due to issues like cost/performance, etc.

    Also, NetBeans and Eclipse IDEs are all evolving very rapidly, and cost nothing.

  • otatop

    Oh yeah, well .NET is stupid :-P

    I’ve worked with both of them, each has their advantages. Most of the differences seem to be between the cultures of the .NET and Java worlds. The .NET world provides a more integrated solution since most everything comes from Microsoft but at the cost of having choices. The Java world has many more options and ways of doing things but it’s more challenging to integrate. In terms of what they are capable of, there’s not really anything one can do that the other can’t do.

    • http://www.linkedin.com/in/ankitgoyal Ankit Goyal

      @Otatop
      Well i would say nobody is stupid in this world so how can any of such two smart frameworks developed by so many intelligent people be stupid.[:)]
      I agree with you that there’s a way of doing everything in both and its just a matter of time when one camp is ahead in features and vice versa.

      Also .NET 4.0 also now support dynamic languages like IronRuby, etc.

      @Michael
      I agree with your point that setting up environment is costlier in the.NET platform. So is it that everything boils down to cost of IT and there’s no importance of the faster productivity with less number of resources?

      @David
      I agree that Mono is in initial development stages and a new player in the playground but would’nt it be too harsh to say that it will never be able to participate in the competition? Even Mono is an opensource community and its official site claims that it supports platforms like Linux,Mac OS X, iPhone OS,Sun Solaris, BSD – OpenBSD, FreeBSD, NetBSD, Nintendo Wii ,Sony PlayStation 3 and enables us to run asp.net applications on Apache as well.

  • http://www.linkedin.com/in/ankitgoyal Ankit Goyal
  • NUstinov

    Hi Guys,

    according to my experience there’re two main factors which impacts the decision:
    – price
    – maintainability

    In terms of price the hardware costs can be seen as fixed (anyway you’ll need the hardware). Most of Java world can go for free (ok, on the enterprise level perhaps you want to pay sometimes for the rock solid maintainance and support).

    MS world is expensive (except when you develop with the express tools which are quite enough for most scenarios …). Noone restricts you to select your favorite db behind your .Net components btw.

    For maintainability:

    As there’re so much options (mostly free but any kind) in the Java world you have to pay for integration and relevant experience to decide which to use and how. Though a great percentage of the components are open source – which obviously supports maintainability and fast bug fixing, release cycle.

    The .Net world comes with a lot of tools which are usually work together just fine and the cost hides between the in-depth knowledge of those tools. Though if there’re no workarounds for a bug in those ones you have to wait.

  • vinay

    Obviously I lean towards Java:

    1. Platform & Portability – Java is easier to set up and run on UNIX/LINUX platform. And yes, Java back end code runs seamlessly on WIN and NIX platform

    2. Future — Oracle have now acquired Sun, Solaris, and JQuery. Oracle is a company that is very big on toolkit and integrated solutions and it now have the potential to roll out end-to-end enterprise solution & toolkit from front end to back end AND at the platform as well. IMHO Java’s future is very bright indeed.

    3. Security – Java has better security model than the .NET framework. There’s less Java security exploit being than .NET security exploits that I know of.

    4. Open vs Closed source: There’s heaps of industrial-strength open source products for Java. With .NET, anything good is usually commercial. But then again, the .NET framework itself came with really good tools & libraries

    • http://www.linkedin.com/in/ankitgoyal Ankit Goyal

      I don’t understand why people take things to heart whenever there’s a discussion of features of .NET and JEE.
      Both are just tools which enables us as IT professionals to create better solutions for the customers. So we should be informed of all the features as well as strengths and weaknesses of the tools so that we can utilise the best one on case to case basis. So where is the question of leaning towards one of these?

      Oracle have now acquired Sun, Solaris, and JQuery.

      Vinay jQuery is an open source framework and is NOT acquired by Oracle.
      can you plzz put forward the URL where you got this information from?

      Agreed that Oracle is an wonderful corporation with so many capabilties. But if they come up with an integerated end to end solution of JEE(according to your assumptions) It will not be free my friend. And you might be aware of the costs that Oracle charges for its databases and ERP implementations. So who will buy that new unmatured product? If this will be the case i think that day will be very bad forJava world since it would be preferable to use matured line of products from Microsoft at that point. Java world’s one of the biggest advantage is its open source nature and playing with that will be very harmful in my opinion.

      Security: Can you mention the security exploits which you know off in .NET and are not existing in JEE? I think both are at same levels of security models its just that Windows OS may get some virus which effects the installed application. Please dont try to show the tool down without any facts.
      In C#.net we have Code Access Security(CAS). Code access security allows code to be trusted to varying degrees depending on where the code originates and on other aspects of the code’s identity. I think there will be such sort of security in Java as well. Please mention the URL as i want to read about that and since we soon will be having .NET 4.0 framework i expect even more security improvments in the framework.

      I would once again like to say both are just tools and with their own advantages and disadvantages and it depends on our intelligence that either we can fight over whichever is best or we can learn about both and use them to their potentials as needed.

  • Nilesh

    As far as development for Mono Platform is concerned, it is not safe because in future Microsoft could destroy the Mono project through patent suits.

    It all depends on your requirements whether to go for .Net or Java.

    e.g. If you are developing window application go for .Net , Java came to solve web related problems and should be used for that only. No doubt you can create Window applications using java but it will be slower compared to .Net.

    I think .Net is not a mature platform. Java has proven its reliability, security over the years.

    • deepak kashyap

      sir i completed BCA and doing MCA from ignou plz tell me what is better for me .NET or j2ee

      i want to become a very good web developer and want to open my own business plz help me

      i don’t have enough knowledge about this

      • http://www.techartifact.com Java bug

        I would say go for .NET. It fast with easy learning curve. .NET would help in starting you business. Java mostly used for big and enterprise level projects.

  • anon

    @Nilesh
    MS won’t do that. you can read MONO developers weblogs about that:
    http://tirania.org/blog/archive/2009/Jul-06.html

  • Madvil

    @Nilesh

    One thing is for sure : Microsoft’s policy is changed (along with the everchanging technology evolution) and it will hit me like an atomic bomb if they would dare to move a finger against MONO, since the future is obviously “MULTI PLATFORM” based.

    What I do expect from Microsoft is to get MONO project officially by themselves. That wouldn’t suprise me at all.

    But no, any movement of hate against MONO would only hurt themselves.

    • Rohit

      I am currently working on J2EE application. Can any of you tell me how long does it actually require for a normal developer to understand the concepts of Struts,hibernate,springs and maven and integrate it for developing a j2ee application ?? should i continue in this line or switch over to a different one..I am finding the platform quite difficult to understand all its concepts in just 2 months.

      • http://www.techartifact.com Java bug

        Hey Rohit

        I am working in JAVA for long time now. I feel it is very powerful technology stack with lot of support from so many big vendors.

        As per under-standing of Spring and hibernate is concern, it depends on you. Both of these frame-works have lot’s of support material on Internet and very well tested in multiple projects.

        Learning curve would be different would be different for every individual. Every new thing will take time to learn.

        HTH

  • Rohit

    Plzzz some one help me out of this…Badly need to know the future prospects of j2ee and all that i have posted in the above comment…

    • vinay

      If you talk about future of Java,j2ee and struts,hibernate.this is future .You can easily rely on that.My personnel suggestion is if you are good j2ee developer you can learn anything very easily..go dnt wry about future prospect.its good

  • Rohit

    Actually i am good at programming if not very good. j2ee is completely new for me and moreover the platform is vast and demands a lot a conceptual grasp before implementing those concepts onto an application. But the org i am working for is not providing sufficient time to thoroughly understand the concepts of these integrated technological frameworks and how they interact with each other on an abstracted level.So i am having a feeling of insecurity,that moving froward i might have problems dealing with projects as i wont be that sound technically as per the requirement..Plzzz comment..

    • vinay

      well i dont think so.take in a positive manner.Put some hard efforts now.Think and understand why we using any framework or any technology.try to relate and understand their need.Read some good book.Don’t feel insecure.try to understand the logic.

      • rohit

        vinay , i ll first advice u to work on struts2,hibernate3 and springs2 integrated frameworks while building the project with maven.i am also using ajax,log4j,junit etc..then i think u ll nevr say that its possible to work on these by learning in only 5 days..and this is exactly wat i have been doing…wat is ur xp in the software line??? may be u havent worked on these thats why it feels easy fr u…try it out and then advice plzzz..i believe it will need a good 4 months of learning atleast on these technologies before implementing them..even others working on this platform wid me have the same sense of insecurity…no one is able to grasp the concepts that easily..the framework is vast and needs tym..plzz put in ur valuable remarks

        • vinay

          Rohit behave ur self and tak in proper manner.I am working in Hibernate 3 with spring and struts2 too.and i Learnt all these myself.Nothing is so complex.Even the without knowing anythng dont comment anythng.u asked advice and m giving u advice.i dnt need ur advice .I have worked with all technologies even log4j,struts,hibernate,rad,websphere.dont call nobdy.there are many who are much more inteligent than you..i am having 4 years.if it is you.I am also SCJP.I nver find anythng difficult.if it is for u
          it is upto ur personel capanility.

        • vinay

          and people who will see futute of technlogy always do this mistake.fst be mature enough to come on public forum.

  • Prajakta

    .NET or J2EE Which one of these has a better scope n growth in IT industry ?? According to few of my seniors i heard that eventhough J2EE is a great platform, there are lots of J2EE engineers… so the competition is more and growth is less.. Is that the same with .NET too ??

  • vinay

    yes competition is same for java and .net even the growth also.

  • uj

    Hi, as a .net developer for few years I noticed that there is always clashes happens among .net and java developers with no reason. I worked with few java developers also and they always used to criticize .net I don’t know why(may be due to the fear of .net’s growth).
    I have been reading these type of discussions for long time and found that its endless debate. Both communities trying to let down another, but trust me my friends it wont happen at all.
    The only thing is that if we are working with some technology(.net/java), we love that technology and that’s why we always want to see it on the top.

    After all we are all developers who try to make something useful stuff using variety of tools.

    We should respect java looking its strong past
    and appreciate .net for its rapid growth.

    As for now they both are doing great.

    Thanks