Great read.
I think the subtle and common implication that Lisp isn't widely adopted because it's suited to the smart, brave, and experienced, and that the majority of programmers aren't these things, is wrong. Lisp suffers from too much of a good thing, expressiveness, and not enough of a "bad" thing, opinion. The post intends to consider things like this, but still parrots its forefathers by placing Lisp's failure on the supposed weak hands of the market and leverages relativism to avoid concluding that Lisp sucks in substantial ways.
Modern software is collaborative and when everyone has their own preferred way of doing things, none of which is clearly better, composing complex systems from everyone's unique self-expression in code is chaos. Lisp shines when individuals can own entire verticals of a system and are committed to maintaining them, but is impossible to use in a world where programmers are composing code from the work of tens of thousands of people.
Lisp is only the greatest programming language when transaction costs between collaborators are low or nonexistent which is to say, in modern applications at least, it's practically never the greatest programming language.
this territory is moderated
Modern software is collaborative and when everyone has their own preferred way of doing things, none of which is clearly better, composing complex systems from everyone's unique self-expression in code is chaos.
Under-rated take -- this is why I'm so taken w/ the Perl vs Python attitudes: There's more than one way to do it vs There's one right way to do it. Everyone doing a Grateful Dead style jam session instead of consolidating around a small number of paradigms / patterns / templates is maddening in a collaborative setting. I used to be so guilty of this, inventing all this cool shit that other people didn't understand and wouldn't invest in understanding. For so long I thought they were the ones being dumb.
And yet, if you're the one jamming, and it's you and a small merry crew, what a pleasure.
reply
Have you written code in golang? It's take is nearly there's only one way to do this. Golang removes expressiveness wherever it can.
I swear it's designed to make engineers easy to replace.
reply
in substantial ways
*in a substantial way

I say this all as a huge lisp fan and I know I'm picking a fight with a minor and personal point of the post. I agree with the post's sentiment broadly. I just wish lispers felt that lisp's lack of use might be solvable so I could stop using inferior languages.
reply