This may be of interest: <https://guyren.me/2025/0...
# share-your-work
g
x
Great essay. My issue with the romanticizing of lisp, smalltalk in particular is that, it takes of lots of real world usage to get programming languages right. These languages always thought of "games" or "performance" as an afterthought. Nor do these languages try to address the users problems. Lisp is next to useless for most tasks except simulation systems where it competes with Mathematica and MATLAB; MATLAB being much easier to use and performant. The reason why C is successful is because they used it in the real world. Mundane practicality often beats theoretical brilliance.
g
I’m not a LISP user but I know that LISP is not even close to “useless for most tasks”. It has libraries for just about anything. My theory as to why LISP is not widely used is that it is too powerful — this is wonderful in the hands of a skilled user, but industrial at-scale code writing by large groups of programmers are better off with a more limited language like Java. It is easier to write bad code in LISP.
LISP is also quite performant.
j
If you ever book a flight it’s probably via a Conmon Lisp program that Google acquired for $750M. Lisp also runs on off-world vehicles, is the implementation language for the largest online bank in South America, was used to model the face of Gollum in the LoTR movies, &c, Weird to see such confidently stated ignorance on this forum…
s
Super interesting! I'm right there with you about the demand for software engineering work going way up even if it's a bit different than how we look at it now. One thing that jumped out to me in your Markets section - I've been going down a similar line of thinking, though have mostly been looking at Coordination being a limiting factor on the size of the firm - so if the cost of coordination goes down and becomes more effective, wouldn't it be possible (and more profitable!) to have more employees than before, making it possible to have even larger firms?
g
I think what you’ll need fewer of is managers. I talked about how the CEO can have a thousand representatives doing most of that work.
s
right, though what about if that same CEO can hire 10 VPs each with a thousand very smart AIs, or because they're using AI agents themselves, they can hire 1000 VPs each managing their own army of AIs
k
My theory as to why LISP is not widely used
I suspect that there are more Lisp users today than, say, in the 1980s. It's just that other languages have grown much faster, for lots of reasons related to both the kind of software people write and the organizational structures behind software development. As a Lisp user, all I care about is if there enough other Lisp users to keep the ecosystem alive. I am pretty confident that the answer is yes.
x
Perhaps I could make myself a bit more clear. I would encourage lisp or smalltalk programmers to make performance, ease of use and easy to read documentation a priority. This lisp implementation - https://macoy.me/code/macoy/cakelisp - which addresses games and tries to achieve C like performance both in terms of computation and memory is something many programming languages sorely lack not just lisp. While we live the abundance of webapps, workflow pipeline builders, mobile apps or landing pages, the following 1. Operating systems 2. Database engines 3. Browser engines 4. Game engines 5. AV or 3D Editors 6. High performance servers 7. Embedded stuff are all scarce. I have more respect for the C family languages precisely because of this. Bottom line, can your language do a AAA game or atleast a AA game ?
k
Thanks @xyzzy for clarifying. Here are some Lisp and Smalltalk projects that fall into your list of application domains: • GemStone is a database engine built in and around Smalltalk. • Kandria is a commercial game built on the Trial engine. All in Common Lisp. • uLisp is a Lisp for embedded systems I don't have personal experience with any of these, because what I do is very different.
j
Operating system https://en.m.wikipedia.org/wiki/Lisp_machine The best performing web server in the world was for a long time one written in CL. This one outperforms many of the usual suspects: https://fukamachi.hashnode.dev/woo-a-high-performance-common-lisp-web-server There are many embedded Lisps. There are also both Common Lisp and Scheme compilers (ECL and Chicken Scheme to name two) that produce C code that can be compiled to whatever target you want. This regex implementation was faster than competing C implementations when it was authored, and remains one of the fastest in the world https://edicl.github.io/cl-ppcre/ SBCL typical runs within a factor of 2 of C code, and when I want to tune a function I can modify and interactively recompile that function while viewing the generated asm until it does what I want as fast as I want it to do.