The more I use Eclipse, the more I learn to depend on it. I cannot imagine coding anything serious without Eclipse “compile as you type” error checking, one-click correction tools, automatic code generation tools and refactoring utilities. Vim is great but it will not detect a thrown exception as I type and it will not give me a choice to automatically generate a “throws” clause or catch-try block.
No simple editor will automatically rename my file and refactor all references in the code when I change the name of the class. And neither vi or notepad will generate getters and setter methods for me.
Here is an example. Today I had to code up a big data structure which had around 8 fields that needed to be accessible, but not public. How long did it take me to write all the accessor and mutator methods? 10 seconds! Clickity click, done! Eh… Sometimes I think I’m just getting to lazy with all these nice features. But then again, you do not want to waste time typing silly stuff like 20 different accessor methods when you could be putting that effort into making the algorithm work.
Eclipse is my personal favorite. I think it is possibly the best IDE for Java out there, but your millage may vary. Allot of people like NetBeans. I briefly used it at one point, but I went back to Eclipse. It was just not for me. But it is still a great alternative if for some reason you dislike the IMB brainchild :)
Actually any piece of software that attempts to call itself an IDE should provide similar set of productivity increasing functionality. These things are here to make our life easier.
If you are really thinking about writing that Really Big Project™ using vi, think again. I know that talking about editors is kinda like talking about religion. Personally I think vi is great tool for programming. But when you are facing a huge, complex project you may want to put your religious beliefs aside for a minute and think about stuff like productivity, convinience and etc… You might be more productive with vi than with an IDE initially. But once you start using some of the advanced features you will quickly realize how much less typing you need to do :)
If you are vi/emacs guru and you can do amazing stuff with your editor, then please ignore my ramblings. Hats off to you and your impressive skills :)
On the other hand, if you are planning to use notepad, or pico you are insane. Repeat after me: pico is not for coding. Notepad is not for coding. Get an IDE, or at least switch to vim/emacs where you can get some syntax highlighting and helpful features.