emacs-devel
[Top][All Lists]
Advanced

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

Re: Efforts to attract more users?


From: Tom Tromey
Subject: Re: Efforts to attract more users?
Date: Sat, 10 Jul 2010 13:05:31 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

>>>>> "RMS" == Richard Stallman <address@hidden> writes:

RMS> The Eclipse IDE has some nice features.  Maybe CEDET gives us some of
RMS> them, but maybe we still lack some.

RMS> I saw it once, and it used tabs a lot for switching between
RMS> different views.  We need to be able to do that too.

RMS> Also, one advantage of Eclipse's GUI interface is that it shows you a
RMS> lot of features when they might be useful.  So you don't have as much
RMS> to learn and remember.

I've used both Eclipse and Emacs for long stretches.  For instance, I
did most of my Classpath hacking in Eclipse for about 2 years.

I wouldn't say that perspectives or the GUI are strong features of
Eclipse.  They are ok-ish at best.  The Eclipse editor is notably bad,
but this is compensated for by other features.

I agree with you that the discoverability of Eclipse is better than that
of Emacs.  It still is not super, but it is certainly simpler in Eclipse
to figure out how to check out a new project from a CVS server that
you've never used before -- there is a wizard to walk you through all of
it, including letting you see what modules and branches exist.  (Some of
Eclipse's advantages here have been partially negated by vc-dir.)

The big feature in Eclipse that I loved was its excellent Java
environment.  The compiler works while you type.  It can show errors
immediately, suggest correct completions, show javadoc for the method
named under point in a popup, do simple refactorings.  The TAGS-like
feature is always up-to-date, even when you haven't saved buffers.

The CDT (Eclipse's C/C++ plugin) has similar features, but I have not
used it as much.  In the past it wasn't nearly as good as the Java
support, but I hear it has gotten better in recent years.


I still haven't used CEDET in a real way (my impression is that it is
still mostly a lot of infrastructure and no applications -- ?).  So, I
don't know how it compares.  Once nice thing about the Eclipse compiler
is that it provides both analysis and code-generation, so whenever you
save your buffers you are basically ready to start debugging.  (This is
only true for Java, not for C++.)


My view is that there are a few things holding Emacs back from
Eclipse-like awesomeness.  Here they are in the hopes that someone with
more time than me will fix them :-)

* Lack of any notion of a project.  .dir-locals is a step in that
  direction, but only a small one.  A bunch more things should be
  project-specific:

  * TAGS files.
  * Compilation commands and buffer.
  * Debugger commands and buffer.
  * Bug database searches.  (Emacs has nothing here, but you can
    hack it together with w3m; setting this up should be a lot simpler.)

  I could probably make most of this work already with the right
  buffer-local settings and some lisp hackery.  But, I really shouldn't
  have to.

* TAGS should auto-update at least on buffer save, maybe even dynamically.
  (I've made various failed stabs at this over the years.)

* In Eclipse you can set up a new-file skeleton.  This is nice for new
  users because it means their new files have the correct copyright
  header, etc, without any work.  In Emacs you have to set this up by
  hand.

* More things should be async; in fact, async operation should generally
  be the default, when possible.  Emacs has gotten a lot better here,
  though there is still the occasionally annoying blocking delay.
  Saving buffers is sometimes slow (when VC kicks in to run git status
  or something like that); GNUS is a perennial pain; I think I filed a
  few bugs along these lines.

* In Eclipse, compilation errors show up in the fringe of the
  appropriate buffer.  This is a nice feature.  Eclipse has a second
  non-scrolling fringe that shows markers for the whole buffer; you can
  click on these markers to jump to that position in the code.  So, you
  can see at a glance how many errors there are in a given file.

  In many cases these markers also have a "quick fix" option -- for
  simple errors you can just click and Eclipse will fix your code
  without you having to type at all.

Tom



reply via email to

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