3 ms·
Lisp has a profound effect on the business model because it can give you a dramatic productivity boost (like an order of magnitude or more) but it makes staffin
by lisper 3y ago
Lisp has a profound effect on the business model because it can give you a dramatic productivity boost (like an order of magnitude or more) but it makes staffing more difficult because there aren't many experienced Lisp programmers because very few organizations use it, which makes for a vicious cycle. But this is precisely the sort of situation that if enough people simply changed their minds that by itself could change the underlying reality.
It's not just Lisp. There's a similar thing happening today with Rust, which is clearly superior to C from a technical point of view, but which very few people use simply because there are very few people using it. But Rust might be one of the rare exceptions where the technical superiority is enough to allow it to break this cycle.
- mlyle 3y agoAn order of magnitude "or more" is an extraordinary claim. The evidence just isn't there. > but which very few people use simply because there are very few people using it. Ecosystems matter: they're one of the ways you get productivity.
- lisper 3y ago> An order of magnitude "or more" is an extraordinary claim. The evidence just isn't there. Let me clear: I am claiming that these kinds of productivity gains are possible, not that using Lisp will automatically give you a 10x improvement under all circumstances. And yes, I can give you concrete examples of demonstrable >10x productivity improvements which resulted in products succeeding where they otherwise would undoubtedly have failed. These are generally found in niche applications where there is a lot of domain knowledge that needs to be brought to bear. So you're not going to see big wins in, say, commodity consumer products, which is the reason that the wins don't get much press. But the evidence is definitely there if you look in the right places.
- marginalia_nu 3y agoIf it gives such a productivity boost, why aren't LISP shops outcompeting other languages?
- lisper 3y agoThat's a good question without an easy answer, but there are two leading theories. One is that languages are infrastructure and it's really hard to replace infrastructure once it gets established (look at how much time it's taking for electric cars to replace gas-powered ones). The other is that Lisp's productivity boost allows individuals to get things done by themselves and so it tends to attract people who aren't good at collaborating (the famous "Lisp curse"). So on an individual level it's a win, but at an organizational level it might not be unless you manage it very carefully.
- leetrout 3y ago> So on an individual level it's a win, but at an organizational level it might not be unless you manage it very carefully. This is why I choose Go many times over other languages. Its a bit easy to keep on the rails since it is so restrictive (at the cost of repetitive, explicit verbosity).
- fidotron 3y agoHistorically I think there's a very strong case that Symbolics did outperform others with their software productivity, especially in graphics. They had an ability to wade into certain domains and produce legitimately shockingly competitive products, which really should not have been possible. But I also think Lisp leads to spectacular burnout as I think it imposes a greater cognitive requirement on the part of the developer. A Symbolics graphics reel from 1989 https://www.youtube.com/watch?v=V4HXPJtym2Q https://www.youtube.com/watch?v=V4HXPJtym2Q This stuff was still in use on Final Fantasy 7 https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation?s=r https://lunduke.substack.com/p/the-computers-used-to-do-3d-a...
- kagevf 3y ago> it imposes a greater cognitive requirement on the part of the developer ... because of the "monotonous" syntax? That was a reason mentioned by L Peter Deutsch in Coders at Work ...
- pkkm 3y ago> I can give you concrete examples of demonstrable >10x productivity improvements which resulted in products succeeding where they otherwise would undoubtedly have failed. Well, I would definitely be interested in these examples. I occasionally write Lisp (admittedly, Emacs Lisp rather than Common Lisp) and while I appreciate having macros and other metaprogramming tools at my fingertips, I've never encountered a situation in which their use was critically important. I can always replicated the thing I wanted to do in Python with a bit of boilerplate; if I had to choose, I would certainly take Python's huge ecosystem over Lisp's metaprogramming. Frankly, I don't think there have been any language silver bullets after structured programming and garbage collection. So I'm very skeptical of the claims of extreme Lisp productivity. I'm open to being convinced otherwise though.
- lisper 3y agoThe big wins are in niches that involve a lot of domain-specific knowledge. The two best examples that I was personally involved with were the NASA Deep Space One Remote Agent and the Meta chip design tool from Barefoot Networks (acquired by Intel in 2019). In the former case, an attempt was made to do the implementation in C++, which failed outright. In the latter case you can do a pretty direct apples-to-apples comparison of the design cycle time relative to off-the-shelf design tools. Meta lets you iterate in minutes what would take hours using standard tools. (To be fair, Meta does not do everything that the standard tools do, and before you can tape-out you have to do a few iterations on standard place-and-route and timing verification. But it's still a huge win over just using those for the entire design.)
- FreakLegion 3y agoI have experience with EUROPA, which has gone on to have a long life independent of RAX (e.g. I believe it's still used via SACE for the ISS solar arrays). EUROPA is C++, not Lisp, even though Lisp isn't an unusual choice in AI planning.
- lisper 3y ago> EUROPA is C++, Maybe it is now (I don't know -- I've been out of that field for over 20 years) but it wasn't then.
- shrubble 3y agoThe difference I would point out, is that Rust has corporate sponsorship. I don't recall any large corporations sponsoring e.g CMUCL/SBCL to the same level.
- lisper 3y agoThere are plenty of counterexamples here, with languages that had corporate sponsorship but did not succeed (e.g. Go) and vice versa (Perl, Python). In the case of Lisp, it was done in by two things: AI winter, and the fact that the Lisp community was never able to organize itself. This is the famous "Lisp curse": it is precisely the fact that Lisp is a productivity multiplier that seals its fate because it allows individuals to get things done without collaborating.
- kirse 3y agoThis is the famous "Lisp curse" It was done in / seals its fate https://www.marktarver.com/bipolar.html https://www.marktarver.com/bipolar.html I always thought this essay was a great take on Lisp(ers), but it's interesting how those sort of statements eventually can self-perpetuate a couple negative events into a state of learned helplessness.
- SoftTalker 3y ago> Lisp ... can give you a dramatic productivity boost ... if you are smart enough. If it were that easy to get more productivity, everyone would be using Lisp. But you need to hire very smart developers to get that prodictivity, and most developers are by definition average. Your average developer will be frustrated, not more productive, with Lisp.
- taneq 3y agoThose very smart developers would be just as effective in a mainstream language, and probably more so in an appropriately chosen mix of languages. It seems like the real advantage of lisp is that it self-selects for smart people who program for fun, and these people typically are also good developers.