Featured image of post 怪异的编程语言

怪异的编程语言

从冷门编程语言窥探编程可能性

📚 返回 Paul Graham 文章目录

怪异的编程语言

2021年8月

当有人声称他们的体验表明所有编程语言基本等价时,他们实际上谈论的不是语言本身,而是他们所进行的那类编程。

编程工作的 99.5% 只是把库函数“粘”在一起。所有流行语言在这一点上都同样擅长。于是,一个程序员完全可以在流行语言的交集中度过整个职业生涯。

但剩下的 0.5% 编程却格外有趣。如果你想知道它包含什么,怪异语言的怪异之处提供了绝佳线索。

怪异语言的怪异并非偶然——至少好的怪异语言如此。它们的怪异通常暗示着一种超越常规“胶水编程”的编程方式的存在。

举个具体例子:Lisp 宏。即便对许多 Lisp 程序员而言,Lisp 宏也显得怪异。它们不仅不在流行语言的交集中,而且由于其本质,若想在不把宿主语言变成 Lisp 方言的前提下正确实现,几乎是不可能的。宏无疑证明了编程技术能够超越胶水编程。比如,先为同类问题编写一门语言,然后用它实现具体应用。宏的能力绝不仅限于此;这只是位于一个操纵程序的技术空间中的一隅,即便到今天也远未被完全探索。

因此,如果你想拓展对编程可能性的认知,一条途径就是学习怪异语言。选一种大多数程序员觉得怪异、但其平均用户又十分聪明的语言,然后关注它与流行语言交集之间的差异。用这门语言,你能表达哪些在其他语言中极其费劲甚至几乎无法表达的内容?在学习如何表达过去无法表达的事物过程中,你也很可能会学会思考过去无法思考的问题。

感谢 Trevor Blackwell、Patrick Collison、Daniel Gackle、Amjad Masad 及 Robert Morris 审读本文草稿。

英文版:paulgraham.com/weird.html|中文版:HiJiangChuan.com/paulgraham/208-Weird-Languages

📚 返回 Paul Graham 文章目录

更新记录: