From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tom Tromey Newsgroups: gmane.emacs.devel Subject: Re: Efforts to attract more users? Date: Sat, 10 Jul 2010 13:05:31 -0600 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1278793042 11793 80.91.229.12 (10 Jul 2010 20:17:22 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 10 Jul 2010 20:17:22 +0000 (UTC) Cc: fplemma@gmail.com, joakim@verona.se, emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jul 10 22:17:19 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OXgU5-00014t-LN for ged-emacs-devel@m.gmane.org; Sat, 10 Jul 2010 22:17:17 +0200 Original-Received: from localhost ([127.0.0.1]:38476 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OXgTt-0006oX-EV for ged-emacs-devel@m.gmane.org; Sat, 10 Jul 2010 16:17:01 -0400 Original-Received: from [140.186.70.92] (port=40465 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OXgJg-00009e-RI for emacs-devel@gnu.org; Sat, 10 Jul 2010 16:06:32 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OXfMr-0003vR-S1 for emacs-devel@gnu.org; Sat, 10 Jul 2010 15:05:42 -0400 Original-Received: from mx1.redhat.com ([209.132.183.28]:62677) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OXfMp-0003uo-CG; Sat, 10 Jul 2010 15:05:39 -0400 Original-Received: from int-mx04.intmail.prod.int.phx2.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.17]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o6AJ5YAS015492 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sat, 10 Jul 2010 15:05:34 -0400 Original-Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx04.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o6AJ5Xu2009361; Sat, 10 Jul 2010 15:05:33 -0400 Original-Received: from opsy.redhat.com (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id o6AJ5WBG011614; Sat, 10 Jul 2010 15:05:32 -0400 Original-Received: by opsy.redhat.com (Postfix, from userid 500) id 2CA6B378264; Sat, 10 Jul 2010 13:05:32 -0600 (MDT) X-Attribution: Tom In-Reply-To: (Richard Stallman's message of "Thu, 08 Jul 2010 23:05:31 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) X-Scanned-By: MIMEDefang 2.67 on 10.5.11.17 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:127011 Archived-At: >>>>> "RMS" == Richard Stallman 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