emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: update intro to Emacs Lisp programming


From: Siraphob (Ben) Phipathananunth
Subject: Re: update intro to Emacs Lisp programming
Date: Sun, 20 May 2018 17:49:50 +0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0

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 via email to

[Prev in Thread] Current Thread [Next in Thread]