Hue Holleran <hueh@openAction.net>
There have been quite a few discussions - that you'll find in the archives. These are just my personal comments I've never given before - they're not exhaustive and only on 2 different IDEs I've used. We use netbeans www.netbeans.org - 3.5 (beta) is a *very* big improvement on 3.4 in terms of speed but I think the general consensus is that it works much better with the latest Sun's JDK 1.4.0 than with the 1.4.1 (various problems with debugger reported, tomcat stops and blocks port, as you've described) - the jury's still out on JDK 1.4.2 beta. 3.4 works well with BEA's JRockit but in testing I've had stack dumps on Linux with netbeans 3.5 beta - could be netbeans, could be Debian GNU Linux that is not an officially supported distribution for BEA - still testing. Sun's JDK 1.4.0 with netbeans 3.4 works great on Linux. I think the general consensus is that netbeans is *very* heavyweight - both in terms of functionality and hardware required to run it! We use dual-PIIIs with minimum 1GB of memory - and as you might expect it runs well!! I must say it is still usable on my laptop - 1GHz PIII with 500MB RAM running Windows 2000 and Debian - but just usable. The pros for netbeans is that it is very easy to get up-and-running as it includes an internal tomcat 4.0.x, CVS is really nicely integrated, debugging is also simplfied as tomcat is bundled. The againsts for netbeans are that it is rather heavyweight and requires pretty hefty hardware, throws strange error compiling JSPs when using struts-el (there is workaround) and does not allow copying files from Explorer (which Eclipse does) - so one needs to mount the parent directory. Eclipse www.eclipse.org - I have used and really like also. It feels much faster in operation than netbeans and will comfortably run on much more modest hardware. If you're going Linux, I'd recommend the GTK version (looks nicer and feels a lot faster than the Motif widget set) and runs very nicely with the BEA JRockit VM and with Sun's JDKs. Eclipse on Windows 2000 runs really nicely too. The pros for Eclipse are that it will, by default encourage separating the source and compiled classes, runs very well even on quite limited hardware, has CVS support. The againsts for Eclipse are that, personally I find it more difficult to quickly get up-and-running with, only because the container's jars need to be added and one needs to think a bit more about the project setup than with netbeans. Debugging is not as easy as with netbeans because it does not have a bundled container but I suspect these are moot points once one is much more proficient with Eclipse (I'm not). As I say, we currently use netbeans and it works really well for us. The introduction of netbeans was not without its tears, though, although I do find new users will get up-and-running with only a couple of hours of mentoring which is nice. The first introductory paragraph to netbeans really should be "Create a New Project before doing anything else." - as its quite easy to get confused with a lot of mounted file systems.
A while back, our small team was using Ecipse and Netbeans 3.4.1. I was using Netbeans for JSP/Struts and it was fine. The Java only guy's were starting to use Eclipse. I tried to switch to Eclipse (because I was having issues with Netbeans) and looked for JSP/web app plugins for Ecipse. I was surprised on the lack of JSP support that Eclipse had. I even asked on this list this and the responses confirmed what I had found. When I tried IDEA, I was blown away. Not because of any fancy wizards but the lack of. The smart navigation and code awarnes in java AND JSP . Even the open/close tag matching in JSP (ie: brace matching in java) The refactoring and code inspection are great. The fact is that I did not know what I was missing. The simple ability to have directory structure awarness in a jsp:include and that fact opening an included file with one key stroke (control - B) Rock. With EJB support enabled I can look at an action see my service method. In a few clicks of control - alt - B, I can plow through all our layers and end up at the business code I need to look at. ie: Action -> DelegateInterface -> DelegateImpl -> SessionFacade -> SessionBean -> SessionBean -> EJB ect.. In addition I can see several views of the same ... I could go on.... Any way it looks now that all our team members will be using IDEA. You have to at least give it try, but be careful, you could become addicted - )
I'm with Jeff, until you've tried IDEA, you don't know what you are missing.
Some of these features may be found in other IDEs, but here's a few that I use the *most*:
- Find Usages (I *never* want to live without this again!)
- Code completion
- Goto Declaration
- Refactoring wizards, like Rename and Move.
- Code reformatting, Import optimization
- Syntax highlighting and *validation* of Javadocs, XML, JSP custom tags, and Ant build files.
- Integrated Ant building and JUnit test running
- Easy to edit, Velocity-based code templates
In my experience, IDEA is one of those few products that not only live up to their marketing, but surpass it.
Hey Ted, all except the last one are done by eclipse. And Eclipse in in constant improvement, have u all took a look at the CVS annotation at file editor (it show code code that is diferent from CVS). I think that eclipse 3.0 will miss three things only : SWT/Swing/JSP editors. I hope this will be there until the final release.
Basil James Whitehouse III:
heh, as a user of IntellijIDEA, when I first read the topic and the contents I was confused. The wiki naming read: 'My Favorite IDEA And Why' to me, so I expected to see some good commentary on IDEA, but the first thing I saw was about NetBeans.
[You now have realised that the page is 'My Favorite IDE And Why' not 'My Favorite IDEA' right?]
To make this a bit more meaningful, here's some of my thought's on IDEA: IntelliJ IDEA is a most excellent Java IDE. I haven't been a fan of IDEs in a while, I've tried Eclipse (not recently though) and others like NetBeans, but mostly stuck with edit+ and ant since the IDEs felt like they got in my way. I'm sure if I sat down with them for a while I may like them, but when I'm busy the last thing I want is an editor to get in my way.
Enter IDEA. I found I could start using it pretty much as an editor from the start. I didn't have to make different IDE views to get work done, I didn't have to set-up a complex project just to start editing. As I became comfortable with the editor I started to use the other features of IDEA at my own pace, things like integrating cvs and ant, using the refactorings (which really rock), finding usages, and the code walkthroughs (ctrl-click a method, class, etc to jump to it). It's not free, but I'd be hard pressed for a reason not to buy it (as of 01-jan-2003 they have personal pricing for 200USD).
After all these comments Im going to try IDEA again but I remember why I initially didnt like it. I was a big fan of Visual Age for its default object browsing perspective which I feel is a must for building an object based system. NetBeans filesystem mounting and project setup to me was kind of ridiculuos and I find even though Ive downloaded it a few times I usually end up uninstalling it within about 10 minutes. I have been spoiled by Visual Age and Eclipse. Downside of Eclipse is that it really seems to be starved for JSP and Swing Canvas painting support which Im sure is better in the for-pay Websphere editions. Another downside is that I have a problem with IBM not submitting their window toolkit to the JCP which has me looking for another IDE.
I remember that I didnt like IDEA because even though it seemed slick, I didnt find the object browser. To me there is a big difference between editing files and composing objects and I want an IDE that supports a perspective of objects first and files only if I need to see that view.