From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: Emacs learning curve Date: Mon, 12 Jul 2010 22:53:24 +0200 Message-ID: <87wrt0e81n.fsf@telefonica.net> References: <4C3B6A8A.80105@gmx.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1278968037 4685 80.91.229.12 (12 Jul 2010 20:53:57 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 12 Jul 2010 20:53:57 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jul 12 22:53:54 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 1OYQ0g-00081T-6V for ged-emacs-devel@m.gmane.org; Mon, 12 Jul 2010 22:53:54 +0200 Original-Received: from localhost ([127.0.0.1]:47039 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OYQ0f-0002YK-Eg for ged-emacs-devel@m.gmane.org; Mon, 12 Jul 2010 16:53:53 -0400 Original-Received: from [140.186.70.92] (port=55157 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OYQ0U-0002V4-PC for emacs-devel@gnu.org; Mon, 12 Jul 2010 16:53:44 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OYQ0T-0000QH-Fj for emacs-devel@gnu.org; Mon, 12 Jul 2010 16:53:42 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:44081) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OYQ0T-0000Py-4G for emacs-devel@gnu.org; Mon, 12 Jul 2010 16:53:41 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1OYQ0O-0007qU-Tv for emacs-devel@gnu.org; Mon, 12 Jul 2010 22:53:36 +0200 Original-Received: from 83.42.13.171 ([83.42.13.171]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 12 Jul 2010 22:53:36 +0200 Original-Received: from ofv by 83.42.13.171 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 12 Jul 2010 22:53:36 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 73 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 83.42.13.171 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:CxvYJLSr0cRVK+TCFHLj81BaLnI= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) 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:127121 Archived-At: grischka writes: >> Obviously, there is no reason to choose words perversely (e.g. use >> "red" when we mean green). > > Or use "scroll-up" where it means scroll down, or use "split-horizontally" > where it splits vertically ;) Good one. Sometimes Emacs makes me wonder if I suffer from some type of spatial disability. The Emacs community has a more serious confussion discriminating what's good and what's bad among two opposites, though: A few weeks ago I was required to translate an old, small Visual Basic application to C#. I was less than thrilled with the job, but anyways the first thing was to configure Emacs as a C# editor. There is csharp-mode, which does code formatting. So far, so good. There are two methods for code completion, one based on CEDET and the other on an external tool. The CEDET method was a nonstarter, the other worked so-so. As I'm an absolute beginner on C# and it comes with a vast API, code completion was too much of a time-saver to be neglected. After 3 hours trying to raise Emacs to the minimum usability level, I gave up and tried certain popular IDE, out of despair. 15 minutes later my client's application, on its basic inception, was running on the screen, mostly thanks to an accurate and fast code completion system that not only shows the candidates for completion, but also displays some documentation explaining what every method does. This saves a lot of time browsing documentation. The mentioned code completion system on that IDE is a marvel for beginners but, as it constantly pops on the screen hiding the code below, maybe it is a pain for experienced hackers who know the API well. Of course there is a knob for disabling it. The crux of the matter is that the IDE comes ready to be as helpful as possible for beginners, and adds options for turning features on and off as you adquire experience. This is equivalent to saying that the IDE comes preconfigured for making converts and then it assumes that as those newcomers adquire experience they will learn how to adapt things to their taste. Emacs does just the opposite. See how people on this discussion says "of course the new Emacs user will read the Tutorial etc." I was able to write and run a basic application on a language that I barely know, using a IDE for the first time, in less time that it takes to read the Emacs tutorial. Translating the 5000 LOC Visual Basic application to C# required less time than I needed for learning and configuring Emacs for matching the usability level of my previous editor, ten years ago (and now it wouldn't require much less work.) The GNU project, and Emacs specifically, is about producing Free software for the people. "People" here means all potential audience. In practice, Emacs today is mostly focused on bringing incremental improvements for current users, caring little about the demands and expectations of the rest of world. It is disheartening to see how every time that someone proposes a tiny change on the default configuration for lowering the entry barrier, a vociferous group of reactionaries try to block the initiative, usually winning the fight, just because they don't want to add a line or two to their .emacs file. IMAO the Emacs maintainers should ignore the winning and threatening of those users and focus on making Emacs as attractive as possible to the new generations of hackers. Having gratuitous oddities, expecting a sustained effort from the prospective user until he perceives the virtues of Emacs, being dismissive towards competing tools instead of learning why they are attracting more users than Emacs... is simply wrong. The user who must be happy with Emacs is the user who doesn't know it yet. [snip]