Not Really! However, in an interview with news.com Miguel de Icaza, the founder of the Mono project commented J2EE is an academic crap.
Here is what Miguel said: "We found that people said that it was 25 percent more efficient to build in ASP.Net, because they have to do all this academic crap (with J2EE)"
"The problem with J2EE really is that it became very, very academic and the complexity of all these perfectly designed systems in schools does not necessarily map when you have deadlines and all kinds of other things"
He may be correct that J2EE is complex (See my previous blog “Why J2EE is so complex?”) but this is totally off the base to state J2EE is to be just academic. There is nothing bad to be academic. Rather It is better for Java and J2EE that these have entered the academia and courses on J2EE are being taught in many colleges and universities.
Unlike .NET where everybody else watch when Microsoft sings J2EE is like a well-conducted orchestra. Several industry giants like Sun, Oracle, IBM, BEA, etc. are behind the J2EE platform and support from open source community is overwhelming. In a capitalistic world nobody is that noble to throw his time and money for a technology that is just academic.
There is no doubt Microsoft has great tools that help developers to quickly build applications. However many of these applications are thrown away when organization grows and these applications do not scale very well. One of my friends who consider him a Java geek once commented “These tools are great for managers who count on developer productivity and also for dumb developers who like to design a form and love painting screens using mouse clicks.” The reality is that these types of tools do not appeal to many developers who love the “art of programming”.
Thankfully Sun and the JCP is trying to simplify the complexity of EJB and J2EE development in J2EE 1.5, however these efforts are not enough. A lot of efforts are required from the J2EE vendors to improve developer productivity using the J2EE platform.
Also the perception around the complexity of J2EE needs to be addressed.
As I live in Redmond (the MS Land) I often meet a lot of developers those use Microsoft technologies like Visual Basic or ASP.net. They have the perception that “There are no tools to develop Java or J2EE applications” and have to use NOTEPAD or VI. This gives a perception that Java and J2EE is very complex. We fail to acknowledge that there are some great tools and IDE out there to build Java and J2EE applications but lot of our geeks still use vi, emacs or TextPad to build applications. J2EE vendors like Oracle has Application Development Framework with JDeveloper and BEA have Weblogic Workshop to improve developer productivity but quickly the leaders in J2EE development community reject these as “proprietary”. This is due to the fact that existing Java and J2EE developers are very tech savvy and want to go by the rule book they do not foresee the problems who is trying to learn J2EE. We have to recognize that the new developers need these tools to learn Java and J2EE and also improve developer productivity.
For many organizations for whom portability and scalability is important they choose J2EE but there are several companies productivity matters and that’s where Microsoft toolset excels. The J2EE vendors are still playing catch up game in that arena. However this will require a change an attitude from everyone in the community to recognize the tools and so called proprietary frameworks that can make developers’ life easier and improve productivity and thus further the cause of J2EE.
Secondly, we have to acknowledge the reality that The J2EE platform has become complex because it is trying to solve many problems and trying to satisfy everyone without compromising on portability. Each vendor adds their extensions to make their implementations attractive. We keep on adding Design Patterns and new frameworks are invented to simplify the complexities of J2EE and all these together make the J2EE more complex at least by appearance. When a new developer wants to learn J2EE he gets confused where does he start. Unfortunately we have hundreds of books on each technology such as EJB, JSP, advanced books on design patterns and best practices but there is NOT too many books that is solution oriented e.g. building web applications using J2EE focused at new developers. I hope many authors and publishers will realize that there is a need for such books.
History is proof that none has done well when they played with Microsoft in its territory so I’m skeptic how successful Mono will be. The main goal behind .NET is to further Windows platform. Microsoft is very much worried about the Linux threat and it is to be seen how much it is willing to contribute to Ecma International in future. However, if Mono is successful in long term, as this is based on Linux it can make the .NET framework scalable and this is an open source project many companies will deploy their applications because this has potential to have best of both worlds i.e. developer productivity with .NET tools and scalable open source deployment platform. For J2EE to survive long term and increase its adoption, instead of terming the Visual Basic developers dumb, the J2EE vendors and community have to work to improve wizard based tools to lure them to use J2EE. That will be a welcoming sign to the Visual Basic developers that are used to wizard based development and it will be make J2EE platform so compelling that nobody will dare to call it academic crap any more.
Few readers had objections that I've misquoted Miguel's statement. I've put his actual statements in the blog (in blue) so that readers know which statements I'm referring to in this particular blog.
There was long thread of discussion on this blog at http://www.theserverside.com/news/thread.tss?thread_id=27503