Ted Leung, another former IBMer (which unit did you serve in?), writes:
The Python tools situation is also poorer. I like Emacs, but after working with Eclipse for Java, going back to any other tool just doesn’t make it. I’ve been using WingIDE to work on PyBlosxom, and that’s helped a bit, but it’s not Eclipse. I haven’t done a lot yet with VS.NET, but I know from some reading that it’s still missing things. Tools that understand what programs mean are really powerful. Ironically, it may turn out that Eclipse is what locks me in to Java.
I wrote about this back in November in the piece Extensible Java Compilers.
It’s not only the syntax of the language that improves productivity, its also the libraries and the programming environment. We do know now that the Java language has the most extensive libraries in the planet today. We also do know that Java has the most sophisticated programming environment out there in the form of Eclipse, IDEA or JBuilder. That is, code assists, quick fixes, tooltip documentation, language sensitive searches and refactoring. The moment you get used to any of these features, you can’t work in any other way. That’s the achiles heel of languages like Python or Ruby. Clearly both languages are easier to read and write than Java, but they lack the environment, if you spend most of your time digging through the reference manuals, then its not going to be as productive. What I’m getting it is, it doesn’t matter how nice the syntax of your language is, its just simply not going to be as productive an environment as what you find in the Java world. Watch a guy code using Eclipse and you’ll get the picture.
The Eclipse environment in the programming language arms race is equivalent to those JDAM GPS guided bombs. These weapons are cheap, it changes the battlefield in a revolutionary way. So the next time someone argues to you that C%23 has a nice syntactic feature, show him how Eclipse makes that irrelevant.
One last thing, Eclipse’s browsing capability, well it makes it extremely simple to find a needle in a haystack of packages.