Java IDEs? 679
Billy the Mountain asks: "In the startup company I'm in, we just got a new president and she asked us about ways of increasing developer productivity. We develop Java applications, servlets and JSP. I don't use an IDE. I use an enhanced text editor, EditPlus, because I like its color coding of keywords. I guess what I'm asking is what Java IDEs do you use and what features do you like best?" If you were to build a Java IDE from the ground up, what features would you include?
Who needs an IDE? (Score:2, Insightful)
Syntax highlighting, data dictionary, easy compilation and debugging... what else do you want?
Forte. (Score:4, Insightful)
It's been months since I've met anyone who doesn't use Forte/NetBeans, although people targetting IBM Websphere server tend to use VisualAge for Java.
One feature I'd like to see is a "see-through" source pane, showing superclass code with a muted background in the same pane as the class you're editing, so that you don't have to hold so much state (remembering the superclass) in your head, perhaps with a configurable depth to which to walk back up the class hierarchy. This would make working with inheritance easier for dolts like me.
Debuggers (Score:2, Insightful)
I agree with him. Take a look at the top developers (Linus Torvalds for example); almost all the best programmers use printf's (or the equivalent) and only fire up the debugger if its absolutely necessary. It's very often the case that debuggers make programmers lazy. They will spend an hour single stepping through the code rather than actually looking at the code and figuring out where to put a few well-placed printf's.
There are certainly top programmers who use debuggers (Carmack, for example, uses one I believe), but in my experience it's more the exception than the rule.
And yes, I've developed both ways. I always end up returning to simple printf's because it ends up using much less aggregate time than using the debugger.
I use (Score:5, Insightful)
I've cranked out many lines of Java code with it, so it's lasted the long haul for me.
use the emacs JDE (Score:2, Insightful)
Try CodeGuide (Score:2, Insightful)
Re:I use (Score:3, Insightful)
Seriously, SlickEdit appears to be amazing, but I am an emacs man, and I like my mode of operation: [edit stuff]
ctrl-x v v [cvs comment] ctrl-c ctrl-c
SlickEdit doesn't do CVS, but it does other code repositories.
It also has emacs emulation.
It is a lot for an editor. And I have only seen badly formatted code generated using it - sure programmer disfunction, but annoying.
You have to get comfortable with your editing environment. Once comfortable (say, a few weeks regular use) then you can evaluate it.
One thing - I hate editors that restrict you to Courier. That is a crap editing font.
kate (KDE editor) is also nice as well, and configurable. Built in console option, and multiple files open at the same time in a good GUI. Multiple highlighting modes (not as advanced as the 'old' KDE Advanced Editor though), not restricted to a fixed-width font, etc. I like it.
I used to like the old Amiga editors as well. BED. GoldED. CygnusEd. They were solid and good as well. Not relevant to the topic, but interesting anyway.
Omnicore CodeGuide (Score:3, Insightful)
I use Forte, and find it painfully slow, but its Swing forms designer tool is superb (it's a piece of cake to do GridBag layouts!)
CodeGuide is the best I've used in terms of quick, easy code development.
rOD.
Re:Turing-completeness (slightly OT) (Score:3, Insightful)
2. Sun's Java compiler is written in Java.
Re:VisualAge for Java` (Score:2, Insightful)
My only concern are its steep learning curve, difficult to use different version of jdk and pretty slow response. As with other IDEs it requires you to work in a certain way.
On a side note, I think a good IDE should have a good documentation system that integrates with other software design tools so that requirements can be reflected in the code/doc easily. It'd be a dream come true if I look at any part of a project (design/doc/code) and from there get to the other part of the project easily to allow me to view from the big picture all the way to the smallest detail real quick. Then again I don't have experience designing big enough system to really have an idea of how the doc should be integrated with the design. If anyone here has a good idea of how it should work I'd like to hear about it.
Re:IDE - Editor or round trip engineering tool? (Score:3, Insightful)
In practice, I have also found the various "enhanced" IDEs (with support for roundtrip UML or refactoring) to be too sluggish. I prefer a fast editor, a fast compiler, and some simple linking between error messages and source code any time