Emacs. And I'm measurably more productive than my colleagues who
waste their time fighting with their IDEs.
Regards,
Patrick
Nothing against Emacs, but if your colleagues are "fighting" with their
IDEs then they are either novices or doing something wrong. If you are
doing standard editing+building of Java source, say, it's basically
impossible for Emacs on any platform to be faster, in practical terms,
than Eclipse or Netbeans or IntelliJ. What could possibly be faster?
Typing of keystrokes or deleting a piece of text? Calling javac to
compile your source? Locating a Java class and opening it?
If you mean that your colleagues are fighting with their IDEs when it
comes to doing another task that isn't particularly well-supported by
the state of tooling for that task in the IDE, I'll buy that. For
example, for a number of reasons I won't do all but the simplest
revision control operations (whether SVN or Mercurial or whatever) in an
IDE - I do them on the command line and then refresh the IDE. I won't do
anything but the simplest merge work in an IDE either - I'll use a
purpose-built merge program on whatever OS I'm on.
If an IDE proves lacking or fractious during a deploy procedure to an
app server, I'll not use the IDE. I make sure I know how to command-line
or admin console deploy artifacts to the server if necessary.
A key skill that intermediate developers (even promising junior)
developers learn is how to *not* use an IDE when it's in the way. If all
the dialog-driven tooling in an IDE is interfering with your use of JPA,
say, then skip the automation and craft the necessary files yourself. If
some little quirk in JDeveloper, while working with Oracle ESB or BPEL,
is driving you to distraction, skip the IDE and know what XML files you
need to edit directly.
Emacs doesn't have close to the same kind of Java support that a full
Java IDE has. So ultimately the productivity argument for Emacs over a
Java IDE comes down to editing large volumes of text...for which Emacs
is arguably better. However, and speaking for myself, as a Java
programmer (well, as a programmer period, in any language), I don't
generate large volumes of text. I don't even create medium volumes of
text. Even in full-blown new development mode I spend most of my time
thinking about what I'm doing, not acting like an administrative
assistant pounding out letters for the boss.
I trust that you're not talking about Emacs+JDEE, say. That combination
*is* a Java IDE.
AHS