Software Development - Integrated Deveopment Environments - RoboProg's

RoboProg's / Software Development

Last Month

Sep 30, 2009

Cool Beans

Although I often just use "vim", I had been using the Eclipse IDE the last few years. About 6 months ago, I switched away from that to Sun's NetBeans IDE.

There are several things I like about NetBeans over Eclipse. One of the biggest things is the undockable frames within the IDE itself. In addition to supporting ctrl-tab to toggle between files in the editor (which Eclipse does not, you have to use the mouse), it also allows me to pull the editor frame into a seperate window, which allows me to do an alt-tab between one window where I do the bulk of my work, and another window (or two) containing the bulk of the features.

I have also noticed that NetBeans seems to leave fewer brittle project tracking files laying around in directories where I would prefer to have only source code, under version control. While Eclipse seemed a tiny bit faster (vs frequent rescans of directories), this frequently made a bit of repair and recovery work for me.

In addition to switching to using this at work, I also use it at home on my netbook, with its 1024 x 600 screen and little Atom processor. Even on such a minimal system, it is still quite playable -- the undocking feature really helps, as using a "tiled" UI on a small screen just plain sucks: which postage stamp do you want to expand to crowd out the others? (click, drag, drag, ad nauseum)

The Eclipse UI looks a little more polished, BUT, the tool seems to be a one trick pony, only really supporting Java / J2EE well. The NetBeans tool seems to be more focused on getting work done than on just pretty screen shots.

NetBeans has a pretty nice integrated plugin manager, not that Eclipse doesn't have (or is it "need") plugins. Sun also includes support for a variety of languages, not just Java, right in the initial download. How about some gratuitous eye candy, just so you can see what I mean?

Comments Editor Navigotor (outline)
Java: of course it supports Java, including a typical GUI debugger display with (conditional) breakpoints, variable (object) browsing and "toString()" auto-viewing and expression viewing.
C / C++: yes, Sun remembers how to support C on a Unix system also. I have not tried the debugger. (I'm comfortable with gdb anyway)
HTML: support, including auto-completion for tag names and attributes is pretty good. This support carries over to the JSP mode as well.
Javascript: seems to be adequate. Auto-completion is a bit problematic, given the runtime bindings of Javascript. For debugging, you wil want to do it on the client side anyway (e.g. - Firebug).

XML: seems to work like the HTML mode, although I have done more viewing than editing in this tool.

Note the shading on the margin of the file below: this is the Subversion integration indicating something added to the file since my last commit. (of course, I probably should not have this particular file in source control, since it is generated anyway, but it's all too easy in Subversion to just save everything)

Ruby: I have not used this much yet, since I have been working on other things since I installed the IDE. Looks like it works, though. Again, if the IDE debugger is lacking, the Ruby debugger itself is pretty good (kind of a cross between gdb and "perl -d").
YAML: also looks good. This is the non-XML configuration language used in Ruby on Rails, in case you needed to know that. And yes, I took a virtual crayon to my password entries.

Contact me:

Copyright 2009, Robin R Anderson