Larry O'Brien's comments about J2EE and .Net.
Read Larry O'Brien's comments about J2EE and .Net here.
Why have I decided to jump to .NET? Because despite more than half-a-decade of sucesses with Java, I've concluded that the .NET Framework is equal to or better than J2EE on virtually all technical levels. There are lots of other issues that might make J2EE a better choice: one that is particularly near and dear to me is that the training available for Java enterprise development is light-years ahead of what .NET has available. That's a huge advantage for J2EE!
I tend to agree that right now the .Net infrastructure is better than Java. CLR is richer, C# is a cleaner language, the core API is cleaner, the XML API is fabulous. .Net still lacks a lot of third party stuff we can easily find in open source or commercial form in Java. Is there a descent logging API like log4j in .Net? What about scheduling frameworks like Quartz? Or an excellent build process tools like Maven or CruiseControl? Or an OR mapping framework? .Net is not mature yet, but I like its infrastructure. And yes right now the knowledge is in Javaland. From books on refactoring or unit testing to whatever you can imagine.
But in general, over the past sixteen months or so, I've come to the conclusion that Microsoft has, essentially, better strategies and better execution than Sun. Looking forward, I see nothing that makes me doubt that .NET is going to gain momentum while innovation on the Java platform is, in my opinion, mired down (although the JCP would have compelling advantages if only it could be streamlined). So when I write I tend to say good things about .NET because, well, I think .NET is good. If you want to see a similar tendency to say good things about Java, read any of the dozens of articles I wrote between 1995 and 2002!
Yes! Imho the only way Java can compete with MS's cash and military of programmers is to let the whole world help it. I other words JCP should change to something like Apache, or even better let Apache handle all APIs. That's where innovation occurs. Take a look at JellySwing for example. It's the future of Swing imho, the best weapon client side Java has. Can you imagine it turning into a standard proved by JCP? Hell no! It'll take a long time. JellySwing depends on Jelly/Jexl/etc, so Sun has to standardize them too and you can imagine how long such a procedure takes. Needless to say JCP has the bad habit of not using what's already working and reinventing it again (log4j's case as an example).
Ironically, the way I feel towards .NET vs. J2EE is analogous to what is projected in the Macintosh "switch" ad campaign. When you discover that the annoyances you've grown used to are not inherent, you wantto advocate, not on the basis of checklists, but at an emotional level. So do I write objectively about the differences between .NET and J2EE? Perhaps not. But I think I write honestly, and I think that's more important.Wait for Rickard and friends release J3EE :-) It'll be the the simplicity and wholeness the J2EE community needs. Again OSS to the rescue :-)
Agreed. J3EE could make Java very simple to work with, like it was before EJB.
Also worth mentioning is that in the enterprise marketplace, I'm not yet sure if .Net still the full connectivity and enterprise tools that Java has, such as alternatives to JMS, JCA, JTS, JNDI etc.
BTW thanks Ara for your kind words on JellySwing.