Lisp
/lisp/ · noun · Development · Origin: 1958
Definitions
The second-oldest high-level programming language, pioneering many foundational concepts including tree data structures, automatic garbage collection, dynamic typing, and the idea that code itself is data (homoiconicity). Lisp's influence pervades modern programming, and its macro system remains the gold standard for metaprogramming.
In plain English: A pioneering programming language from the 1950s built on the idea of lists, famous for its parentheses and for inventing ideas that most modern languages now use.
Example: Paul Graham built Yahoo Store in Lisp and turned the language's obscurity into a competitive advantage.
Origin Story
The language made of parentheses and self-referential lists
John McCarthy invented Lisp (LISt Processing) in 1958 at MIT while working on artificial intelligence research. He needed a mathematical notation for writing recursive functions that could also serve as a practical programming language.
Lisp's breakthrough was treating **code as data** -- programs are lists that can manipulate other lists, including themselves. This homoiconicity made Lisp uniquely powerful for metaprogramming. McCarthy's student Steve Russell realized that the theoretical `eval` function could actually be implemented on a computer, creating the first Lisp interpreter.
Lisp's parenthesized prefix notation -- `(+ 1 2)` instead of `1 + 2` -- has been mocked for decades. The joke backronym is "Lots of Irritating Superfluous Parentheses." Yet Lisp pioneered garbage collection, tree data structures, and the REPL, concepts every modern programmer uses daily.
Coined by: John McCarthy
Context: MIT, 1958
Fun fact: Lisp is the second-oldest high-level programming language still in common use (after Fortran). McCarthy originally intended Lisp as a theoretical exercise -- he was surprised when Russell implemented it.