JUG Cologne - IDE Shootout

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:


Comments:

Thanks for the update Roman! It must have been really interesting!

Posted by Paris Apostolopoulos on červenec 05, 2007 at 02:48 dop. CEST #

hi roumen, One thing which i really dont understand about the matisse gui builder is the lock up of the generated code. it really frustrates me. I know it can be changed via the property window. we java guys like to have a flexibility to edit it in the code editor itself. i mean when you are coding in the code editor , N if you wanna change certain thing in the generated code, there is no point goin to design mode and getting into the property window to change it.. It really is not a reall mature java guy expect to do. I thought like the Netbeans 6 will resolve this but when i used M9 build it code lock up still exists... please let know your thoughts on this. Thank you Regards

Posted by Ranganath.S on červenec 05, 2007 at 04:31 dop. CEST #

I strongly disagree with the IntelliJ guys. The freedom software gives me (or restrictions it seeks to place on me) is more important than the price I pay for it.

I avoid binary-only software when possible regardless of whether it's given away, because I can neither trust nor verify it. Having source code is insurance for when your vendor changes direction or goes out of business altogether.

Posted by Tom Wheeler on červenec 05, 2007 at 11:01 dop. CEST #

Hi Roman,
you have been great. I remain loyal to NetBeans.
Thanx for the nice beer with you at the riverside of Cologne were we not only spoke about NetBeans. I've learned much about the history of NetBeans, and that you like travelling to Asia than me.
See the nice photo.
Ulf

Posted by Ulf Zibis on červenec 05, 2007 at 03:25 odp. CEST #

Hey Roman, Tough questions ehh? You should have seen the ones that I left out! ;-) Fantastic event, all participants did a really good job of educating the crowd on what you are all up to. Kudos to Michael Huttermann and the Cologne JUG for pulling this one together. What was even more interesting was the discussions regarding the level of cooperation between the various parties. It would be nice if everyone could come to some common ground on the plug-in JSR. It is clear from the discussion that the current JSR is doomed. It would be interesting to see how we (as a community) can get all of the major parties to a table to try and get past the blockage.

Posted by Kirk Pepperdine on červenec 06, 2007 at 03:49 dop. CEST #

Roman, I would like you to ask to correct our quote about open source. What I said (and it was _exatcly_ this way on slides): "Being open source is often confused to be free". I would also ask you to contact Tom Wheeler and apologize for wrong quote.

Posted by Mike Aizatsky on červenec 06, 2007 at 05:00 dop. CEST #

Kirk, I agree, Michael did an amazing job of setting this up - it was not easy. I agree a common IDE plug-in API/JSR is needed and too bad JSR 198 didn't solve this problem.

Posted by Roman Strobl on červenec 06, 2007 at 05:01 dop. CEST #

Mike, sorry about that, I'll correct the quote and contact Tom - I'll cc. you.

Posted by Roman Strobl on červenec 06, 2007 at 05:07 dop. CEST #

For the record, Roman did contact me this morning to apologize and clarify what Mike actually said.

Posted by Tom Wheeler on červenec 06, 2007 at 05:15 odp. CEST #

Post a Comment:
Comments are closed for this entry.
About

Roman Strobl

Search

Archives
« duben 2014
PoÚtStČtSoNe
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today