
Learn Emacs Lisp in 15 Minutes (2013) - CodeHustler
http://www.emacs-doctor.com/learn-emacs-lisp-in-15-minutes.html
======
elwell
FTFY: Learn Emacs Lisp _Syntax_ in 15 Minutes

Lisp syntax is simple; the learning curve is in the difference of technique.
I'm assuming the learner is coming from an imperative language background.

~~~
chriswarbo
> I'm assuming the learner is coming from an imperative language background.

Well, Emacs Lisp is pretty imperative: it doesn't optimise tail calls, so
loops are often needed; its distinct namespaces/special-forms for functions
and "values" (which includes anonymous functions) makes functional style less
attractive in some situations; many tasks are achieved through destructive
update of (often temporary) buffers; Emacs itself is controlled by mutating
dynamic or global variables; etc.

I would say Emacs Lisp is much closer to imperative languages like Python,
than it is to syntactically-similar languages like Scheme, for example.

~~~
lispm
> so loops are often needed

I'm a Lisp user and have learned and used Scheme in projects.

I strongly prefer loops over tail recursive iteration. I also prefer higher-
order functions like map/reduce/filter/... over tail recursive explicit
variants.

------
thinkling
I'd love to see this extended to cover the basics of customizing emacs,
especially the structures and techniques involved in modes and mode
customization.

~~~
pzone
M-x customize!

Here's a great website:
[https://www.masteringemacs.org](https://www.masteringemacs.org)

You're right though, a basic "bootstrap your .emacs" tutorial would be very
helpful.

------
Amorymeltzer
The whole [http://learnxinyminutes.com/](http://learnxinyminutes.com/) site is
pretty excellent. There's some variability here and there - I think python
spends too much time on numbers? - but if you're looking to get your feet wet
before hacking about, it's a good resource.

------
davorb
I would recommend doing the exercises in ielm (press M-x and type ielm),
instead of lisp-interaction-mode.

------
sundarurfriend
If the Neovim hadn't existed by now, this would quite probably have convinced
me to switch to Emacs. A sane, and actually _elegant_ , programming language
to interact with my editor? Gasp!

------
ef4
I think the biggest gotcha for people used to other mainstream languages is
the dynamically-scoped variables. Watch out for those. Especially when you
think you're closing over them.

------
systems
any news about emacs-guile?

