English Version

怪异语言

2021年8月

当人们说根据他们的经验所有编程语言基本上等价时,他们做出的不是关于语言的陈述,而是关于他们做过的编程类型的陈述。

99.5%的编程包括将库函数调用粘合在一起。所有流行的语言在这方面都同样好。所以一个人可以很容易地花费整个职业生涯在流行编程语言的交集中操作。

但另外0.5%的编程不成比例地有趣。如果你想了解它由什么组成,怪异语言的怪异性是一个很好的线索。

怪异语言不是偶然怪异的。至少好的不是。好的怪异语言的怪异性通常暗示着存在某种不仅仅是通常的库函数调用的粘合的编程形式。

一个具体的例子:Lisp宏。Lisp宏即使对许多Lisp程序员来说也显得怪异。它们不仅不在流行语言的交集中,而且它们的性质使得在语言中正确实现它们而不将其变成Lisp的方言会很困难。宏绝对证明超越了粘合编程的技术。例如,通过首先为该类型的问题编写一种语言,然后在其中编写你的特定应用程序来解决问题。这不是你用宏能做的全部;它只是程序操作技术空间中的一个区域,即使现在还远未被完全探索。

所以如果你想扩展你对编程可能性的概念,一种方法是学习怪异语言。选择一种大多数程序员认为怪异但其中位数用户聪明的语言,然后专注于这种语言与流行语言交集之间的差异。你能用这种语言说什么,而在其他语言中说会极其不便?在学习如何说你以前不能说的话的过程中,你可能会学习如何想你以前不能想的事。

感谢Trevor Blackwell、Patrick Collison、Daniel Gackle、Amjad Masad和Robert Morris阅读草稿。

日语翻译