当前位置: 首页 > news >正文

为何选 Common Lisp 进行代码生成?这 8 大优势给出答案!

抽象异端:计算机科学与编程的非正统观点

这里是关于计算机科学和编程的非正统观点分享。

2026 年 8 月 6 日相关探讨

有人两次询问:若生成的代码无关紧要,且由 AI 负责编写语法这种繁重工作,为何还要用 Common Lisp 进行氛围编程,而不选择 Python、TypeScript 或 Java 这些主流语言呢?毕竟这些主流语言有大量训练集,模型能以很高统计准确率生成其代码。

原因众多,归根结底指向那个古老问题:既然有更流行的语言,为何还要用 Lisp ?答案是语言的流行程度并不能很好代表其实用性和表达能力。Lisp 社区早就明白这一点,这也是最初选择 Lisp 的原因。选择流行语言是中层管理人员为确保总能找到人维护代码的做法,而非顶尖黑客的选择。

选择 Common Lisp 进行代码生成的 8 大原因

  1. 专业知识基础:使用者使用 Common Lisp 编程已有几十年,对其了如指掌。氛围编程需要人类架构师监督机器,使用者查看模型生成的代码时,能瞬间判断代码是否可行或模型是否陷入死胡同。因为不深入理解一门语言,就无法成功指挥 AI。
  2. 重抽象轻实现:大多数现代语言要求精确描述机器处理数据的方式,而 Lisp 旨在表达高级抽象,而非繁琐的实现细节。使用者向 AI 提出需求时,希望它生成架构逻辑,而非与样板代码斗争来处理基本状态。
  3. 为精英设计:Lisp 是由顶尖黑客为顶尖黑客设计的语言,并非面向大众。它不会手把手教学,也不迎合编程培训班里最基础的模式。将其作为目标语言时,是在追求最大表达能力的环境中操作。
  4. 同像性与抽象语法树:这可能是最大的技术优势。Lisp 具有同像性,代码的结构与它所操作的数据相同。大语言模型(LLM)生成 Python 或 Java 代码时,必须预测表面语法,如空格、括号、分号和严格的类结构;而生成 Lisp 代码时,它直接在抽象语法树(AST)层面操作,预测的是纯粹的结构。消除语法障碍对 AI 代码生成是巨大优势。
  5. 宏作为上下文压缩工具:在氛围编程中,LLM 的上下文窗口是最宝贵的资源。Lisp 的宏系统提供了高效的上下文压缩方式。可以将冗长的样板代码隐藏在宏后面,让 AI 学习并使用宏,节省数千个令牌,从而在模型的内存限制内维护大型架构。
  6. 在 REPL 中进行内省:使用者不是在普通文本编辑器中使用 LLM,而是在 Lisp 的交互式开发环境(REPL)中操作。这使 LLM 可以在程序开发过程中进行内省,若需要了解特定对象或函数的状态,模型可以查询实时环境。这不是在编写静态文本,而是在与动态系统交互。
  7. 卓越的错误处理:当 AI 写出错误代码时,Lisp 的条件系统提供卓越的错误处理和调试功能。不会像其他语言那样硬崩溃而需完全重启,而是会捕获错误,LLM 可以分析堆栈跟踪,并在出错点交互式地调试生成的代码。
  8. 无需从头重启:使用 REPL 意味着每次测试更改时,不必从头启动程序。在编译型的主流语言中,AI 对代码进行一行修改都需完全重新构建和重置状态;而在 Lisp 中,只需重新定义特定的函数,然后立即在 REPL 中测试,应用程序的其他状态可保持不变,这种迭代速度是其他语言无法比拟的。

使用者认为不会给顶尖黑客使用普通的代码编写工具,希望自己的 AI 成为顶尖黑客,而不仅仅是代码编写员。如果期望 AI 达到顶尖水平,就应给它提供顶尖的工具,而非普通的代码编写工具。

评论与博客存档

有匿名用户评论,建议查看 github.com/gornskew/skewed - emacs,了解如何使用 LLM 代理生成 Common Lisp 代码。

博客存档展示了从 2006 年到 2026 年各月的文章情况,如 2026 年 8 月包含“llambda.lisp 在 Linux 上的应用”“为什么要用 Lisp 进行氛围编程?”等文章。

http://www.jsqmd.com/news/1389992/

相关文章:

  • 洛雪音乐音源怎么配置?从免费无损音质到音源失效解决的一站式指南
  • es search包
  • 复杂自演化网络的测地线控制论:基于 4D 协变时空流形与自适应阻抗矩阵的内生安全范式
  • MathorCup D题解析:多目标装箱优化算法与建模实战
  • 数学建模竞赛实战指南:从问题解析到论文呈现的完整思维框架
  • gti与Git的完美结合:Bash/Zsh自动补全配置指南
  • 前端岗位结构性调整:从技术演进到AI冲击下的生存指南
  • 5分钟上手国产开源OpenFOAM流体仿真软件APPFlow:从几何建模到后处理全流程实战指南
  • 鹰手营子矿网站建设:打造本地企业数字化名片与网络营销实战指南
  • Formality:时序变换(三)(相位反转)
  • Stork Oracle Auto Bot安全使用指南:规避风险与合规操作建议
  • Windows系统文件UiaManager.dll丢失找不到问题解决
  • They Live Adblocker高级技巧:自定义标语、调整样式和优化性能
  • WIN10系统下delphi7编译大点项目经常出错或不通过
  • Weakpass规则库详解:nsa64/top_1500等密码生成规则的应用场景
  • 【Linux系统】OS、进程PCB、状态、进程的切换和调度,虚拟地址空间
  • macOS文件隔离机制解析与xattr命令实战应用
  • linux下C++生成并使用静态库和静态库
  • LangGraph状态管理核心:Reducer原理、类型与并发实战
  • 如何建设个人网站从0到1:普通人也能做出的高颜值独立门户
  • 解决管网压降空压机选型要点与专业型号解析
  • PhotoGIMP完整上手教程:3步让免费GIMP变身Photoshop界面,每年省下上千订阅费
  • 杰理之无法修改PA 控制IO问题处理【篇】
  • 游戏逆向工程实战:从数据解析到MOD开发的技术探索
  • go-env源码解析:从EnvSet到ChangeSet的设计哲学
  • 2026年美工外包公司/平面设计包月公司横向对比来了:从服务与交付来看哪家值得推荐? - 企业综合对比网
  • 与deepseek-flsah 网页版的对话,比geminni强太多了:4个问题,带你简单了解,接口与抽象类的区别,多态的概念
  • 零基础微信逆向工程实战:3步搞定微信ipa获取、砸壳与头文件导出
  • 数学建模竞赛问题二进阶攻略:从模型深化到论文写作全解析
  • 2024年深耕本地生活圈,地方门户网站建设方案如何打造城市流量新引擎