奇怪的语言
Original2021 年 8 月
当人们说根据他们的经验,所有编程语言基本上都是等效的时,他们并不是在谈论语言,而是在谈论他们所做的编程类型。
99.5% 的编程工作都是将库函数调用粘合在一起。所有流行语言在这方面都同样擅长。因此,一个人很容易将自己的整个职业生涯都花在流行编程语言的交叉点上。
但编程的另外 0.5% 却非常有趣。如果你想了解它由什么组成,奇怪语言的奇怪之处是一个很好的线索。
奇怪的语言并不是偶然奇怪的。至少好的语言不是。好的语言的奇怪之处通常意味着存在某种形式的编程,而不仅仅是通常将库调用粘合在一起。
一个具体的例子:Lisp 宏。Lisp 宏甚至对许多 Lisp 程序员来说都显得很奇怪。它们不仅不属于流行语言的交集,而且从本质上讲,如果不将其转变为 Lisp 的方言,就很难在一种语言中正确实现它们。宏绝对是超越胶水编程的技术的证据。例如,通过首先为该类型的问题编写一种语言,然后用它编写特定的应用程序来解决问题。这也不是宏能做的全部;它只是程序操作技术领域的一个领域,甚至现在也远未得到充分探索。
因此,如果你想扩展你对编程概念的理解,一种方法就是学习奇怪的语言。选择一种大多数程序员认为奇怪但其平均用户很聪明的语言,然后关注这种语言与流行语言之间的差异。你能用这种语言说哪些话,而用其他语言说起来会非常不方便?在学习如何说以前不能说的话的过程中,你可能会学习如何思考以前不能思考的事情。
感谢Trevor Blackwell、Patrick Collison、Daniel Gackle、Amjad Masad 和 Robert Morris 阅读本文草稿。