ablashov, I have to chime in with the others here and let you know that Eclipse does so many things for you, that in direct contradiction to what you assume, it is actually difficult to set up Emacs or Vi to do the same for you. One example is whole-workspace refactoring : Let's say you decide that a function (method) needs to take an extra parameter, a boolean, but actually, that is just to cover some corner cases, i.e., the argument will be false in most cases, but true for 5% of cases. But that method is used in 326 places. Guess what : changing method signature and refactoring ALL the code that uses that method is just a few actions in Eclipse. Eclipse --> Refactor --> Change method signature --> Add new parameter, boolean isCorner, default = false. You're done. It changes all 326 references to your method and rebuilds the project.
Truth be told, Eclipse is a key reason for Java's popularity. It makes working a pleasure and helps you focus on the actual work, not on the mechanics of how-to-get-it-done.
I'll go further and say that Java is a horrible experience without Eclipse. One of my colleagues at work said today that (1) Java sucks without Eclipse and (2) Eclipse's wonderful features wouldn't be possible without all the things that makes the Java language suck.
That is Seibel's corrollary to Greenspun's Tenth Rule, no? Every sufficiently complex java program need a programmable IDE to make up for the half of Common Lisp not reimplemented in the program itself.
I had a conversation about refactoring with one of the giants of the Lisp world earlier this week about this, actually. The parts that make Lisp so powerful are the parts that also make it so hard to build reliable refactoring tools. Refactoring is something you need in any language. Otherwise, the implicit presumption is that you always get your software architecture 100% right the first time around.
Truth be told, Eclipse is a key reason for Java's popularity. It makes working a pleasure and helps you focus on the actual work, not on the mechanics of how-to-get-it-done.