Right, this ain’t as bad as it seems, honest! But in the last two years I have pretty much coded Java without the use of an IDE, albeit I wasn’t doing too much Java, all the same though, I was doing pretty much everything by hand. Why I hear you
Right not sure whether the background was need but you got it anyway. So where was I. Yeah, I tried Eclipse at the start of my time as a graduate student and just thought it sucked! It was slow, froze often and I ended up back with trusty old XEmacs. I did miss a debugger though – especially as I was using VS for the contracting work. I just couldn’t face Eclipse though.
Now skip forward around 4 years to a few months ago and I find myself writing loads of Java again. By this time I had ditched XEmacs for the very nice e text editor – I seen a Google developer videocast and in it they were using TextMate and I thought it looked awesome, so I wanted a windows version of it which is what e promised, and delivered. This was great, it did have some nice autocompletion stuff but I was still doing quite a bit manually. I never really felt that it was a problem though, as I just got on with doing what I was doing. Then after a couple of conversations with people I gradually started thinking that I may be missing out on stuff that the IDE provided, so I decided to give it a go.
I tried Eclipse and I still think it sucks. It’s not that slow anymore but I can’t put my finger on why I don’t like it, just tastes I suppose. Or maybe it was because I had tried NetBeans 6.5, which I think is rather excellent. I have no doubt Eclipse does all the things that NetBeans does but I could “figure out” NetBeans quicker.
For starters, it made it pretty clear where I should put my unit test files, you simply click add on the “Test Sources” tree. Easy. When I added my existing source files it didn’t seem to have the same bizarre problem that Eclipse was giving me for my package name. Then when I wanted to run one of my tests it seemed easy I just right-clicked and selected Run File. I mean I’m not saying you can’t do these things in Eclipse but it certainly wasn’t as easy as doing them in NetBeans, so why go with Eclipse? I won’t go on further but essentially getting started in NetBeans just seems easier than Eclipse, which has got to be the single most important thing for gaining new users.
All that said and done, my general point is that boy have I been waaaaaaay more productive with the IDE over using an editor and the old
System.out.println style of debugging! I would say the key elements to this improvement have been intellisense, automatic compilation (probably a fancier word for it), ease of unit testing and of course a nice shiny debugger (I had tried JSwat as a stand alone debugger at first but it constantly failed to repaint its window).
There are a few things that annoy me about both Eclipse and NetBeans, the first is the color themes. With e it is so easy to change themes and plenty of themes available – I really need a dark background for developing. However, it’s a royal pain in the ass with both of the above IDEs. Furthermore, NetBeans gave me a laptop destroying moment where I deleted files from the NetBeans project and expected it only to delete them from the actual project. No, afraid not, it deleted them from the file system, without making it obvious it was going to do this. I was seconds away from throwing my laptop against a wall, seriously!
Apart from that though it really has been a bonus switching to an IDE. Those of you out there that are thinking a text editor and
println will do are just kidding yourself on – like I was. Those using an IDE are going to be way more productive than you are. Now if we only had a decent IDE for every programming language, we all have a dream right?