Whenever a programming language comes out with a new feature, us smug lisp weenies shrug and point out how lisp had that in the early seventies; and if you look at the list of influences of a given language, there is bound to be a lisp in there. In this talk I will try to unpack what makes lisp special, why it is called programming programming language , how it changes one’s thinking, and how that thinking can be applied elsewhere.
3. The Artificial Intelligence people were endeavouring to
write programs that no one knew how to write. The idea
that you could sit down and say: 'Well, here is my
problem, here are the requirements, let me come up with
a specification and now code that up' (was) completely
crazy as far as the AI people were concerned' The only
way to write AI programs, then (as it still is now) was by
taking an exploratory approach to development. The
only way to do it was to experiment. 'Let me try this, let
me add that. Let me try to add this fuzzy concept, let me
try to add a scheduler, let me add agendas, let me add
resources, let me have resource-limitations' ... you're not
constructing it like making a ton of source code and
compiling it periodically, you're constructing it the way
you construct a city: build some of it, it's running all the
time, so it's kind of like a live programming language.
— R. Gabriel
12. “This is possibly Clojure’s most important
property: the syntax expresses the code’s
semantic layers. An experienced reader of
Clojure can skip over most of the code and
have a lossless understanding of its high-
level intent.”
— Z. Tellman, Elements of Clojure