Thursday, April 13, 2006

Java IDEs and other religious wars

Well I have started a new contract, and as always the first few days of a new job is always Environment Hell. There are servers, vpns, dns names, drives, passwords, and endless other configuration details to get right, and the cursory overview at lightning speed my new boss gave me was par for the course, and hopelessly inadequate. Same old same old there.

And as always happens the first day of a new job, the little battle regarding what Java IDE we were to use played itself out with glum predictability. "What IDE do you prefer" said my boss, vainly attempting a casual air - but the nervous tic around his eye and the sudden lack of breathing around the room told me that there was only one right answer. And many, many wrong ones.

I took a deep breath, briefly considered just guessing which IDE he wanted me to answer with, but in a second of reckless abandon (which I deeply regret) I looked bravely in his eye and answered truthfully.

It was the wrong answer. Woefully, deeply wrong.

His face fell, and as he half-heartedly tried to look reasonable, condenscending, forgiving, indignant and hard-line all at once, I sat back in my chair and resigned myself to yet another lecture on why HIS IDE was the only one worthy of consideration, and all the reasons why it far surpassed my hopelessly worthless favorite.

Long experience taught me to sit quietly and nod often. We had entered into that most dangerous of holy wars, the question of "The Best Java IDE". There is no winner of this ideological conflict, there is only opinions and personal preferences. Years ago I came to the conclusion that there is no Java IDE that conclusively is the best for all people in all situations. Further, many scars and many fruitless wars have taught me that there is no way to win this battle.

The question I often ponder is - why must there be a 'designated IDE' for a project? Almost always these days there is nothing specific about a project that would make it fly or crash depending on the IDE, and frankly, in this day and age of feature races and competition, there is hardly a feature in one IDE that every other major one could not claim to also have.

My very good friend volunteers for the JBuilder IDE, providing early beta testing and many other tasks that foster the improvement of the JBuilder community. We remain good friends despite the fact that I would rather use Notepad and the command line than JBuilder, and she would rather cut her fingers off and weave baskets with her nose than use my favorite IDE. Which one of us right? Well neither of course. IDE's are clearly a matter of personal preference. Why waste time and effort on forcing a particular choice on anybody?

Whats that? Am I using the IDE demanded by my new boss? Well... I installed it so I must be. Right? :-)

5 comments:

Anonymous said...

I'm trying to figure out if that was a deliberate bit of snobbery, or ...

JBuilder, not JDeveloper. Sheesh.

Jay Guidos said...

oops! Sorry.... what was I thinking???? I have fixed
the blog.

Mea Culpa

Anonymous said...

Amen Brotha! I'm currently stuck in Environment Hell and they can't see my light...

Anonymous said...

...isn't JBuilder being sold for scrap?

Jay Guidos said...

Well its true that Borland wants to get out of the IDE business. Thats got to fill all the JBuilder lovers full of the warm fuzzies :-)