JUG Cologne - IDE Shootout
By Roman Strobl on VII 04, 2007
This Tuesday there happened quite a unique event at JUG Cologne: a shootout of 4 different IDE vendors. Me representing NetBeans, Wayne Beaton representing Eclipse, Frank Nimphius representing JDeveloper and Maxim Shafirov, Mike Aizatsky and Ann Oreshnikova representing IntelliJ IDEA. It was a very interesting possibility to discuss strengths and weaknesses of individual IDE's.
Frank has a nice writeup of the evening in his blog. As he mentions, there was no winner - all four IDE's have interesting features to offer. So what did we present?
I started my presentation by explaining what NetBeans is and that next to an IDE and community it is also a platform. I demonstrated one of the coolest platform-based applications - blueMarine. Some of the folks at JUG Cologne have not seen the NASA Worldwind component yet and blueMarine integrates it - it's great for demos. The audience had a little fun with me trying to find Cologne on the map of the Earth (there are no signs for non-capital cities!) and we made a little visit into the virtual 3D Alps. I've shown that as an example of what you can do today with NetBeans Platform and Swing - you can build a meshup by reusing existing Swing components.
Next I demonstrated Matisse with it's support for databinding and Swing application framework. I also manageed to slip into the demo some of the improvements in the NetBeans 6 editor to show various intelligent editing features. I was using Milestone 10 which was released one day before the event! Then I introduced a memory leak in my application and analyzed it using NetBeans profiler. I also mentioned during my presentation support for Java EE 5 (NetBeans was the first IDE to support full spec) and Mobility (we absolutely lead in this area). Finally I did a demo of JRuby but unfortunately the time was already up (there were only 30 minutes for each of the presentations!), so despite my heroic efforts to make the demo work in few seconds I had some issues - but got an applause, perhaps because I tried to so hard to make the demo to work :)
Wayne Beaton was the next presenter, he talked about What is Eclipse? Given that Eclipse is so many things it took about half of the presentation. Then he did a demo of Mylyn, formerly known as Mylar. It demos very well and seems to be particularly useful on large projects where it may be hard to see only relevants parts of source code. Definitely Mylyn is a kind of functionality I'd like to see in NetBeans (anybody volunteers to write a plug-in?). There was no time to show anything else, but I thought that Wayne's presentation was fun. Wayne mentioned that Eclipse is now also an IDE (which it was not before - rather a platform and SDK). He acknowledged that NetBeans is pushing Eclipse to provide more out-of-the-box features and become a more integrated set of tools, delivered by eclipse.org - Eclipse Europa is an example of that. They plan to add an installer as the next step to make the user experience nicer.
Third presentation was done by Frank Nimphius from Oracle. JDeveloper has also progressed quite a lot and Frank spent some time by explaining their strategy (they both contribute to Eclipse but have their own tooling as well). He demoed building an application with EJB 3.0 and Ajax application development with ADF Faces Rich Client. I have to say that the ADF components are very nice and the visual editing experience is similar to what we provide with Visual Web Pack. It was nice to see Oracle promoting JSF, EJB 3.0 and other parts of Java EE 5. When Frank finished developing the application and deployed it to the OC4J server we had to wait a little while for the startup. Unfortunately Frank did not have any goodies to throw (although he brought big bags with swag, he did not have them on stage). I throwed some of my NetBeans t-shirts when I had to wait for the NetBeans IDE in my first presentation, so I proposed to Frank to throw some NetBeans t-shirts, and he did that to amusement of all attendees :)
The last presentation was delivered by the IntelliJ guys. At first they had to explain why it makes sense to pay for an IDE - that's something what the other presenters didn't have to do. As the only commercial IDE IntelliJ guys also presented their view on open source: "Being open source is often confused to be free". Then the IDEA developers went through the history of IDEs and talked about how other IDEs copied their functionality. I have to say that they were right - many of the innovations in the past happened in IntelliJ IDEA and were an inspiration for other IDE vendors. They did very cool demos of refactoring accross languages - e.g. if you change EJBQL in IntelliJ IDEA it modifies the Java code as well. All their demos were focused on the text editor and how IntelliJ is really great for refactoring (even on broken code!). The time was running fast so they went quickly through the future projects, we will definitely see more interesting stuff coming from IntelliJ IDEA. After all, they have to innovate all the time so that people see the value in paying money for an IDE.
At the end of the evening there was a panel with all of us. Very interesting experience - the questions (mainly from Kirk Pepperdine) were tough: JSR 198, OSGi vs. JSR 277, OpenJDK vs. Harmony, etc. Some questions from the audience included DSL and scripting languages, so we discussed projects like Schliemann or DLTK - it seems that most of the IDE's are moving in the direction of supporting additional languages. There was also a discussion about GUI building and how each IDE solves this issue. It was fun to have such direct confrontations.
I think this event was very exciting and the audience enjoyed it - it is definitely worth repeating (Stephan, how about repeating IDE shootout at Javapolis?). It was great to see that even though we all compete we can coexist on one stage and even have a bit of fun (and poke at the weaknesses of individual IDE's, too :) We also learned some lessons about what to do better next time - 30 minutes is really not enough, so having 40 or 45 minutes would be better and it would be good to give the audience the possibility to choose topics for the shootout upfront - to show them the stuff they're interested in. Also it was obvious that demos are much more useful than slides during such presentations.
After the event we went to the pub to continue our discussions - a nice way to finish the evening. I'd like to thank Michael Hutterman for organizing the event and to all the presenters for the discussions and all the fun I had! And of course thanks to Kirk Pepperdine and TheServerSide.com for the pizza and drinks - we even had Czech Pilsner Urquell :)
Finally here's a picture from Michael of all the presenters: