in reply to Eclipse locking people into Java?

IMO most the "deficiencies" in Java are deliberate - the idea is to make the code itself as unambiguous as possible, hence static typing, forced casts, declared exceptions, no means of doing runtime manipulation of classes etc. etc.

The whole point is to make tools like Eclipse possible - it's nice if you're refactoring - change the classname once and it automatically changes the classname in all code that uses it, for instance. It makes "drag & drop" coding a lot easier.

Fundamentally, any language code that does runtime manipulation (creating classes at runtime, adding methods, eval "" etc ) cannot take advantage of the more advanced features of and IDE like Eclipse. The IDE just won't be able to figure out all the complexity.

By the way, I think tools like eclipse don't make up for the lack of flexibility of the language at all. Eclipse doesn't "demolish" other languages - more flexible languages have many advantages over Java and in general require much less "boiler plate" code just to get it to compile. This in itself makes languages like Perl or Ruby or Python much more productive than Java will ever be, and you could argue that it those languages don't actually need a tool like eclipse.

Me, I think a refactoring IDE like eclipse with all the whiz-bang features on it for Perl or Ruby would be cool and useful, but I don't think we'll ever see it, and I don't think I need it for Perl as much as most people seem to need it for Java.

Disclaimer: I write all my perl code and most of my Java code in vim, and I've only use Eclipse once or twice for Java refactoring jobs.