.NET and J2EE. Status as of now and scope in future.(Updated with important note)
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.
Read more post on .NET .NET 4.0 J2EE Java Microsoft




Comments
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.
“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
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…)
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.
Oh yeah, well .NET is stupid
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.
@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.
Discussion can also be caught at http://www.linkedin.com/newsArticle?viewDiscussion=&articleID=76859368&gid=40717
and
http://www.linkedin.com/newsArticle?viewDiscussion=&articleID=76859369&gid=40949
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.
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
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?
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.
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.
@Nilesh
MS won’t do that. you can read MONO developers weblogs about that:
http://tirania.org/blog/archive/2009/Jul-06.html
@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.
Trackbacks