A Fun Discussion on Java
October 27th, 2006A fresh post on Slashdot called "Java To Be Opened For Christmas?" has an active discussion going right now. It appears the coming open source release of Mustang (JDK6) has sparked musings over the future of Java.
One mention is made to Harmony, the high protein (still has some bugs) JRE from the Apache Software Foundation. The potential for positive change is so tangible now.
What I hope Java becomes is a true platform. Right now it is just a language and a runtime. Elements throughout the Java community provide the supporting features which contribute to the appearance of a platform but their efforts are not coordinated effectively and projects often compete against each other. The term platform suggests a well-defined environment which the community can track and support. But Java has always felt incomplete to me.
For example, there is no widely used Java IDE which closely tracks recently finalized JSRs. No popular IDE provides integrated documentation, code assist features or visual editing support. Instead the developer must download the new project files, read whatever documentation is available and determine which Jars are to be used and how. It is a very manual process which is time-consuming.
When Java introduced new language features they were quickly adopted by the likes of Eclipse and IDEA. But new additions to Java like JSF, the official web framework for Java, have seen limited IDE integration. While NetBeans 5 has richer support for JSF it is still not a widely used IDE compared to Eclipse and IDEA. A good trend would be more developers choosing NetBeans which will help them track the vision laid out for Java. (Note: NetBeans is no longer your grandmothers IDE. It has many of the powerful features developers find with Eclipse and IDEA.)
In contrast, when .NET 2.0 was launched this past November with many new features for C# and ASP.NET 2.0, Microsoft also released a fresh copy of Visual Studio to support all of those new features seamlessly with integrated documentation, code assist (Intellisense) and powerful visual design support. Such comprehensive support really helps the developer stay up to date with the platform and to take advantage of new improvements properly. As a result of this support most shops I work in are using .NET 2.0 and Visual Studio 2005. It has not even been a year since .NET 2.0 was released! The last I checked, JSF was used less than 20% of the time for Java web applications.

October 27th, 2006 at 4:42 pm
apples to oranges...
have you had a thought, that no one wants to use jsf?
October 27th, 2006 at 8:12 pm
When JSF started to make inroads into being adopted about 16 months back I read up on JSF and attempted to build a web application using it. This was JSF 1.0 with very new implementations. Since I could not leverage what I had already done with JSP, Servlets and Tag Libraries, at least not directly, I found I had much work ahead of me to get up to speed. So I understand what you mean that nobody wants to use JSF. I only wanted to support what Sun and the JCP was pushing as the preferred web framework for the platform so that on future client projects I would be prepared. I believe that when many Java developers were presented with learning JSF, they felt that it was better to stick with what they had (Struts, Tapestry) or move to Ruby on Rails which offered more features with a much shorter learning curve. I watched as David Geary (a primary Struts, Shale and JSF contributor) was drawn to RoR on his blog and directly in talks he had for No Fluff, Just Stuff. That said a lot to me. Part of a successful platform is winning over the developers so they follow the vision. And clearly JSF is one vision which has not been accepted. Now if I were still doing a lot of Java web projects, I would have to know Struts, Tapestry and Shale at least to handle the real world applications which are out there.
October 29th, 2006 at 1:12 am
i'm about to learn jsf/facelets but i have to say so far it look like a giant turdball. it's as if the maven team collaborated with sun to make jsf exactly as un-intuitive and user-hostile as possible. if anyone from the jsf team happens to be reading this... fu all.
October 30th, 2006 at 3:45 pm
One of the best ways I have learned this past year has been from dnrTV.com and LearnVisualStudio.NET. Those are screencasts related to .NET. It would be very helpful if Sun and the NetBeans team would produce similar videos showing how things are supposed to be built with NetBeans. It is a great compliment to books, articles and blogs I read. With all of those resources it does not take long to pick up the necessary skills.