I don’t understand why IT depts would *pay* AND get locked into a proprietary technology when Java is open source and free and richer than anything MS could offer.
Man, you obviously don’t have to manage the systems that run the jvm’s....
Here’s my initial take :
If you want your project to run in windows only and future versions of it and don’t forsee any major changes in platform,then surely go for .NET,.NET is especially made for windows,since it provides a very good UI,also it is very easy for referencing external assemblies very efficiently for your project,which Java programmers find it very difficult.
Now if your project needs to run on Linux or UNIX as well (or maybe even OpenVMS),then surely go for Java.
Java’s advantage is it is supported in almost all platforms ( even Windows ).
Gimme a break. I’ve done both Java and c# for nearly a decade. First off, nothing is free. Secondly, all companies get “locked in” as soon as they start buying hardware and software. Right now .Net 4.0 has surpassed Java both technologically, and in the IDE arena. VS 2010 is incredible and doesn’t cost anymore than Intellij IDEA. There are even free versions available.
So, to summarize :
I would use .Net if:
1) If the application is Windows platform specific then use .Net
2) .Net is Language independent, so if the team has multiple skill expertise C#, VB.NET , C++ , developers can still work on the same project with different skill set.
3) MS technologies provides RAD (rapid application development) to deliver projects faster, customers always prefer faster delivery ( Java developers might disagree with this, in which case, you are welcome to critique this statement ).
4) Debugging is very effort-less therefore with Microsoft’s Visual Studio IDE, which is TOTALLY DESIGNED AND DEDICATED TO .NET Technology. Therefore, we can fix the bugs quicker.
5) Deployment is very easy and simple.
6) Ajax implementation is simple & easy
Java on the other hand has the advantage of :
1) Platform independence. If you’re developing for various OS platforms, .NET is useless.
2) Open source, therefore, free.
3) Dependent on the 3rd party tools to develop applications, although companies like Oracle, IBM and others are trying to get everyone to standardize on the ECLIPSE platform.
So their developers can be vastly more productive and their software can run efficiently maybe?
I did Java for a number of years. Thank God I was able to make the jump to sanity.
IntelliJ and Eclipes are ridiculous jokes compared to VS 2008. Ever tried to start up Net Beans or any IDE written in Java? Be prepared to wait a long long time for the splash screen to disappear. Then be prepared for your machine to be completely overwhelmed by the bloated piece of junk written by a bad developers with absolutely no concept of performance (like many Java developers).
Ever heard of intellisense? It's something Java programmers have never really experienced.
Ever hear of LINQ? It renders Java obsolete in all matters related to data handling and collections.
Need a form environment? You can take a few months to master SWING so you can write balky, ugly, difficult to maintain apps. Or have a few days to learn to make decent Winform apps. The decision really isn't so difficult.
Need a really crappy resource hogging web server. There's always JBOSS.
Because IT is managed by idiots who generally either have no technical experience at all, or were basically IT washouts who sucked at coding and actually doing the work. And like typical ignorant managers they are more worried about protecting their far too large paychecks than they are about doing something right.. and operate on a completely CYA mentality. And when you aren’t too bright and are operating on CYA, your conclusions are simple.. people don’t get fired for buying Microsoft.
.Net is a joke compared to the Java world, anyone whos truly worked in both and is honest with you will tell you that... but that can’t trump IT management ignorance.