Lisp, a high-level programming language that has been around for over half a century, whose age is second only to Fortran, is still considered by many to be one of the most influential programming languages in history.
What makes Lisp so unique compared to other C-like languages? Whereas C starts with low-level assembly instructions and builds up higher and higher levels of abstraction, Lisp starts with a strong mathematical foundation in Lambda calculus and implements it on a machine. This fundamental difference can be felt from the way the language feels.
Lisp is loved for its simplicity and expressiveness. It is easy to learn, yet powerful enough to handle complex computations and logic. Its syntax is based on S-expressions, allowing for flexible manipulation of data structures. And here’s the kicker, Lisp is homoiconic: data is code and code is data. Hence, the language is easy to extend as evidenced by its macro system, and combined with dynamic typing, Lisp provides a highly adaptable programming experience.
Are you intrigued? In this Best Courses Guide (BCG), I’ve selected 15 courses, covering four of the most popular Lisp dialects: Common Lisp, Scheme, Racket, and Emacs Lisp.
Click on the shortcuts for more details:
Here are our top picks
Click to skip to the course details:
What is Lisp?
Lisp is a family of programming languages first developed by John McCarthy and his team of students in 1958 at MIT. It was originally created as a practical mathematical notation for computer programs, which Fortran couldn’t handle, but thanks to a series of clever insights (and some luck), it became one of the most elegant distillations of the principles of computation, attaining a sort of holy reverence in the programming community.
The ingenuity of Lisp comes from the fact that the entire language is defined in terms of itself from a very small set of basic rules (5 primitive operations and 1 conditional expression). What this means is that only six instructions were needed to be written in machine code before fitting them together. Thus amazingly, it took only two years for John McCarthy to complete and publish his famous paper on Lisp.
Lisp stands for “LISt Processor”, as its entire source code is made up of data structures called lists, or S-expressions. This meant that Lisp programs can manipulate and ‘process’ its own source code as data structures, which opened up a world of possibilities for extending the language at one’s own behest. And as AI needed symbolic expressions to represent code as human-readable data and vice-versa, Lisp quickly became the mother tongue of AI researchers.
Many of the ideas in computer science were pioneered by Lisp, from the simplest concepts such as conditionals, recursion, and the REPL, and much more complex concepts like tree data structures, higher-order functions, and garbage collection. Not only that, it heavily influenced the development of programming languages that came after it (JavaScript, Python, Ruby, and C#). Though many languages based themselves on C, over the years they gradually began to incorporate Lispy features into their libraries.
Lisp has changed a lot in the six decades since its early days. Many dialects of Lisp were born and died out. The most popular Lisp dialects, sorted by popularity, are as follows:
- Clojure: A modern, functional programming language designed for concurrency and interoperability with Java. Used by Walmart, Netflix, Cisco, and others
- Common Lisp: A powerful, multi-paradigm language with a rich library of functions and macros, and an interactive development environment. Used in production code at companies like ITA Software by Google, pgloader by PostgreSQL organization, and Rigetti Quantum Computing. Also, a game was created with it
- Emacs Lisp: A dialect of Lisp used to extend the Emacs text editor
- Scheme: A minimalist dialect of Lisp with a focus on simplicity, elegance, and expressiveness
- Racket: A general-purpose programming language descended from Scheme, with a focus on language-oriented programming.
I have not included Clojure in this guide as I have already written a guide on the best Clojure courses. Instead, the best courses of the Common Lisp, Emacs Lisp, Scheme, and Racket will be listed here.
Why You Should Trust Us
Class Central, a Tripadvisor for online education, has helped 60 million learners find their next course. We’ve been combing through online education for more than a decade to aggregate a catalog of 200,000 online courses and 200,000 reviews written by our users. And we’re online learners ourselves: combined, the Class Central team has completed over 400 online courses, including online degrees.
Courses Overview
- This guide contains 4 different Lisp dialects: Common Lisp, Scheme, Racket, and Emacs Lisp
- All of the courses are free, except for one
- The most common provider is YouTube, followed by GitHub, Udemy, and an assortment of independent websites.