(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 trackExercism is fantastic in learning new languages but that is not the extent of it. If you are a "more experienced" programmer you may have encountered impostor syndrome: the idea you don't really know what you think you know. Exercism lets you solve problems and put them in the space of open feedback which is a tremendous learning opportunity to explore the depth of your own knowledge. Even if you have been programming in a language for awhile it is worth checking into Exercism to see where you stand with current implementation practices.
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 28 exercises on the Emacs Lisp track. You can see all the exercises here.