[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What makes elisp fun ?
Re: What makes elisp fun ?
Fri, 26 May 2017 21:58:37 +0800
Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)
Jean-Christophe Helary <address@hidden> writes:
> Chassell's introduction really does not manage to make the reader
> enthusiastic about programming in elisp. Maybe it's because it was
> written when people really had to learn *everything* about programming
> concepts since the internet was not so widely spread at the time.
> There are countless people on the web who are super excited about
> Emacs and modes and how all that allows them to be so much better at
> what they do, but most of the things I read about elisp are "elisp is
> what you have to go through to write your .emacs file"... I have yet
> to find just *one* document about elisp that shows some real
> enthusiasm about the language, its features and how it enables users
> to do amazing things (because it also is a Lisp).
> I've read (or started reading) a number of books on Lisp and they
> pretty much all put the emphasis on how simple the syntax is, and on
> how macros are the defining difference between lisp and all the other
> On that note, the macro chapter in the reference does not really
> manage to show users how Lisp macros are so different from any other
> kind of macro system. When you read Graham's Ansi Common Lisp, you get
> right away (p.11) that macros are *the* defining difference between
> Lisp and other languages. On Lisp, or more recently Let Over Lambda
> and even Practical Common Lisp show you right away how important
> macros are.
> I understand that macros are not exactly for beginners... But still
> the way they are introduced for other Lisps really conveys the idea
> that Lisp is a very special language. And really, that message does
> not come through in the Introduction to Emacs Lisp or even in the
> So, besides for the fact that elisp is the Emacs extension language, what
> makes you enthusiastic about it and want to program in it? What makes elisp
> fun for you ?
This is a trick question: the reason elisp is fun is because it's the
Emacs extension language.
Others have mentioned the "coding playground" aspect of Emacs. As you
write code, you have this enormous sandbox to play in, a sandbox where
there's room for anything to happen, and there's a spot to put your
drink down, to boot.
To that I'll add: the built-in help and debugging facilities. I am
continually annoyed that other languages don't have edebug. *Why* don't
they have edebug? Edebug was an essential factor in my progress from a
novice programmer to... wherever I'm at now. Watching the little cursor
go basically taught my brain how code flows. Now I know you're supposed
to do it with printf statements and gdb, but in elisp it's still
comforting to run through my functions with edebug before I go on to