🥩 Red Meat Friday: Why Lisp “Lost”

Back in 2018, Steve Losh wrote a very nice, long post on A Road to Common Lisp. If you’re a Lisper, it’s well worth reading. Recently, Alexander_Selkirk posted, without comment, a link to that post.

The last time I wrote about childish reactions to Lisp I got a bit of push back but, it seems, uninformed opinions about Lisp push my buttons. There’s nothing wrong with Losh’s post—it’s great—or with Alexander_Selkirk posting a link so we can revisit it. No. It’s the comments.

They all school us on “why Lisp lost”, taking it for granted that Lisp did lose. Sure, there are many, many more Javascript programmers than Lisp programmers but saying that that means Lisp lost to Javascript is like saying Rolls Royce lost to the Ford Fiesta. Mostly, the reason offered for this loss is, of course, parentheses.

That’s to be expected but one comment is so uniformly wrong about everything that it deserves special mention. It makes three claims:

REPL driven programming is not practical
That will be news to those of us who have used it to great advantage. Not every problem is best addressed this way, of course, but many are and it’s far superior to conventional methods. Anyone who’s tried it knows this.
Macros are overrated
That sounds like someone who is mostly familiar with C “macros”. Certainly no one familiar with Lisp macros would make such a claim.
S-exps are unreadable for no noticeable gains and “good” languages avoid them
This is the sort of argument that leads to XML and other monstrosities. Once you get used to them, s-exps are actually easier to read than the conventional notation because, for example, you don’t need to stop and think about operator precedence.

But the best, absolute best, ridiculous claim is that “C#, Java and Typescript are the new Lisp”. I wouldn’t know where to start with that claim so I’ll let you draw your own conclusions.

This entry was posted in General and tagged , . Bookmark the permalink.