From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Eduardo Ochs Newsgroups: gmane.emacs.devel Subject: Re: GNU Emacs raison d'etre Date: Fri, 15 May 2020 23:43:13 -0300 Message-ID: References: <5230692c-c665-a330-7a12-e59fa25d97dd@gmail.com> <70bb51fd-447d-928c-4d69-1c9673a44471@online.de> <871rnnvmdx.fsf@red-bean.com> <87pnb7sira.fsf@red-bean.com> <06bcddd4-6991-e4f7-e944-93de14af263d@yandex.ru> <87h7wjsd8o.fsf@red-bean.com> <20897f01-122d-7f91-eac2-70f5ad75796f@yandex.ru> <87d077qfmm.fsf@red-bean.com> <874ksglvsd.fsf@red-bean.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="87629"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Dmitry Gutov , andreas.roehler@online.de, Richard Stallman , Emacs developers To: Karl Fogel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat May 16 04:44:06 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jZmo2-000Mh8-Gm for ged-emacs-devel@m.gmane-mx.org; Sat, 16 May 2020 04:44:06 +0200 Original-Received: from localhost ([::1]:33076 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jZmo1-0007EW-Hv for ged-emacs-devel@m.gmane-mx.org; Fri, 15 May 2020 22:44:05 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44422) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jZmnT-0006Yr-8F for emacs-devel@gnu.org; Fri, 15 May 2020 22:43:31 -0400 Original-Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644]:39173) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jZmnQ-0006QM-0y; Fri, 15 May 2020 22:43:30 -0400 Original-Received: by mail-pl1-x644.google.com with SMTP id s20so1671605plp.6; Fri, 15 May 2020 19:43:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jHxSx6uNBpRnYxVXHCvNWb4D/jfiiWd+vdIirMkO0kw=; b=AHo55W23S6ZRxXo5r9cW4LFjO0GYlgzSwDB36L4HZG2uZcHwMruY8OZFLSW/MmX4zJ kqjqY+DpFFwsML0lnEU+kQQowpljTjIJrqstKwMgV63larZRoNkN/vIIvWzO+GwjhaCI NdGJThTEXlMC6M1UAh3wKGCpxeq7KeB5dztbU1ctqPatbtX0KhoQ7/yMwYm1CjTvyhmj qaiT3hlAH2FmpO+j8WmMYq5vEFnj4jnuFclErTNOv4r96p9vel/iGOHEQGE2Cx179IKS hcn5UMILgui7FAwPaYqdpK0OIVWtU6zY5/D4J/HZS27kHqPAAN7DIoHiYppsq4OZotiT hrFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jHxSx6uNBpRnYxVXHCvNWb4D/jfiiWd+vdIirMkO0kw=; b=XrEqzvX2/JBNfCBbqmLI8VQ71x/Zkml4YLcR6yj933Q/ifnXC0EsqlP30HFMaWsPO0 yAYfxL4kMk+WrHuX+5asOZXM0VGPcO901K3jkk7MPjyRvPwXdRzMFhmaHy3jv0J2xJRF s0hSZ+++E/sg/+F3nEoIyUVpE0w+qx4YLAdDpwuLB1c80X5PAXBcwuKF/biBxy4+cTSI CoV0N0P6i45v7fLitwJMMZfF/iMxkjuZicTalJlMNI1hZZ+2zk1S7hjG22Ydmx95BR/7 ydYdfG817Nz1Gbqj+dMS1RXzd5fzKmYkWV4WkJb6MbTBcYDR1dBO3Mn99R/idia3r5wz QE0w== X-Gm-Message-State: AOAM533VN1Y12vCjADF3KJ4+E4My9pCKuYdLVa/1llxPGrt8hxU8ACR3 LfWB5/YbAEiF6nrHSCG1nQfhbC5hBCE0qFIHFF4= X-Google-Smtp-Source: ABdhPJwm3K8gu3TDXxiFaZoy6Atco5IzOvGlX80CGXQCMLx1ShSBUyals4bx+qqCsnyKkV8UqTvS4F1+6J5Kp+OPRBc= X-Received: by 2002:a17:902:c113:: with SMTP id 19mr6227989pli.95.1589597005162; Fri, 15 May 2020 19:43:25 -0700 (PDT) In-Reply-To: <874ksglvsd.fsf@red-bean.com> Received-SPF: pass client-ip=2607:f8b0:4864:20::644; envelope-from=eduardoochs@gmail.com; helo=mail-pl1-x644.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:250440 Archived-At: On Fri, 15 May 2020 at 18:43, Karl Fogel wrote: > > Different people will naturally learn at different rates, depending > on their aptitude and environment. The best environment is to have > an Emacs expert nearby in person, who can occasionally watch the > newcomer edit and point out faster ways to do things, point out ways > to ask Emacs for help, etc. But even in that kind of environment, > with a talented newcomer, I don't think I've seen it take less than > approximately a year to get to the point where they are doing better > with Emacs than they would have done with some less extensible, less > capable text editor. The fun factor is getting absent from the discussion. Let me bring it back in. 1. == When I started using using Solaris in a laboratory in the university in the mid-90s I tried to learn vi - and for me that was torture. After some time I bought a 386 and a CD with one of the first GNU/Linux distributions, and I tried Emacs. No computers in the university had Emacs - all the sysadmins were against it. After a few hours playing with Emacs I found how to write my own .el files and execute them. After a few days I found C-x C-e and I was mind-blown by it. That was in the beginning of my holidays, and after that during two months I spent practically all my time awake playing with Emacs and using it to learn how use the GNU/Linux system that came with it. Why? Because it was fun. 2. == In 2019 I had two opportunities to teach Emacs to friends who are professional programmers (note: I don't interact much with professional programmers in real life). It wouldn't work to show to them what Emacs is capable of doing, to tell them that they would be able to use Emacs for everything if they would invest 2000 hours in that, or to show them that Emacs is a better _editor_ than their favorite editors, that were vim and VSCode - especially because I am not a very proficient user of Emacs-the-editor myself... ...so I helped them install Emacs in their machines, showed them the basic ideas of Lisp, showed them how to open tutorials that were 80% about Emacs-the-Lisp-environment and only 20% about Emacs-the-editor, and helped them to follow the explanations, instructions, and exercises. They loved it. 3. == A few days ago I discovered, reading discussions in this mailing list, that I am not the only old-timer who has found Org difficult to learn, and who has learned only tiny bits of it even after struggling with it a lot. I think that I found Org hard because learning it was not fun in the same sense as learning Emacs was... I found the examples in the manual very hard to run, and the feature of Org in which I was most interested - code blocks - depended on many concepts that were treated as black boxes. We are trying to discuss what could make Emacs more appealing, easier to learn, etc, etc, and how answers to these questions could become features, videos, and tutorials. There are several very different ways to make features, videos, and tutorials that are "good". Some of these ways are very common now - powerful features, very smart "Do what I mean" buttons, well-produced videos with smiling presenters, with promises of productivity, fame, and fortune... but there are some ways of making "good" things that were very common some decades ago, but now are less so: the main key terms are "elegance" and "hackeability". I have even tried to make an experimental/prototype-ish tutorial for Org following these ideas, but I didn't get very far. I even asked some questions in the Org mailing list in nov/2019 and got answers for them, but my original plan was to write a handful of new functions for Org that would show the sub-actions of running `C-c C-c' on a code block - see: (info "(org)Evaluating code blocks") but I found the source code too hard to understand, and gave up after some days. There are also other parts of Emacs that I tried to understand but gave up - for example, I've never been able to understand how to use edebug, and I've only been able to learn the most basic things about eshell, but a few days ago Sacha Chua posted this video in her Emacs News, and this gave new hopes... http://www.youtube.com/watch?v=L1f2tulD9N8 Maybe we can try to coordinate people who have similar notions of "good", "fun", "elegant", and "hackable", and try to form groups to discuss and write tutorials?... I have the impression that these tutorials can yield good material for discussion with people outside the groups of writers - including package authors... Cheers, Eduardo Ochs http://angg.twu.net/emacsconf2019.html http://angg.twu.net/emacs.html