Thanks Geertjan for joining me for this interview. Please tell us a little more about Geertjan Wielenga.
I am a technical writer. I write documentation to explain how to use the NetBeans APIs. I like the puzzling involved in creating tutorials, especially those that relate to APIs. In the '80's, I used to be addicted to those text-based adventure programs on the ZX Spectrum, where you had to type "hit dragon" and so on, as opposed to the games where you'd be actually doing those things "for real" (because even then they weren't really "real", of course).
I've written so many technical articles of various kinds about various technologies that I've forgotten having written most of them. I do believe, however, that if you want to create a scalable Swing application for the desktop, you should use the NetBeans Platform. I wish it wasn't called "NetBeans Platform", though. I wish it was called "Swing Application Framework", but that name is already taken. Groovy, however, is -- to whatever extent the reader of this interview is underrating it -- underrated. If I get a minute to spend on this question, I'd like to investigate how Groovy could be used to create NetBeans Platform applications.
I was introduced by you to VisualVM at the 2008 Sun Tech Days in South Africa. Please tell us a little more about VisualVM and how things have progressed since we last spoke.
VisualVM is, quite simply, very cool. Forget all those small weird troubleshooting tools in the JDK. They're all combined into the modern-looking VisualVM now, since JDK 6 Update 7. Plus, if you want to extend that tool, there's nothing stopping you. That's the kind of programming I like, similar to "hit dragon", i.e., progressing further into its own logic. The APIs have been extended, the tool itself supports more VMs, and a very cool screencast has been published describing how it works:
In some ways, I wonder why Sun doesn't push this tool harder. In other ways, it's fine the way it is. Just start it up from the JDK's bin folder and then let it monitor whatever starts up next. Really, you simply need some kind of script that starts it up when your laptop (or whatever) starts up and then, whenever a new Java application deploys, it will be registered automatically into this VisualVM tool. Then analyze the commands, threads, whatever you like. Just good clean troubleshooting fun.
Don't expect massive enhancements to this tool. After all, what kind of enhancements do you want for "chairs" and "walls"? They do their job and that's what VisualVM does too. You can extend it and that's fun. But, basically, it's purpose is monitoring, troubleshooting, and diagnostics.
Being part of the NetBeans team, what are you thoughts on the current state of open source specifically as it relates to the IDE space?
Eclipse wins when it comes to their rich client platform story, IntelliJ wins in relation to their Java editor, NetBeans wins if you're looking at the "all in one" package. Come on, everyone knows this. Eclipse sucks because of the treasure hunt involved in the obligatory search for even the most basic plugins. IntelliJ sucks because you need to pay. NetBeans sucks because of its sluggishness, since almost everybody installs the 'full' IDE while only needing a small fraction of it.
Come on, everyone knows these things. The only IDE that I see making a concerted effort to change it's handicap (as described above) is NetBeans IDE.
Put another way, IntelliJ is a porsche, NetBeans IDE a work horse, and Eclipse an empty vessel. Is it possible to compare a porsche, a work horse, and an empty vessel? Not to me, anyway.
Do you have any general thoughts you would like to share with the community as it relates to the open source ecosystem?
The open source ecosystem has come full circle. How to monetize it? Does anyone know? Sun's theory has always been that open source would lead to servers being bought. Somehow. The connection was never very clear since the people benefiting from open source (developers) have always been different to the people buying servers (managers/executives). In my opinion, the latter don't listen to the former, or weigh their opinions against a multitude of other factors, to the extent that their opinions are practically invalidated.
On the other hand, in these cash-strapped times, one would assume that the open source ecosystem would be dominant, wouldn't one? One needs to think about why (and if) this isn't so. Let's take a look at Egypt, the center of the Middle East when it comes to IT. Which companies are dominant? Oracle, IBM, and Microsoft. Why? Because they have invested in their future, i.e., their youth, i.e., their universities. Are they open sourced? No. Meanwhile, what is their open source competitor, i.e., Sun, doing? Selling servers. Now... think back... how interested were you in buying a server when you were a student..?
Thank you again for the interview, Geertjan. In closing, I would like to know how you see the future for yourself and NetBeans IDE?
NetBeans rocks. The IDE provides everything to any kind of developer. Java, PHP, Groovy, Ruby, you name it. And, in each case, there are MANY reports stating that developers LOVE the implementations of the APIs that enable those editors to be supported. Would be cool if those APIs were to be continued to be taken seriously because they're great. The creators of the APIs for NetBeans IDE are all geniuses. They're truly creative and there's so much that could be done with the code they have produced! To answer your question, I hope to be able to continue educating (http://edu.netbeans.org/courses/nbplatform-certified-training/) people to use the NetBeans API, as long as Sun supports me in doing so!