Writing code requires two important things: creativity & discipline. The creativity to create the unknown, unexplored, exciting parts of software. And the discipline to create the dull & all-too-well-known parts of software / documentation.

You may come up with new ways (or use frameworks) to reduce repetitive work. Effectively beating discipline with creativity. But boring stuff will still always be there in some form. And on days when creativity is low, you may need to tap into that jar of discipline so you can still be productive, by doing things you never feel like.

But every now & then, there is a day when both creativity & discipline are low. To prevent such a day from going to waste, I figure I can do 3 things:

  • Drink coffee, get back at it
  • Drink some more coffee, get back at it
  • Use this day to learn & invest in tools & skill

Recently I had a rough night involving little sleep & one or maybe two drinks. I'll spare you the details. The next morning my two coding fuels: creativity & discipline were at an all-time low. I ended up repeating steps 1 & 2, but they just didn't cut it ; ) It was clear that this day was not going to be my best coding day in the world ever.

So I turned to step 3 and decided to invest that day in learning tools. This may not result in immediate production, but that's why it's called investing ; ) I'm now learning & investing in things that will hopefully increase my productivity in the future. As an added bonus: on a day otherwise lost.

Eclipse PDT

A programmer's primary tool is his IDE. The end-product is in your head but the tool will help you craft it. Good tools will help you craft it better or faster. Or both. Readers of my blog may have noticed my love (1) hate (2) (3) relationship with my current IDE: Eclipse PDT. We have our ups & downs, this has never changed. Winston Churchill once said:

"...democracy is the worst form of government except all the others that have been tried"

This best illustrates how I feel:

"Eclipse is the worst IDE except all the others that have been tried"

But now that blog posts on a 'new' 'radical' IDE called 'NetBeans' have been clogging up my RSS reader, and I had an entire day of coffee & learning ahead of me, it was time to give it a try.

NetBeans

sqlcc.pngNetBeans is an IDE by Sun and has been around for while. What's new in 6.5 is it's support for PHP. That's what makes it interesting for me.

The base install is no different from Eclipse PDT. Download the archive, extract it, run it. That's it.

What complicated things with Eclipse were the steps afterwards: adding CSS support, adding SVN support, having to struggle through their ever so poor plugin & update system. Manually selecting mirrors & dependencies. Not to speak of performance issues.

Not the case with NetBeans. They must have really looked at a PHP developer's daily job, because everything you need is already in there: SVN, CVS, CSS, SQL, and even support for jQuery! This even works within 1 document: NetBeans figures out what's JavaScript, what's PHP, and indexes & highlights all elements accordingly. And you can even connect to a MySQL database. This is all out of the box.

And if a feature is missing, the NetBeans plugin system Just Works. Go ahead & install additional features. No need for a science degree there.

Code completion is fast & accurate. Manuals are integrated. Existing Eclipse projects can be imported, no need to keep separate workspace directories. Just switch back and forth between NetBeans & Eclipse (or your other IDE of choice) until you've made up your mind.

Conclusion

If you want a complete list of features just check out one of many other blog posts about NetBeans or checkout a screencast by the creators. For me it suffices to say: It's like a lightweight Eclipse, with a couple of very powerful additional features (all out of the box), and it Just Works.

In fact, I wasn't prepared for such a smooth ride. I continued in fully working environment, learned some keyboard shortcuts, played with the refactoring tool (awesome). And maybe it was the coffee, but before I knew it, my creativity kicked back in and I even got some serious work done that day :) Who would have thought.

What to Do Next

Not Conviced?

Pictures say more than a thousand words. So checkout some of these links:

Then: Download!

Want to give it a shot? Here the download link. You can choose your flavour: Java SE, JavaFX, Java, Ruby, C/C++, PHP, or just All.