(defun hello (&optional name) "Say hello, optionally to NAME." (let ((greetee (or name "World"))) (concat "Hello, " greetee "!")))
Emacs Lisp is the language at the core of Emacs, the iconic text editor that is at the beginning of the Free Software movement. Emacs is made of more than a million lines of Emacs Lisp, and all the applications that run inside Emacs (IDEs for various programming languages, games, planners, etc.) are written in Emacs Lisp. User preferences are also lists of Emacs Lisp expressions.
Knowing Emacs Lisp is the first step into Lisp, the second oldest programming language still used (just turned 60 in 2018) and also a language that still influences so many other programming languages.
Quoting the creator of Emacs: "Multics Emacs proved to be a great success — programming new editing commands was so convenient that even the secretaries in his office started learning how to use it. They used a manual someone had written which showed how to extend Emacs, but didn't say it was a programming. So the secretaries, who believed they couldn't do programming, weren't scared off. They read the manual, discovered they could do useful things and they learned to program."Join the Emacs Lisp track
Exercism is a great website where I was able to have some very interesting challenges.
Once you join the Emacs Lisp language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.
These are a few of the 27 exercises on the Emacs Lisp track. You can see all the exercises here.