开发者生态
morning
为什么 Common Lisp 是现在最好的编程语言
摘要
Would you agree that some programming languages are better than others? If so then one of them must be the best. And it’s actually Common Lisp especially now that LLMs can write code. LLMs write code ...
the
and
that
program
Lisp
your
Common
can
code
you
2026-10-07
1 阅读
约6分钟阅读
misterchocolat
字号:
您是否同意某些编程语言比其他语言更好?如果是这样,那么其中之一一定是最好的。它实际上是 Common Lisp,尤其是现在法学硕士可以编写代码。法学硕士写代码的速度非常快,而且变化很大,因为写代码曾经是最慢的部分。现在,缓慢的部分是确定您的程序是否真正有效,在您执行此操作之前,您必须重建它,这可能需要几分钟。当人类编写代码时,这并不重要,因为编写代码比等待编译和开始运行花费的时间要长。但现在确实如此,因此您的反馈循环需要多长时间决定您的构建速度。在 Common Lisp 中,该循环几乎不存在,因为读取时、编译时和运行时之间没有真正的区别(Graham)。 Common Lisp 是基于图像的,这意味着您的程序是内存中的实时图像,因此新版本的函数会立即替换旧版本,而无需重新启动任何内容。此外,在大多数语言中,错误会使您的程序崩溃。因此,如果您使用法学硕士编写代码,它将必须读取您的崩溃日志以进行一些更改并再次运行您的程序。在 Common Lisp 中,你的程序不会崩溃,它会停止并打开一个包含整个堆栈和所有变量的调试器。你只需将你的法学硕士指向调试器,它就会修复并恢复程序。据我所知,Common Lisp 是唯一能够完成所有这些工作的主流语言。 Lisp 代表“列表处理”。在 Common Lisp 中,代码被编写为列表。例如,(+ 1 2) 是一个将两个数字相加的程序,但它也只是三个内容的列表:符号 +、数字 1 和 2。有趣的是,这与 Common Lisp 用于存储数据的列表相同,并且由于该语言是围绕处理列表构建的,因此它用于处理数据的所有工具也适用于代码。所以一个程序可以接受另一个程序并改变它,例如它可以将(+ 1 2)变成(* 1 2),并立即运行结果。这就是宏成为可能的原因。宏是一个函数,它接受您的代码并在其位置返回新代码,这意味着您可以向语言本身添加新的构造。一旦你可以添加到语言中,你就可以针对你的问题来构建它。所以在 Lisp 中,你不只是编写一个程序,你还可以为你的领域编写一种语言,然后用它编写程序。现在这变得更加重要,因为让一个程序变得有价值的是它背后的意见。我们正在走向一个软件公司让用户自行更改产品的世界,因为有了法学硕士,这很容易。因此,如果一家公司为其产品构建了一种良好的固执己见的领域语言,那么其用户在其之上构建的所有内容都会好得多,因为他们是从公司的意见开始的,而不是从头开始。采取 ERP。每家公司的运作方式都略有不同,所以几乎每个人最终都需要改变它。但如果 ERP 是用自己的领域语言编写的,您可以要求法学硕士用该语言进行更改。这种变化自然会遵循领域语言的基本观点,因此它适合产品而不是破坏它。而且它不仅更好,而且更便宜。 Lisp 程序通常更加简洁,因为宏可以让您抽象出重复出现的模式,并使它们成为语言本身的一部分。所以程序越大,差异就越大。根据我自己的经验,我用 Common Lisp 构建的应用程序最终比 Python 版本短大约六到七倍。对于法学硕士来说,更少的代码意味着更少的代币,而代币就是你所支付的费用,因此你在开发上的花费更少。这也意味着您的程序的更大一部分可以适合法学硕士的上下文窗口。如果您的法学硕士在其上下文窗口中包含您的整个程序,那么它可以完整地了解您的意图,从而做出更好的决策。根据我的经验,很多 LLM 错误都源于它改变了我程序的一部分而没有看到其余部分。所以对于 Common Lisp 来说,这种情况发生的频率较低。 Common Lisp 是一个 ANSI 标准,自 1994 年以来就没有更新过。我喜欢这个功能。回到我们的 ERP 示例,如果您的用户自己更改产品,这正是您想要的,因为底层的语言永远不会移动,并且他们在其之上构建的任何内容都不会中断。当你用 Common Lisp 编写程序时,你通常无法找到你需要的库。 Quicklisp 是主要的 Common Lisp 包管理器,有几千个项目,而 npm 有数百万个项目。但我认为这不再是问题了。如今,大多数程序都依赖于不断受到损害的软件包中的数百万行代码。你不希望这样的东西出现在你的身上。此外,通过法学硕士,您可以自己编写所需的部分或移植整个库 - 法学硕士似乎非常擅长移植代码。最后,我现在看到很多人正在编程,希望能够创业。用 Common Lisp 构建产品的一个明显的反对意见是你将很难找到引擎
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱