[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Can Emacs beat NetBeans or Eclipse?

From: Tom Tromey
Subject: Re: Can Emacs beat NetBeans or Eclipse?
Date: Mon, 24 Dec 2007 11:14:36 -0700
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.990 (gnu/linux)

>>>>> "John" == John Wells <address@hidden> writes:

I'm a little late to this but wanted to weigh in anyhow.

John> What I'd like to understand is where emacs hits the "text editor" wall
John> when it comes to Java development. I've already looked at it's Ruby
John> support (my other current language) and it looks very strong, but in
John> terms of Java development I'm betting that there is a point you reach
John> with emacs where you can go no further. For example, debugging Java,
John> refactoring Java, and deep insight into Java data structures for
John> navigation, refactoring, etc.

The two have different strengths.

Emacs is really great for editing of all kinds.  And, at least the way
I use it, it is integrated into my entire work process, including
email and irc.

Emacs is much, much easier to hack on than Eclipse is; occasionally
I'll write a bit of lisp (or more trivially, a keyboard macro, which
AFAICT Eclipse lacks) to automate some complicated change.  This sort
of thing is hard with Eclipse.

Emacs comes with tons and tons of things that Eclipse does not -- not
just odd things like mailers and news readers and irc clients, but
mundane things like all the editing commands, customizability (e.g.,
in Eclipse you cannot, as a plain user, make a tool bar button that
run "cvs commit"), editing modes for just about every language, etc.

On the other hand, Eclipse is hugely better at Java -- better enough
that I moved all my real Java work into Eclipse, even though that
meant living with sub-standard editing.

Despite what some others have said on this thread, I don't think that
Java reflection plays a big role in Eclipse's superiority in this

Instead, the primary thing that Eclipse has that Emacs does not is an
integrated Java compiler.  Eclipse comes with its own intelligent,
incremental compiler that understands your whole program.  The
compiler is what provides all the nice features: automatic rebuilds
(on my machine it is usually done compiling as soon as I save a
buffer), refactoring, intelligent completion, javadoc hover-help,
class browsing, find callers, error filters, quick fix, etc.

Eclipse also has some nice team features.  You can check in various
project files and anyone who checks out the project will automatically
get the right indentation settings, language compliance settings,
build paths, etc.  Emacs doesn't have anything like this built in; and
generally Emacs doesn't really have a "project" concept the way
Eclipse does (this is both a strength and a weakness of Eclipse).

Eclipse's cvs and svn support is somewhat better than Emacs', at least
as of Emacs 22.  Emacs VC still commits things a file at a time
(changed in cvs, I think).  pcl-cvs is great but (IME) does not scale
well to big projects.

There's also some Eclipse features I haven't explored as much -- mylyn
is the one I'm most curious about.  I don't think Emacs has anything
like this.

Now, in theory none of this is impossible to do in Emacs.  Someone
could, for instance, make the Eclipse compiler talk to Emacs over a
socket and expose all its features in Emacs.  I keep hoping somebody
will do this :-).  I think there's something kinda like this for

I can't compare the Eclipse java debugger with the Emacs one as,
weirdly, I haven't used either.  I also have never used JDEE in Emacs
(a big oversight).


reply via email to

[Prev in Thread] Current Thread [Next in Thread]