The right tool for the right job?
In a blog entry entitled: JetBrains Selling Arms to the Enemy?, Carlos Perez summed up the entire .NET vs. Java battle:
Okay, I don't want to be controversial, however after reading the latest blog from the CTO of JetBrains, I just got to sound off! For the uninitiated JetBrains is the developer of the kick-ass Java IDE IntelliJ IDEA. It appears that JetBrains has a plan to develop, god forbid, a addin for VS.NET! See, Java developers have for a while now have a enviable position of having bleeding edge coding tools. Something many in the .NET community aren't aware of and therefore don't miss.
Now, I'm not against companies exploring new market opportunities. However, isn't creating an addin for VS.NET just like selling arms to your enemies?
Rather then review the many incorrect technical points that Carlos has made in the 101 list, as well as the technology changes that have now led to .NET leading Java in terms of programmers and new projects, I will focus simply on the above points as well as another post that I somehow missed (probably because I un RSS'd subscribed him).
"Do More With Less" the latest marketing slogan from Microsoft. Is there more to this than a spin on their technology or could this be more of a subtle hint, an invitation to go offshore? ....
Is it any wonder that the Microsoft group, that built the Java to .NET converter (i.e. JLCA), is based in India and Costa Rica? I don't know where the other Microsoft migration tools where developed, however I can bet you that Microsoft's "center for excellence" in porting and migration is located in some offshore location.
You can read the full argument
Here As usual the arguments tend to be rhetoric based on his own personal observations rather then any statistical analysis. Most of the projects I have seen have been old C++ or technical support systems rather then the architecture of new projects or ports which tend to require much more "lead" experience, but I digress.
Now, my latest project is back in the Java/JSP world, and I am amazed at how well the platform has done (primarily via eclipse) in this time since I started .NET only a few years ago. I am glad that these innovations are leaking over. My .NET projects are also rolling around, and I just completed a JSP/SOAP/.NET project for integrating to a old data system. Which ever tool works better for the job is the tool that I try to use.
The problem with the entire ".NET vs. Java" battle (of which Carlos Perez seems to be the most voracious defender) is that discussion is that he seems to focus on "us vs. them" or "America vs. India" or "Java vs. .NET." Rather then applaud the fact that some programmers are now getting better support for refactoring he would rather complain about JetBrains "Selling Arms to the Enemy." Rather then complain about it, how about working on making Eclipse a better project (Eclipse has made me re-examine my assertion last year that large projects in Java should be limited to the server only). Java is showing good signs of innovation for the first time in a while, including attributes and better event support (my favorite parts of the CLR).
Any American steel worker can tell you the futility of hoping for protection against innovation by other companies in other countries. Likewise either the Java community or the .NET community ignoring innovations will result in a worse system for us, the constituents of each community. I for one look forward to some good refactoring support in .NET. I hope Java gets better. Which ever fits the task better will be what I recommend. Period.