The Art of Lisp and Writing
34 comments
·June 15, 2025chris_armstrong
chris_armstrong
I think the tragedy is that we don't have fluid ways to move between them, that these different development modes (solitary and social, dynamic and static) have produced philosophically and practically incompatible tools and methodologies.
mightyham
Ironically, this author gets the relationship between lisp and writing totally wrong. Lisp may be much more artistic, but programming in Java, for instance, is much more akin to writing than programming in lisp is. Written languages have well established vocabulary and grammar, that cannot be changed or redefined by the writer. The author is completely correct that lisp is more of a "programming medium" than a "programming language", since the language itself can be molded and changed by the programmer in very self-expressive ways. However, he doesn't follow through with this observation to the obvious conclusion that this feature of lisp, as a medium, makes it fundamentally different from human language.
jbmilgrom
I don’t think that’s the right take. Poetry manipulates common grammatical rules and still communicates meaning from the writer to the reader, perhaps in an even deeper way because of that manipulation. Of course in Java and many other programming languages, grammatical errors will simply not compile. LISP is one of those few languages where grammar can change from program to program, much like with poetry
mightyham
Even though there is much more freedom in poetry, it is still defined by a specific set of rules/features: verses, rhythm, stanzas, spacing, meter, and rhyming. It's only because of these restrictions that it is so obvious when writing is or isn't poetry. These features and forms can streched, but unlike lisp they cannot be completely redefined.
KerrAvon
You’ve got to read more poetry before making assertions like this. In practice, the definition is more fluid than that.
Lisp cannot be completely redefined. You can’t avoid parentheses, and if you stray too far from common idiom, you’re no longer writing Lisp, you’re writing something else using Lisp syntactic forms.
monkeyelite
In writing you are free to adopt any structure and style and make new ones.
layer8
In Lisp you are more inventing your own vocabulary and grammar.
pjmlp
When on Gabriel's site, take the opportunity also read about Cadillac, and Foundation for a C++ Environment.
How it became XEmacs, what the Cadillac protocols remind you of on a famous editor currently, the infrastructure for a image like development environment for C++, all around early 1990's.
noelwelsh
I love Richard Gabriel's writing. "The Structure of a Programming Language Revolution" (https://www.dreamsongs.com/Files/Incommensurability.pdf) is both insightful and beautiful.
Douger
Thank you for sharing. It's a shame that while reading this I get the feeling of prose I associate with fiction. Where there's no reason for that to be the case.
noelwelsh
"outside enormous puffed clouds dwelled overhead, lit from beneath by the town of Porto de Galinhas on the Brazilian coast; the smells of burning sugarcane and bitter ocean pushed into my room." is not the kind of sentence one would expect to find in a scientific paper, but I think the paper is improved by it.
EdwardCoffin
The author also has an MFA in poetry
fuzztester
A bit like pg, who also studied fine arts.
azeirah
This was a wonderful read.
It's a bit sad to see that the book he's referring to at the end is a book released in 2003, to which this is the foreword.
Lisp is an incredible experience to write and experiment in, unlike any other language I've ever worked in.
Still, I believe there are many people out in the field that are mostly about "just delivering the spec" or about making money; pragmatists who care not too much about the art behind the software, and I suspect that will always remain the case.
Craftmanship marrying art and mastery is a niche, but that doesn't mean it's not thriving in spaces for enthusiasts.
TacticalCoder
[dead]
holri
I think that Python has inherited a lot (but unfortunately not all) of the artistic qualities of Lisp. So in a sense the artistic dynamic approach of Lisp won given the popularity of Python.
bgwalter
I find Python a pretty rigid and boring language. There are no macros, the syntax is infuriating, it is mostly OO these days.
You can do introspection and access the variables at runtime (using a horrible syntax), but that's it.
I don't see much artistic aspirations in the language or in its creators. Ruby already has a much better metaprogramming story and the code looks more elegant.
Torwald
reply to parent and grandparent:
> Python looks like an ordinary dumb language, but semantically it has a lot in common with Lisp, and has been getting closer to Lisp over time.
> They might even let you use Ruby, which is even more Lisp-like.
auggierose
(2003, with some footnotes added later)
bowsamic
Having developed in a wide variety of different languages in my free time, I really think the idea that languages like lisp and smalltalk give a sense of creative freedom is pretty overblown.
I have realised recently that there are much more concrete barriers to creative expression in coding: many of us are carrying around iPhones that you cannot write applications for, even for yourself, without paying a $100 a year fee. All the ways the language makes you feel means little compared to whether or not you can actually write code for your computer. The person who makes the computer can decide if you are allowed to be creative with it. And, as a society, we have decided (or perhaps been implicitly brainwashed?) to not want to be creative with our computers. In such a situation, the distinction between Java's OOP and Lisp's "computational ideas and expression" means very little.
A bit of a "Stallman was right" moment for me.
f1shy
Both Stallman and Rossman are right (in that regard) as far as I am concerned.
Now I do not mean to be rude, but I want to really drive a point home: what you are saying sounds to me like "Advances in medicine are not so relevant, because medicine is too expensive, and people in Africa cannot pay for it anyway".
You are mixing 2 totally independent things. That Apple exist, with all the bad things (and also the good) has nothing to do with how a programming language is designed. And all things being equal, people can feel more freedom to express their programs in one or other language, independent of what platforms are avaialble to later deploy them.
Note that while today Apple exists, there is Linux, which you can really do anything you want with, with total freedom (except of some little places with blobs if you are purist) but again, nothing to do with programming languages.
coliveira
I think the comment above is applicable because programming is closer to writing than to medicine.
A good example is the web. When it was given to us by Tim-Barnes Lee, the web was a free ecosystem with a simple markup language. But companies like Google decided that this was not a good thing, and now to develop a simple web site you need to know dozens of technologies, otherwise your web page will be considered outdated and disregarded by web search engines.
The same process happened to programming languages, only the ones that could be molded to the needs of large companies were deemed to be "good".
bowsamic
Well they are both relevant to what it means to be creative and what allows for it.
If the king banned painting and someone wrote an article comparing the creative differences between oil and watercolour, I would also then point out that the difference is minute compared to the king banning painting
And that there is a country where painting is allowed does not mean it is not a major restriction for so many of us, or indeed we should not be so individualistic to say “just move”. I care how it affects others, not just me
SomeHacker44
This is a primary reason why I do not use Apple products. I use Windows and Linux on my laptops, and even have a ChromeBook. I use a SteamDeck as a console. I use Android phones, tablets and eReaders. I use Android based TVs and streamers. Even if I never code a line for them, I like that I could.
mark_l_watson
I love your comment, even disagreeing with the first sentence (I used Common Lisp and Swift yesterday - there is a difference for me).
I also don’t like the hurdles of writing private Apple ecosystem apps. Apple may fix this via Playgrounds, not sure though.
I feel captured by Apple’s ecosystem, and that is not a comfortable feeling. Also, Richard is right, we just don’t listen.
bowsamic
It is a scary feeling, and scary to know how much people don’t care
dunefox
And that has what exactly to do with Lisp? Pretty much irrelevant to the language itself.
bowsamic
Well a major topic of the article is about the creativity that lisp affords compared to other languages. I’m pointing out that there are much more ultimate restrictions on creativity than programming language. I.e. whether the “powers that be” even allow you to program
Also looping back to the article, it speaks about how lisp and smalltalk have fallen out of fashion which can explained by the more ultimate loss of permission and desire for creativity
dunefox
That's why you should compare languages in proper environments, not make an irrelevant point about some mobile development platforms.
pjmlp
I rather be creative for mobile devices while using Swift, Objective-C, Java or Kotlin, with their Smalltalk and Lisp influences from Xerox PARC work in what an IDE is supposed to be and language frameworks, than being stuck on the C and C+ mentality[0] that they are the only true way to develop for small devices.
[0] - I really typed C+ and not C++ on purpose.
globular-toast
Stallman was right and that only becomes more clear to me with each day that passes. But there is a big difference between having the legal/technical ability to do something and that being at all practical. I'm becoming increasingly more concerned about the practical aspect rather than the technical.
Take the issue of freedom of speech. While it may be legally protected to various degrees, with the US having one of the strongest protections, is it practical when all communication happens on private platforms with opaque filtering ("moderation")?
I see the same thing in programming freedom. Android might technically be "open source" but it is no more practical to actually hack the software on your Android phone than an Apple phone. Similarly, PCs might be available that are under the complete control of the owners, but you need to be an expert programmer to realise this control.
Lisp is simply a more practical language to begin hacking. Emacs is probably the best example. Everything is there to make it easier to hack. It's not just technically free, it's practically free too.
coliveira
The so called free speech is a technical advantage that gets lost by self-censorship applied by most of the media in the US. A recent example is people (who I disagree with) talking against vaccines, or major movie companies censoring topics that they don't like. This happens all the time.
The author spends a lot time describing programming as a solitary activity (discovery, analysis) using like metaphors (poets, explorers, etc) and draws his conclusions thus, emphasizing the malleability of LISPs and Smalltalk as ideal for this task.
I think the author examining the fads of agile or XP would draw quite opposite conclusions if they observed programming as a social activity, building a shared knowledge and understanding that is constantly refined before it is "abandoned" as a piece of software.