Free, Stable, Bleeding-Edge - Pick Two
By seapegasus on Dec 16, 2009
I'm reading this German article series about an interactive IDE comparison. By interactive they mean that they invited three experts and posed the same 3 generic question about their IDE of choice, NetBeans, Eclipse, or IntelliJ. Then they open the mic for user comments, and the interviewees will respond these more detailed questions in the last part of the series. Nice idea!
The vibe I'm presently getting from the interviews and comments is that it's quite a fair fight. Eclipse has a harder time winning the poll race today, since NetBeans usage now also ranges around 40%. :-p
When reading the comments I had a thought. These three IDEs survived because they took their place in one of three clear niches. Let me show you what I mean:
- Everybody wants their IDE to be stable and consistent (plug-and-play).
- Everybody wants their IDE to support all bleeding-edge technologies and integrate new features fast.
- Everybody wants their IDE to be available for free.
Right? Well, and reality says: Tough luck, pick two!
Eclipse is free, and you get tons of new features quickly, but then you stumble over incompatibilities because plugin developers cannot possibly keep up with a development cycle that fast. NetBeans is free and comparatively stable and consistent, but some users think QA is too slow with promoting new plugins into the update center. With IntelliJ you get cool new framework support and it's reasonably consistent, but if you want that, plus Java EE, plus scripting, plus web app dev, you better be willing to pay.
So even after the IDE comparison we still have to make the same decision which trade-offs we are willing/able to accept, and stick with that choice, at least per project. I'm slightly exaggerating of course, it's not all that black-and-white in reality: IntelliJ does offer a partial free edition; NetBeans is bleeding-edge as far as Swing, JavaFX and Java EE 6 is concerned; and Eclipse plugins were at least stable enough to take the Eclipse community where it is today. :)
Speaking of plugins, I was poking around in the netbeans 6.8 plugin center and found the following three new ones:
- JavaFX composer (Preview): A visual drag&drop GUI designer to lay out JavaFX components, on canvases ready for mobile and desktop applications. This editor goes together with the JavaFX Design file type that has the blue icon. Also note new JavaFX sample projects and new project types in the New Project Wizard, and Tutorials in the wiki!
- Scan on Demand: The netbeans indexing scan is needed for syntactic and semantic highlighting etc, but the scan also slows down work with certain project constellations (if it was easy to find out which, I'd be more precise). With this plugin you can switch off the permanent auto scan and trigger it manually instead (File > Refresh All), which may fix the problem in many cases.
- Automatic Projects: This is a small addition to the "File > New Project" wizard. It allows you to open any Ant-based Java project quickly. If you do that often, the wizard lets you choose to switch on auto-detection, so that it always treats everything with a build.xml as an openable (File > Open Project) project. This may be overkill, then just keep using the "new Project > java > Automatic project" option.
PS: Oh and don't let it confuse you if the file title of an edited file is marked in bold. If you prefer the asterisk, there is a command line switch (-J-Dnb.tabnames.html=false) to reactivate the 6.5-style behaviour. I'll keep the bold text for now.