all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Siraphob (Ben) Phipathananunth" <siraben@disroot.org>
To: emacs-devel@gnu.org
Subject: Re: update intro to Emacs Lisp programming
Date: Sun, 20 May 2018 17:49:50 +0700	[thread overview]
Message-ID: <7eb9a17a-47e0-245c-8a33-6960d6ed4b7a@disroot.org> (raw)
In-Reply-To: <5C62F3FC-7B77-43E5-A907-4060DA0E0219@gmail.com>

Richard Stallman wrote:
> This book is intentionally addressed to people who don't know how to
> program.  That is its purpose.  We recommend people start learning to
> program using this book.

I support this purpose.  Since Emacs is a prime example of the benefits of using free software (view source, share, modify, contribute), it is even better introducing this idea to newcomers to programming so that they may see the value of free software.

This project feels similar to when the SICP book (Structure and Interpretation of Computer Programs, a course at MIT that taught Scheme), was overhauled and brought to a more modern form.

The overhauled SICP book is available in Texinfo format (which works inside Emacs).

http://www.neilvandyke.org/sicp-texi/

Alternatively, it was also converted to PDF HTML5 formats, which allows for convenient viewing.
https://github.com/sarabander/sicp-pdf

As Richard said, it would be ideal to have the Introduction to Emacs Lisp serve as an introduction to programming.  SICP's first chapter does this job well, however it is quite mathematically oriented and some of the exercises are difficult for new people.

Some of the exercises in SICP are easily ported to Emacs Lisp, and we can omit sections that focus on Scheme specifically, such as the metacircular evaluator, register machines etc.

SICP also lacks "fun" exercises, so we might adapt some from various sources, for instance, the book "Land of Lisp".  Some fun exercises could be creating a number guessing game, a dunnet-like  text adventure, and more.  Small enough to be doable, while giving instant feedback.  Some of the exercises could be directly related to customizing Emacs, such as writing a mode to color text randomly as one types.

Jean-Christophe Helary wrote:
> 4) there is a need to add a lot more exercices so that the learner can explore a lot more from what has been explained, possibly exercices that relate to "modern" computing domains

For some of the more "modern" exercises it would be helpful to adapt some ideas sources such as Practical Common Lisp.  For instance, using record types in Emacs Lisp to create a database of CDs or books.  Incidentally the book attempts to teach a bit of Emacs' keybindings, modes, and file navigation as well, but in a very limited fashion.

Richard Stallman wrote:
> We still need free books to learn programming from.
> This book is the one we have.
> It needs to be checked to see what changes are needed
> to correspond to the current Emacs,

Many programming books fail to properly address the barrier of using code editing tools, and even worse, sometimes recommend non-free programs, whereas this need not happen with the Introduction to Emacs Lisp, since customizing the editor goes with learning the language.  We ultimately should provide the book as a standalone document, and an interactive tutorial in Emacs.

Jean-Christophe Helary wrote:
> 1) What Richard requested and that is relatively urgent: the Emacs Lisp Introduction should be first checked for factual errors (an expert is needed there),

I agree with this.  A larger rewrite will be necessary at some point to make the Introduction to Emacs Lisp more suitable for learning programming, but for now, mistakes (in the code, prose or otherwise) should be fixed swiftly.

-- 
Siraphob (Ben) Phipathananunth



  reply	other threads:[~2018-05-20 10:49 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-10 12:03 Making Emacs Manuals Available as PDF Files Siraphob (Ben) Phipathananunth
2018-05-10 14:14 ` Jean-Christophe Helary
2018-05-11  4:32   ` Van L
2018-05-11  6:44     ` Eli Zaretskii
2018-05-11 21:44       ` Richard Stallman
2018-05-14 10:27         ` update intro to Emacs Lisp programming (was: Making Emacs Manuals Available as PDF Files) Van L
2018-05-15  3:59           ` Richard Stallman
2018-05-17  0:25             ` Van L
2018-05-17  1:12               ` update intro to Emacs Lisp programming Paul Eggert
2018-05-17 11:38                 ` Jean-Christophe Helary
2018-05-18  2:33                   ` Richard Stallman
2018-05-18 12:16                     ` Jean-Christophe Helary
2018-05-18 13:39                       ` Van L
2018-05-18 15:22                         ` Marcin Borkowski
2018-05-19  0:00                           ` Van L
2018-05-19  0:52                             ` Jean-Christophe Helary
2018-05-20  1:38                               ` Van L
2018-05-20  3:16                           ` Richard Stallman
2018-05-20  3:38                             ` Marcin Borkowski
2018-05-20  6:54                               ` Jean-Christophe Helary
2018-05-20 10:49                                 ` Siraphob (Ben) Phipathananunth [this message]
2018-05-20 23:50                                   ` Van L
2018-05-21  4:12                                   ` Richard Stallman
2018-05-21 15:13                                     ` Eli Zaretskii
2018-05-21 15:55                                       ` Siraphob (Ben) Phipathananunth
2018-05-22  2:15                                         ` Richard Stallman
2018-05-22  2:43                                           ` Eli Zaretskii
2018-05-22  2:15                                       ` Richard Stallman
2018-05-21  4:11                                 ` Richard Stallman
2018-05-21  6:30                                   ` Van L
2018-05-22  2:14                                     ` Richard Stallman
2018-05-22 11:20                                   ` Jean-Christophe Helary
2018-05-22 18:07                                     ` Marcin Borkowski
2018-05-22 19:22                                       ` Filipp Gunbin
2018-05-23  3:27                                       ` Richard Stallman
2018-05-23  5:33                                         ` Marcin Borkowski
2018-05-23 14:38                                           ` John Wiegley
2018-05-23 15:06                                             ` Marcin Borkowski
2018-05-25  2:56                                               ` Richard Stallman
2018-05-24  2:49                                           ` Richard Stallman
2018-05-24  4:24                                             ` Marcin Borkowski
2018-05-26  3:51                                               ` Richard Stallman
2018-05-24 16:25                                       ` Thien-Thi Nguyen
2018-05-30 17:28                                         ` Marcin Borkowski
2018-05-30 18:58                                           ` Thien-Thi Nguyen
2018-05-30 20:17                                           ` John Wiegley
2018-06-02 17:44                                             ` Marcin Borkowski
2018-05-23  3:23                                     ` Richard Stallman
2018-05-20  7:10                               ` Eli Zaretskii
2018-05-20 11:00                               ` Van L
2018-05-21  4:10                               ` Richard Stallman
2018-05-22 17:57                                 ` Marcin Borkowski
2018-05-23  1:53                                   ` Van L
2018-05-19  0:48                         ` Jean-Christophe Helary
2018-05-20  3:15                       ` Richard Stallman
2018-05-18  6:46                   ` Van L
2018-05-19  3:20                   ` Improve the Emacs Lisp Reference Manual with intro sections Richard Stallman
2018-05-20  1:04                     ` Jean-Christophe Helary
2018-05-21  4:09                       ` Richard Stallman
2018-05-18  2:31               ` update intro to Emacs Lisp programming (was: Making Emacs Manuals Available as PDF Files) Richard Stallman
2018-05-18  7:07                 ` Van L

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=7eb9a17a-47e0-245c-8a33-6960d6ed4b7a@disroot.org \
    --to=siraben@disroot.org \
    --cc=emacs-devel@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.