Slashdot Mirror


Java IDEs?

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?

11 of 679 comments (clear)

  1. Who needs an IDE? by tapin · · Score: 2, Insightful
    cc-mode.el

    Syntax highlighting, data dictionary, easy compilation and debugging... what else do you want?

  2. Forte. by DGolden · · Score: 4, Insightful

    Um, I think Forte/NetBeans and IBM VisualAge/WebSphereStudio/Eclipse/Whatever have the serious Java IDE market pretty much sewn up between them. Borland used to be a player, but aren't now.

    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.

    --
    Choice of masters is not freedom.
  3. Debuggers by Reality+Master+101 · · 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.

    --
    Sometimes it's best to just let stupid people be stupid.
  4. I use by nebby · · Score: 5, Insightful

    Slickedit, hands down the best balance between Notepad and a full fledged IDE I've seen. Think emacs, but with a better GUI and without all the extra crap and ridiculous key combos.

    I've cranked out many lines of Java code with it, so it's lasted the long haul for me.

    --
    --
    1. Re:I use by hattig · · Score: 3, Insightful
      Is that you, Roy? :)

      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.

  5. use the emacs JDE by phranking · · Score: 2, Insightful

    Its what I use, a bunch of (I think) lisp modules that plug into emacs and keybind all sorts of whiz bang keystroke saving nonsense (ex. "bo" auto-expands to "boolean" and M-/ scroll completes variable and method names ala bash's tab key). I had massive wrist problems, and got a kinesis and installed the ide and I'd estimate my total number of keystrokes is down to maybe a third of what it used to be without JDE's code completion functionality. Not to mention the built in debugger, which shows all variables in scope in a particular instance of a class (which also kind of sucks when the stack gets really huge, or you've got a really meaty instance, but hey). As far as GUI building - I've always found that I've better luck with swing when I get in there and lay stuff out explicitly.

  6. Try CodeGuide by Anonymous Coward · · Score: 2, Insightful

    CodeGuide by OmniCore (www.omnicore.com) is pretty inexpensive, performs really well, and has a bunch of useful features, including very good code introspection and completion. It doesn't do GUI form editing, purely code editing, but that's all I need it for since I do exclusively server side work.

  7. Omnicore CodeGuide by rodbegbie · · Score: 3, Insightful

    Codeguide from Omnicore is absolutely outstanding. Its automatic code help feature is incredible. You can see the errors in your code before trying a compile.

    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.

    --
    Rod Begbie done this, and he's not
  8. Re:Turing-completeness (slightly OT) by jacobm · · Score: 3, Insightful

    1. Java is Turing-complete. As is every programming language you're ever likely to run into. Rule of thumb. How the implementation happens to run the code (VM, compiled to assembly, hand-evaluated with pencil and paper) is irrelevant.

    2. Sun's Java compiler is written in Java.

    --
    -jacob
  9. Re:VisualAge for Java` by its_me_ken_lai · · Score: 2, Insightful

    I like the way VAJ is designed. The project/package/class/method (and file-less) organization is logical. The repository might get one in trouble if it's not backed up frequently (though a third party source control tool could overcome that pretty easily). Incremental compilation is good as the project gets bigger and bigger. I still haven't tried writing event-driven systems with it but based on what I read it seems to have pretty good support for event-driven coding.

    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.

    --
    Ken Lai
  10. Re:IDE - Editor or round trip engineering tool? by mj6798 · · Score: 3, Insightful
    Using an automatic tool to generate/maintain UML is a bad idea. UML should represent stuff in your head, stuff that you consider important. The exercise of drawing it by hand is an important part of the UML design process (you are supposed to remember all those methods; if you can't, your system should probably be simplified). And too much detail is just as bad as too little detail.

    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