Maybe I'm just an old fogey, but I've tried several different IDEs in the past (tho not yet eclipse) and just never found them to be that useful over and above using VIM for editting code and ANT for building. I would be interested to hear from various members of JavaRanch exactly what drove you to using an IDE, or (if you're like me) what is keeping you from using an IDE.
I switched because of remote debugging and refactoring. I'd been using Emacs for 12+ years before making the switch. As I said in another thred the first week I was frustrated the second week I was a little less. By the fourth I was not going back.
My suggestion is to download Eclipse. Use it for a week. If you hate it, go back to VIM if you don't hate it but its tollerable then go on for a month. If you still don't feel productive go back to VIM. All the hype and stuff is irrelevant. You should use what is most productive for you.
Honestly, in Java - its because I haven't found a good IDE that I like. I tried Cafe a few years back and hated it. I just loaded WSAD 5.1 on my box at work since that's what we use - hate it. I used to use JBuilder and it was alright at the time - I haven't tried it lately. I'm still using Textpad.
I did download Eclipse late last week and am finding that it is much better than whatever IBM did with it to turn it into WSAD. (Try just opening a .java file in WSAD?)
I'm typically all about IDEs if they are good ones - its just hard to find a good one. Eclipse seems to be pretty robust, so I'm starting to play with it more since I'm getting back into java with this new job (and thus how I found this site!)
To me two of the biggest productivity enhancements are color syntax highlighting (available in vim) and code completion. Closely following those in importance is error highlighting. I no longer wait till compile time to see syntax errors. When it comes to debugging I think being able to instantly check values and easily navigate through containers is a huge help. Navigating complex data structures can be difficult without the assistance of an IDE. I still use vim for small tasks but when it comes to significant development I have found that IDEs offer some true benefits. My favorite IDE was Together ControlCenter but since Together sold to Borland the product has fallen apart. Eclipse is what I use now and I am quite happy.
I guess remote debugging, pattern-directed development and powerful refactoring features are the main drivers for me. I have converged on Eclipse after having tried a number of IDEs, mainly because it has the right extensible architecture, UI and level of intrusiveness (or non-intrusiveness for that matter).
here requires a user/pass to the eclipse dev site How about the link to JDJ?
Remote debugging is great, sure, but even for local debugging you save so much time with an IDE. Hey, Lanny did you ever try to use jdb?
In any case an IDE is great for all the above reasons mentioned but the caption of this forum still reads real programmers use vi But let not your heart be troubled there's a vi-plugin available for Eclipse
For me, I moved to an IDE from simple text editors the first time I saw that I didn't have to save the file, switch to another window/session and type javac only to discover that I missed a semicolon - the editor told me long before I tried to save.
What sold me on a particular editor? I was taught XP programming using Visual Age for Java (precursor to Eclipse). The refactoring and debugging tools ensured I would never go back to something simpler again.
I've used several (JBuilder, Sun One Studio, Java Cafe...), but always preferred JEdit. Recently switched to Eclipse (only one week so far, but I'm still sold on it). Here are some of the factors that influence me:
1) I like JEdit because it increases your productivity without getting in your way. If you've edited some java code with some other editor, nothing stops you from opening that file in JEdit and doctoring it a little more in JEdit. You can then subsequently open it in the other editor again if you like. With Eclipse, a file needs to be a part of a project, but that is a simple matter and doesn't seem to get in your way. And the java file is still stored just like any other file on your hard drive, albeit in a specified directory structure.
2) Eclipse seems to be an attempt to avoid vendor lock-in, kind of like J2EE. You can build or purchase/download plug-ins to Eclipse from competing vendors, and Eclipse does not attempt to hide your work in proprietary file formats, so you are always free to just get rid of Eclipse if you change your mind about it.
3) Simple, intuitive interface. But not too simple. "Everything should be made as simple as possible but no simpler." I love that old adage, and Eclipse seems to embody it perfectly.
4) Excellent help and tutorials included right inside the IDE.
5) Nice looking interface - just looking at it makes your mouth water and your mouse hand twitch.
6) Minimal keystrokes and mouse gestures. Everything seems to be just a click or two away from wherever you are.
7) Integration with other defacto standard products, like Ant.
I guess that's enough blabbing for now, since I haven't even used any of its advanced features yet. There used to be a free version of TogetherJ, called whiteboard or something like that. That was a very nice tool as well. Eclipse still seems to be a little weak on the higher level modeling and code generation front. (Or is it just that I haven't discovered that yet after only one week of use?) I wish they had some stuff like the old TogetherJ whiteboard. But I know they are working on that kind of thing (forgot the name of the project, but they are experimenting with some very practical and very cool higher level modeling ideas). For my money, the lesson is to avoid following the example of Rational Rose - that is, avoid trying to jump to code Utopia in a single leap. Instead, start out with a straightforward non-vendor-lockin tool, like Eclipse, and then just keep adding higher level modeling and automatic code generation features until you end up with something that is, in addition to being abstract and powerful, also something that mere mortals can use and understand. From what I've seen so far, Eclipse is hitting the bullseye.