Common Lisp is one of the oldest programming languages still in active use — and one of the most powerful. It was designed in the 1980s, but its ideas keep showing up in modern languages: first-class functions, macros that rewrite code, an interactive REPL where you change a running program, and a condition system that lets errors be fixed instead of just reported. Learning Lisp is less about the language and more about learning a new way to think about code.
Lisp code is written in parentheses, and that scares people off. But the parentheses are the whole trick: code and data have the same shape, so a program can build and transform other programs. Here is a tiny example:
(defun square (x)
(* x x))
(defun sum-of-squares (a b)
(+ (square a) (square b)))
(print (sum-of-squares 3 4)) ; prints 25
defun defines a function, and every expression is a list: the operator first, then its arguments. Once you read inside-out, the parentheses disappear and you start seeing the structure of the program directly.
Common Lisp is a good language to learn because it teaches ideas no other beginner language teaches well. Macros let you extend the language itself — you can write a when or a loop of your own. The REPL lets you test a function the moment you write it, without compiling or restarting anything. And the condition system lets your program offer restarts when something goes wrong, instead of crashing — a genuinely different way to handle errors.
How to start: install SBCL, the most popular free implementation, and a Lisp-aware editor like Emacs with SLIME, or VS Code with a Lisp extension. Your first project: a small program that reads a list of numbers from the user and prints their squares. After that, try writing a macro — even a tiny one, like a unless that runs code only when a test is false. That single exercise will change how you think about every other language.
Who is it for? Curious programmers, students of programming-language design, AI researchers, and anyone who feels stuck writing the same loops in the same languages. If you only want a job building websites this year, Lisp is not the fastest route — but if you want to understand what programming languages can do, there is no better classroom.
The limits are honest: the job market for Common Lisp is small, the library ecosystem is thinner than Python's, and the parenthesis style puts many people off. Treat it as a mind-expanding second language, not as your only language.
Your first step today: install SBCL, open the REPL, type (+ 2 3), and see 5. Then define square as above and call it. You have just used a language older than the web — and it still feels ahead of its time.
Top comments (0)