From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tom Tromey Newsgroups: gmane.emacs.help Subject: Re: Can Emacs beat NetBeans or Eclipse? Date: Mon, 24 Dec 2007 11:14:36 -0700 Message-ID: References: <44dddf400712120600s523bbc84q5a448605a9badb71@mail.gmail.com> Reply-To: tromey@redhat.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1198522036 17963 80.91.229.12 (24 Dec 2007 18:47:16 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 24 Dec 2007 18:47:16 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Dec 24 19:47:29 2007 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1J6sKm-00058N-O0 for geh-help-gnu-emacs@m.gmane.org; Mon, 24 Dec 2007 19:47:29 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J6sKS-00043I-AR for geh-help-gnu-emacs@m.gmane.org; Mon, 24 Dec 2007 13:47:08 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J6sKC-00042w-8U for help-gnu-emacs@gnu.org; Mon, 24 Dec 2007 13:46:52 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J6sK7-000422-JV for help-gnu-emacs@gnu.org; Mon, 24 Dec 2007 13:46:51 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J6sK7-00041z-EV for help-gnu-emacs@gnu.org; Mon, 24 Dec 2007 13:46:47 -0500 Original-Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1J6sK6-0007A4-UD for help-gnu-emacs@gnu.org; Mon, 24 Dec 2007 13:46:47 -0500 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1J6sIS-0001vy-VO for help-gnu-emacs@gnu.org; Mon, 24 Dec 2007 18:45:05 +0000 Original-Received: from 207.189.197.107 ([207.189.197.107]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 24 Dec 2007 18:45:04 +0000 Original-Received: from tromey by 207.189.197.107 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 24 Dec 2007 18:45:04 +0000 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 72 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 207.189.197.107 X-Attribution: Tom User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.990 (gnu/linux) Cancel-Lock: sha1:pUET4KBkyrXKTQGISlZkKxHn0Do= X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:50308 Archived-At: >>>>> "John" == John Wells 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 area. 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 vim... 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). Tom