all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Tom Tromey <tromey@redhat.com>
To: Miles Bader <miles@gnu.org>
Cc: esr@thyrsus.com, esr@snark.thyrsus.com,
	Eli Zaretskii <eliz@gnu.org>,
	emacs-devel@gnu.org
Subject: Re: What a modern collaboration toolkit looks like
Date: Tue, 01 Jan 2008 12:43:52 -0700	[thread overview]
Message-ID: <m3bq85cow7.fsf@fleche.redhat.com> (raw)
In-Reply-To: <87fxxi1k4k.fsf@catnip.gol.com> (Miles Bader's message of "Tue\, 01 Jan 2008 09\:10\:03 +0900")

>>>>> "Miles" == Miles Bader <miles@gnu.org> writes:

Miles> These people apparently treat software as some kind of fashion
Miles> contest.  Do you expect us to put any stock in what they say?

I tell all my friends that I work in a fashion industry :-).  How else
to explain the long parade of fads and silver bullets, or at least
silver-handled six-shooters?  But seriously...


A couple years ago, after using and loving Emacs for 15 years, I moved
all my Java development into Eclipse.  I did this despite the facts
that Eclipse's editor is amazingly bad and its UI is clunky and
impossible to customize.

The reason I did this is that Eclipse provides a number of compelling
features which Emacs does not.  At least, it does for Java -- for
other programming languages it is not nearly as useful, IME.

* An integrated Java compiler that knows about your whole project.
  This has a number of nice implications:

  * No more waiting.  It compiles while you type.  When you save a
    file you are ready to run your tests immediately.
  * Class browsing, call hierarchy information ("find all callers of
    this method"), intelligent completion, documentation and API help
    while you type.
  * Refactoring.  E.g., a simple one is "rename this class".  If you
    rename into a different package it will update all users, all
    import statements, etc.  (There are lots of nice refactorings.)
  * Quick fix.  Certain common problems (warnings and whatnot) can
    come with a fix, you click and Eclipse fixes your code.
  * Will write the Javadoc "skeleton" for you, so you can just fill in
    the details.
  * A problem view.  I loved this.  Instead of compiling and then
    stepping through errors and warnings, the view shows everything,
    is always up-to-date, and is filterable.

* Eclipse knows about projects, and you can easily share settings with
  other developers.  (This is what inspired my as-yet-unfinished
  "project.el" hacks.)  This means that getting a new developer
  up-and-running is extremely easy.

  Combined with the integrated compiler and build setup, usually a
  developer can check out a project and immediately have it be built
  and be ready to work.  You can check in launchers so that common
  test or debug invocations are automatically available after
  checkout.

  Many features are trivial to restrict to the current project -- the
  problem view, searches, browsing, file-name completion.  In Emacs
  most things are global by default -- you can run a single gdb,
  find-tag uses a global tags buffer, etc.

* The version control UI is much friendlier than VC.  At least, that
  is true as of a couple weeks ago.

Newer versions have bugzilla integration, and task-based ways to
filter what you work on and see ("mylyn" -- I still haven't played
with this).

The above is necessarily a brief list.  I can go into more detail if
you really want.  Basically, for Java, Eclipse changed the way I work.

It pained me to make this move.  I love Emacs.  But, Emacs doesn't get
the same level of investment, and at the time appeared from the
outside to be dead (no release in years).

None of these features is impossible to implement in Emacs.  In fact
many could probably be done by reusing Eclipse's Java compiler.


Another interesting IDE to look at is NetBeans.  I've used it a lot
less than I used Eclipse, and it seemed to have fewer killer features.
But I went to JavaOne last year and saw something really interesting
-- every new technology introduced during a keynote came with a
corresponding NetBeans plugin.  And, you could get started using that
technology *immediately* by going to some online NetBeans repository
(accessible directly in the IDE) and downloading the plugin.

This is, more or less, where ELPA came from.  The idea is simple --
your IDE won't ever contain absolutely everything, so make it trivial
to fetch and install helpful packages.  (Eclipse also has a plugin
downloader, though it is pretty bad.)


Anyway, the bar for a programming editor is much higher now than when
I started using Emacs.  Nowadays intelligent completion, API help,
browsing, and refactoring are the baseline.  Emacs does some of these
in some modes -- elisp is the best example; lisp-complete-symbol and
eldoc are quite nice -- but for most modes this stuff is either
missing, or the defaults are wrong.


I hope you don't mind that I don't enumerate Emacs' many advantages.
There are tons of them.  Emacs is very, very strong at the mechanics
of editing, and it is very simple to extend (lisp may be weird or
whatever, but even a trivial Eclipse plugin is really hard).  However,
while Emacs rocks at these things, the IDEs have been working hard to
intelligently analyze source and apply this understanding in useful
ways.


HTH,
Tom

  parent reply	other threads:[~2008-01-01 19:43 UTC|newest]

Thread overview: 277+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-30 12:22 What a modern collaboration toolkit looks like Eric S. Raymond
2007-12-30 15:32 ` Thien-Thi Nguyen
2007-12-30 15:42 ` Richard Stallman
2007-12-30 17:22   ` Eric S. Raymond
2007-12-30 20:25     ` Robert J. Chassell
2007-12-30 21:55     ` Nick Roberts
2007-12-30 22:25       ` Lennart Borgman (gmail)
2007-12-30 22:58         ` Richard Stallman
2007-12-30 22:58     ` Richard Stallman
2007-12-31  2:58       ` Eric S. Raymond
2007-12-31 12:14         ` Thien-Thi Nguyen
2008-01-01 23:57           ` John S. Yates, Jr.
2008-01-02  1:46             ` Thien-Thi Nguyen
2007-12-31 22:29         ` Richard Stallman
2008-01-01  0:19           ` Leo
2007-12-31  4:31 ` Eli Zaretskii
2007-12-31 13:07   ` Eric S. Raymond
2007-12-31 20:57     ` Eli Zaretskii
2007-12-31 21:41       ` Eric S. Raymond
2007-12-31 23:00         ` Nick Roberts
2008-01-01  0:50           ` Eric S. Raymond
2008-01-01  4:22             ` Eli Zaretskii
2008-01-01  6:20               ` Eric S. Raymond
2007-12-31 23:12         ` Eli Zaretskii
2008-01-01  0:27           ` Dan Nicolaescu
2008-01-01  3:00             ` Mike Mattie
2008-01-01  7:57               ` Drew Adams
2008-01-02 19:28               ` Agustin Martin
2008-01-03  9:50               ` Richard Stallman
2008-01-05  3:34                 ` Mike Mattie
2008-01-06  8:09                   ` Richard Stallman
2008-01-03  9:50               ` Richard Stallman
2008-01-01 20:44             ` Eli Zaretskii
2008-01-02  4:17               ` Dan Nicolaescu
2008-01-05 10:48                 ` Eli Zaretskii
2008-01-01  0:57           ` Eric S. Raymond
2008-01-01  4:21             ` Eli Zaretskii
2008-01-01  0:10         ` Miles Bader
2008-01-01  1:06           ` Eric S. Raymond
2008-01-01  1:41             ` Miles Bader
2008-01-01  2:16               ` Eric S. Raymond
2008-01-01 19:43           ` Tom Tromey [this message]
2008-01-01 21:11             ` Nick Roberts
2008-01-02  0:25             ` Miles Bader
2008-01-02  1:12               ` Tom Tromey
2008-01-02 17:19                 ` On-the-fly compiling (was Re: What a modern collaboration toolkit looks like) Mark A. Hershberger
2008-01-02 20:57                   ` On-the-fly compiling Stefan Monnier
2008-01-02 22:33                     ` Lennart Borgman (gmail)
2008-01-02 23:09                   ` Tom Tromey
2008-01-02  9:53             ` What a modern collaboration toolkit looks like Richard Stallman
2008-01-01 11:28       ` Tassilo Horn
2008-01-01 20:36         ` Eli Zaretskii
2008-01-02  0:29           ` Miles Bader
2008-01-02  4:14             ` Eli Zaretskii
2008-01-02  4:33               ` Miles Bader
2008-01-02  8:24                 ` Werner LEMBERG
2008-01-02  8:20           ` Tassilo Horn
2008-01-03  9:50             ` Richard Stallman
2008-01-03 13:15               ` Ævar Arnfjörð Bjarmason
2008-01-04 13:56                 ` Stefan Monnier
2008-01-02  8:41           ` tomas
2008-01-03  9:50         ` Richard Stallman
2008-01-03 10:16           ` Miles Bader
2008-01-05  5:55             ` Richard Stallman
2008-01-05  6:59               ` Óscar Fuentes
2008-01-05 15:29                 ` Eli Zaretskii
2008-01-05 19:53                   ` Óscar Fuentes
2008-01-06  8:09                 ` Richard Stallman
2008-01-05  8:55               ` David Kastrup
2008-01-05  9:55                 ` Werner LEMBERG
2008-01-05 15:23                 ` Eli Zaretskii
2008-01-05 15:31                   ` Lars Magne Ingebrigtsen
2008-01-05 15:39                   ` David Kastrup
2008-01-06  8:09                 ` Richard Stallman
2008-01-06  9:51                   ` tomas
2008-01-06 11:02                   ` David Kastrup
2008-01-06 12:05                     ` Robert J. Chassell
2008-01-06 12:40                       ` David Kastrup
2008-01-06 16:51                         ` Robert J. Chassell
2008-01-06 17:03                           ` David Kastrup
2008-01-07  4:18                         ` Richard Stallman
2008-01-05 22:46               ` Stefan Monnier
2008-01-06 18:09                 ` Richard Stallman
2008-01-07 17:17               ` Gregory Collins
2008-01-07 23:21                 ` Stephen J. Turnbull
2008-01-08  0:25                   ` Gregory Collins
2008-01-08  0:51                     ` David Kastrup
2008-01-08  2:43                       ` Mike Mattie
2008-01-08  3:03                         ` YAMAMOTO Mitsuharu
2008-01-08  4:25                           ` Mike Mattie
2008-01-08 19:07                 ` Richard Stallman
2008-01-03 10:32           ` David Kastrup
2008-01-01 17:11     ` Alan Mackenzie
2008-01-01 18:05       ` Werner LEMBERG
2008-01-01 18:27         ` Alan Mackenzie
2008-01-01 18:28           ` Werner LEMBERG
2008-01-02  9:53             ` Richard Stallman
2008-01-02 10:36               ` Werner LEMBERG
2008-01-02 12:23                 ` Eric S. Raymond
2008-01-04  5:27                 ` Richard Stallman
2008-01-02 11:27               ` Thien-Thi Nguyen
2008-01-02 12:17               ` Eric S. Raymond
2008-01-03  1:26                 ` Stephen J. Turnbull
2008-01-03  2:49                   ` Eric S. Raymond
2008-01-04  5:27                 ` Richard Stallman
2008-01-04  5:35                   ` Miles Bader
2008-01-04 12:47                     ` Eric S. Raymond
2008-01-05 14:30                     ` Richard Stallman
2008-01-06  1:10                       ` Miles Bader
2008-01-04 12:45                   ` Eric S. Raymond
2008-01-05 14:30                     ` Richard Stallman
2008-01-05 15:29                       ` Eric S. Raymond
2008-01-05 15:59                       ` Andreas Schwab
2008-01-06  2:14                         ` Mike Mattie
2008-01-03  1:08               ` Giorgos Keramidas
2008-01-03  2:56                 ` Eric S. Raymond
2008-01-03  3:18                   ` Giorgos Keramidas
2008-01-04  5:27                 ` Richard Stallman
2008-01-04  8:51                   ` David Kastrup
2008-01-05 14:30                     ` Richard Stallman
2008-01-05 15:28                       ` David Kastrup
2008-01-06 10:46                         ` Richard Stallman
2008-01-06 11:10                           ` David Kastrup
2008-01-07  4:18                             ` Richard Stallman
2008-01-07  4:36                               ` dhruva
2008-01-07  4:52                               ` Sam Steingold
2008-01-07  5:09                                 ` dhruva
2008-01-07  8:17                                 ` David Kastrup
2008-01-07 15:37                                   ` Stefan Monnier
2008-01-07 15:47                                     ` David Kastrup
2008-01-07 16:22                                       ` Stefan Monnier
2008-01-07 17:09                                         ` David Kastrup
2008-01-07 15:40                                 ` CHENG Gao
2008-01-07 23:36                                   ` Stephen J. Turnbull
2008-01-08  4:31                                     ` CHENG Gao
2008-01-08  5:07                                     ` Mike Mattie
2008-01-08  2:56                                   ` Mike Mattie
2008-01-08  9:37                                     ` Andreas Schwab
2008-01-07  5:16                               ` Jason Earl
2008-01-07 17:16                                 ` Richard Stallman
2008-01-07 17:45                                   ` Gregory Collins
2008-01-08 19:07                                     ` Richard Stallman
2008-01-08 19:50                                       ` Miles Bader
2008-01-13 20:06                                       ` Giorgos Keramidas
2008-01-14 11:28                                         ` Richard Stallman
2008-01-07 21:28                                   ` Jason Earl
2008-01-07  8:15                               ` David Kastrup
2008-01-07  8:33                                 ` Giorgos Keramidas
2008-01-07 23:50                                   ` Stephen J. Turnbull
2008-01-05 21:11                       ` Stephen J. Turnbull
2008-01-06 18:08                         ` Richard Stallman
2008-01-07  9:35                       ` Piet van Oostrum
2008-01-01 20:53         ` Nick Roberts
2008-01-02  9:53           ` Richard Stallman
2008-01-02 12:24             ` Eric S. Raymond
2008-01-02 15:19               ` David Kastrup
2008-01-02 20:35                 ` Karl Fogel
2008-01-02 19:19                   ` Andreas Schwab
2008-01-02 19:23                   ` Romain Francoise
2008-01-03  1:18                 ` Giorgos Keramidas
2008-01-03  7:55                   ` David Kastrup
2008-01-02  9:53         ` Richard Stallman
2008-01-02 10:03           ` David Kastrup
2008-01-02 10:05           ` Tassilo Horn
2008-01-02 11:31             ` Alan Mackenzie
2008-01-02 11:28               ` Tassilo Horn
2008-01-02 14:26           ` Óscar Fuentes
2008-01-02 19:48             ` Karl Fogel
2008-01-02 18:43               ` Andreas Schwab
2008-01-02 22:10               ` Alfred M. Szmidt
2008-01-03  2:58                 ` Karl Fogel
2008-01-03  1:21               ` Giorgos Keramidas
2008-01-03  9:14                 ` Andreas Schwab
2008-01-03 10:57                   ` Giorgos Keramidas
2008-01-01 19:37       ` Eric S. Raymond
2008-01-01 21:46         ` Alan Mackenzie
2008-01-01 22:49           ` Eric S. Raymond
2008-01-02 17:05             ` Mark A. Hershberger
2008-01-03  9:49             ` Richard Stallman
2008-01-02  8:35           ` Tassilo Horn
2008-01-02  5:54         ` John S. Yates, Jr.
2008-01-02 11:52           ` Eric S. Raymond
2008-01-03  9:50           ` Richard Stallman
2008-01-02  8:51         ` tomas
2008-01-02  9:53         ` Richard Stallman
2008-01-01 22:01       ` Romain Francoise
2007-12-31 13:11 ` Alan Mackenzie
2007-12-31 13:24   ` Miles Bader
2007-12-31 13:44     ` Alan Mackenzie
2007-12-31 15:45       ` Eric S. Raymond
2007-12-31 15:14     ` Juanma Barranquero
2007-12-31 15:31     ` Eric S. Raymond
2007-12-31 15:25   ` Eric S. Raymond
2008-01-01 20:34     ` Alan Mackenzie
2008-01-01 20:57       ` Eric S. Raymond
2008-01-02  9:53         ` Richard Stallman
2008-01-02 12:29           ` Eric S. Raymond
2008-01-02 12:59             ` dhruva
2008-01-02 13:11               ` Miles Bader
2008-01-02 13:17               ` Tassilo Horn
2008-01-02 13:49                 ` David Kastrup
2008-01-04  5:28                   ` Richard Stallman
2008-01-04  7:03                     ` John S. Yates, Jr.
2008-01-05 14:29                       ` Richard Stallman
2008-01-02 13:48               ` Werner LEMBERG
2008-01-02 13:56                 ` dhruva
2008-01-02 14:55                 ` Eric S. Raymond
2008-01-03  1:13                 ` Giorgos Keramidas
2008-01-02 14:50               ` Eric S. Raymond
2008-01-19 17:45 ` Jari Aalto
2008-01-20  2:59   ` dhruva
2008-01-20  5:10     ` Miles Bader
2008-01-20  5:36       ` Juanma Barranquero
2008-01-20  6:03         ` Miles Bader
2008-01-20 19:28           ` Eli Zaretskii
2008-01-20 20:42             ` Juanma Barranquero
2008-01-20 20:17           ` Juanma Barranquero
2008-01-20 20:28           ` Juanma Barranquero
2008-01-21  2:11             ` Miles Bader
2008-01-21  2:38               ` Karl Fogel
2008-01-21  2:49                 ` Miles Bader
2008-01-21  3:06                   ` Nick Roberts
2008-01-21  3:17                     ` Miles Bader
2008-01-21  3:26                     ` Stephen J. Turnbull
2008-01-21  3:16                   ` Glenn Morris
2008-01-21  4:11                     ` Nick Roberts
2008-01-21 10:00                     ` Thien-Thi Nguyen
2008-01-21  2:41               ` Juanma Barranquero
2008-01-21  3:01               ` Nick Roberts
2008-01-21  9:07   ` Richard Stallman
2008-01-21 15:51     ` Dan Nicolaescu
2008-01-21 17:37       ` Miles Bader
2008-01-21 17:53         ` Tom Tromey
2008-01-21 20:06           ` Stefan Monnier
2008-01-21 19:50             ` Tom Tromey
2008-01-22  0:33         ` Dan Nicolaescu
2008-01-24 14:43     ` Mark A. Hershberger
2008-01-24 15:00       ` Juanma Barranquero
2008-01-24 15:34         ` dhruva
2008-01-24 19:52           ` Stephen J. Turnbull
2008-01-25  0:43             ` Juanma Barranquero
2008-01-25 22:47             ` Richard Stallman
2008-01-25 23:13               ` Alfred M. Szmidt
2008-01-25 23:36                 ` Miles Bader
2008-01-27  0:45                   ` Richard Stallman
2008-01-27 17:39                     ` David Kastrup
2008-01-27 20:06                       ` Nick Roberts
2008-01-27 22:21                         ` David Kastrup
2008-01-27 23:58                         ` Johan Bockgård
2008-01-28  7:17                         ` Richard Stallman
2008-01-28  7:17                         ` Richard Stallman
2008-01-28  7:57                           ` GNU Project [was: Re: What a modern collaboration toolkit looks like] Nick Roberts
2008-01-28 21:32                             ` Richard Stallman
2008-01-28  7:18                       ` What a modern collaboration toolkit looks like Richard Stallman
2008-01-28  7:30                         ` David Kastrup
2008-01-28  9:18                           ` Stephen J. Turnbull
2008-01-28 21:32                           ` Richard Stallman
2008-01-26  1:23                 ` Thomas Lord
  -- strict thread matches above, loose matches on Subject: below --
2008-01-01  3:09 Nick Roberts
2008-01-01  6:24 ` Eric S. Raymond
2008-01-03 20:32 Trey Jackson
2008-01-04  9:46 ` dhruva
2008-01-05 13:36   ` Eli Zaretskii
2008-01-05 15:04     ` dhruva
2008-01-05 15:13       ` Eli Zaretskii
2008-01-06  1:17     ` Miles Bader
2008-01-04 13:43 ` Gianluca Della Vedova
2008-01-05 14:30 ` Richard Stallman
2008-01-06  5:03   ` Trey Jackson
2008-01-06  6:58     ` Nick Roberts
2008-01-07  4:57       ` Trey Jackson
2008-01-07  5:54         ` Nick Roberts
2008-01-06 18:09     ` Richard Stallman
2008-01-07  5:16       ` Trey Jackson
2008-01-07  6:15         ` Nick Roberts
2008-01-07 15:41         ` Stefan Monnier
2008-01-29  5:43 Werner LEMBERG

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m3bq85cow7.fsf@fleche.redhat.com \
    --to=tromey@redhat.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=esr@snark.thyrsus.com \
    --cc=esr@thyrsus.com \
    --cc=miles@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.