Hacker News new | ask | show | jobs
by submeta 1087 days ago
While your defense of Lisp and its historical significance is admirable, I believe your critique oversimplifies the realities of software development and unfairly caricatures those who favor more mainstream languages. The adoption of a language in commercial settings isn't a dismissal of Lisp's merits, but a pragmatic choice driven by considerations such as maintainability, developer availability, and the robustness of language ecosystems.

It's not about moving "on" from Lisp as if it's outdated, but about moving "with" the ever-evolving field of programming where different languages serve different purposes. Despite Lisp's strengths in exploratory programming, its steep learning curve, and a relative lack of widely used libraries and tools compared to languages like Python or Java, can make it a less practical choice in certain environments.

Moreover, attributing a project's success solely to its initial Lisp prototype overlooks the fact that many different languages could be used to prototype effectively. The successful completion and deployment of any software involve various factors beyond the choice of initial prototyping language.

There's room for a multitude of languages in the programming world, each with their strengths and weaknesses. Dismissing those who choose other languages as simply not understanding Lisp's value is an oversimplification and fails to account for the complex factors that influence language choice in different scenarios.

2 comments

You've been repeatedly making a number of fallacious points here, which can be summarized as:

1. Lisp is a single language, with one fixed set of trade-offs, rather than a large family.

2. Lisp has been around for a long time, and isn't developed any more and has only historic significance. People who work with Lisp are essentially retro-computing hobbyists, not keeping up with what is going on.

With regard to (1) Lisp is a fairly large family, and the members are different from each other. The strength and weaknesses of, say, Gauche Scheme are not the same as those of Armed Bear Common Lisp (to pick a random pair).

There are Lisps that give you general purpose programming on Unix or Windows: multiple programming paradigms and access to the entire platform. Anything the system is capable of doing, you can do it through Lisp.

With regard to (2), there are certainly some people who are into retro-computing in regard to Lisp. For instance, a few people have revived the historic Interlisp iplementation from the 1970. They have it running with its windowing system and all. There is an active trading market for old Lisp hardware like Lisp machines of various kinds. Sure.

By and large though, people who are working with Lisp of any kind for real work are using something contemporary that is being developed. Just like people working with C (also an old language by now) are likely on a recent Clang or GCC, and not Borland Turbo C 2.0 for MS-DOS. Lisp people move on from old Lisp implementation, like they do from old C or Python implementations.

You're dismissing the existence of new Lisp dialects, and of continuing development of existing older implementations.

You're also dismissing the possibility that contemporary Lisp programmers might actually know Python, Go, C# and so on. Including ones who work on maintaining implementations.

People who knows those other things and some kind of Lisp or two probably make better informed decision in regard to whether or not they use Lisp, that those who don't know any Lisp.

I see your points about the wide variety of Lisp languages and their ongoing development (SBCL, Clojure, Racket, Emacs Lisp, for instance). My intention was not to oversimplify Lisp or its significance, but rather to highlight some challenges that may hinder its widespread adoption. I agree that Lisp continues to evolve and that many modern programmers use contemporary versions of the language for real work.

However, despite the ongoing development and evolution of Lisp, it seems that its adoption in commercial settings may still be limited due to factors such as maintainability, developer availability, and the robustness of language ecosystems. I’d be interested to hear your thoughts on how these factors might be addressed to increase Lisp’s adoption in these environments.

I also agree that those who are knowledgeable in both Lisp and other programming languages likely make better-informed decisions regarding language choice. In your experience, how do these programmers navigate the choice between Lisp and more mainstream languages in different scenarios? I look forward to your insights.

> its widespread adoption

Without specifics about what its you're talking about, I have no idea what you're talking about.

What do you understand as Lisp? Does it include Clojure, Janet or Hy?

Every project has its unique struggles.

The adoption of absolutely everything outside of some half dozen popular things is virtually nonexistent. It has nothing to do with their syntax, because the field is full of wannabes striving for popularity of their project, by means of deliberately imitating the syntax of what is popular. It's not working; they're only ruining their project with garbage ideas for nothing.

Most of what is not popular is non-Lisp. Making a non-Lisp is as good a path to unpopularity as making a Lisp.

Some Lisp-likes are integrated into popular run-times and can use their ecosystems. Robustness of the ecosystem is obviously a non-issue for them. They can be used gradually; like a few files of some project written in another language can be in the Lisp-like. That counts as a valid use.

The main factor that influences language choice is not knowing anything else. For large numbers of new programmers, that narrows it down to one, and all other factors become moot. For most others, there is some additional reasoning regarding which of two or three to select.