Lisp 的诅咒,现在来到你的生态系统
The Lisp curse, now coming to your ecosystem

原始链接: https://javahippie.net/programming/llm/2026/03/05/the-lisp-curse-coming-to-your-ecosystem.html

文本将 LISP 的“诅咒”——强大的灵活性导致孤立的、被反复重写的、文档不完善的代码——类比于一种可能的 LLM 驱动的未来。如果开发者更倾向于生成代码而非学习和集成库,开源生态系统可能会受损:现有项目获得更少的用户和反馈,而新的共享库也会减少,因为维护和打包似乎变得不必要。这些趋势可能会相互强化,使生态系统更加碎片化、更加个人化。作者反对生成代码应取代成熟库的想法,警告“非生成于此”类似于“非发明于此”,但承认 LLM 编程将持续存在,且可能减少协作,使软件开发变得更加孤独。

该帖讨论一篇文章,认为 LLM 正在把“Lisp 诅咒”——开发者重复实现功能而非使用共享库——扩展到 Lisp 之外。评论者意见分歧:一些人认为这减少了依赖和供应链风险;另一些人警告这会产生未经审查、重复且可能不安全的代码,并削弱开源。Lisp 支持者反驳说 Common Lisp/Clojure 生态健康,表达力强、同像性的语言加上 REPL 与 agent 配合良好;批评者指出 Lisp 的碎片化和主流语言的库优势。其他观点包括 LLM 能实现自定义实现、安全权衡、宏的能力,以及开源激励可能改变。总体而言,讨论将 AI 辅助编程视为降低定制软件成本的方式,对这到底是破坏性碎片化还是转向更自包含、更定制化程序的看法不一。
相关文章

原文

The LISP curse is often quoted as the reason why so few libraries and reusable components exist for LISP dialects. According to the concept, LISP is so powerful and flexible that it allows developers to create custom solutions easily, leading to them working longer in isolation. This causes them to often reinvent the wheel, because creating code to solve your own problems can be easier / faster than relying on the libraries (and way of thinking) of other people. This leads to a lack of central frameworks and libraries, like many other language ecosystems have. Sometimes it’s also mentioned that this powerful, flexible code which was written in isolation often lacks documentation and can be hard to comprehend by third parties, so other developers prefer to write their own modules – and the curse keeps on.

Yes, this post is about LLM-assisted coding

I was drawn into several discussions this week where people claimed that with the ease and quality of Large Language Models, it is now easier and cheaper to generate code than to use existing abstractions like frameworks or libraries. If we ignore the fact that established libraries are incredibly stable, tested by hundreds of thousands of developers, included in thousands of CI pipelines and maintained by experts on the topic, if we accept the assumption that it is easier to let an LLM generate functionality than to learn the interfaces of existing libraries and frameworks (or let the LLM integrate these libraries or frameworks), what would the implications for language ecosystems like Java’s look like?

More isolation, more individualism, less collaboration

A lot of people contributed to the success of Open Source ecosystems in the last decades through collaboration, collective problem solving and with the goal of solving hard problems.

The first effect of the aforementioned scenario would be the decline of people using the open source libraries, reducing feedback to the maintainers. If I could just solve my problems with one or two prompts, 20 minutes of waiting time and a couple of dollars worth of tokens, why should I bother with research? Why should I bother with the API decisions other people made? Why should I bother with reading documentation?

As a second effect, the creation of new Open Source libraries would stagnate. The hard part of doing Open Source is maintenance. Structuring your code, hosting infrastructure, publishing to artifact repositories. Versioning, backwards compatibility, keeping the stack up to date. If generating code is that easy, if I can solve my own problems that quickly, why should I bother modularizing the code, sharing it with the world and doing all the project management an Open Source project needs? I have everything I need in my generated module, I can break the API if I need to, adjust everything exactly to my use case, my stack.

These two effects might even amplify each other in the long term. If fewer Open Source libraries are provided to integrate new technologies, new approaches into a language ecosystem, people might be even more inclined to just write / generate their own solution and be done with it.

A grim outlook

As you might have already read between the lines, I don’t share the assumption that we can skip adding libraries and frameworks to our code and just generate everything instead. I’d rather rely on proven libraries with well-defined abstractions than generate hundreds of lines of code which solve a local problem for me. “Not generated here” is just a different version of “Not invented here”. Still, I think that Large Language Models in coding are here to stay, and that this scenario will arrive in some way. Maybe not as drastically as some thought leaders now proclaim, but by accident. Open Source collaboration will decline to some degree and software development might become a much lonelier task than it is now.


联系我们 contact @ memedata.com