It's NetBeans' 10th birthday and to celebrate I thought I'd write a quick blog post about how I use the NetBeans IDE to develop Dvorcode.

If you spend any longer than about 5 minutes at my blog you'll quickly discover than I'm in the emacs camp of the perpetual editor holy wars. So naturally when I started to hack away on Dvorcode, emacs was my first choice. But I quickly "upgraded" to NetBeans because:

So after I hacked together my Dvorcode class in emacs, I moved to NetBeans to add all the things to make it a working application such as automatic tests, a CLI and a GUI.

I found that migrating code into NetBeans is very easy, especially as I only had one class anyway. But once I had a skeleton project set up, NetBeans made all the tedious chores bareable and some, like the GUI building, were actually fun! It freed my time up to try some experimental elements such as a text scroller that scrolls up instead of down when you insert text into it.

Also the built-in SVNsupport made working with my SourceForge repo a snap, and the JUnittests give me heaps of confidence to play around with the code, using NetBeans' Refactor function to change how the classes are divided up knowing that my tests will catch me if I break something along the way.

I even used NetBeans' "local history" feature to get me out of a bind when I accidentally updated my code from the wrong SVN repo (I use two repo's as I mentioned in a previous post).

So, having used NetBeans, Eclipse and Emacs, which is my favourite? I still live in Emacs, and it's the first thing I reach for when I want to hack together a quick class. It's editing features just can't be beaten. But for a project of more than a handful of files, you either need CEDET (which I still haven't figured out how to install), or a "normal" IDE like the other two.

I use Eclipse at work as that is what the team leads seem to choose. It's okay, but as I said, it's a pain to set up. We actually use multiple installs of the IDE on our development workstations, to get around different configurations needed for different projects. That's a terrible kludge, but nobody here has time to figure out how to do it "properly".

So I guess that NetBeans is my favourite for projects larger than a few files, or to be worked on by more than just myself. And even for my own projects if they warrant a build system like Ant.