2021 年 8 月
当人们说他们的经验中所有编程语言基本上都是相等的时,他们所表达的不是关于语言本身,而是关于他们所从事的编程类型。
99.5% 的编程工作是将库函数调用粘合在一起。所有流行的编程语言在这方面都同样擅长。因此,一个人可以很容易地在流行编程语言的交集中度过整个职业生涯。
但是另外的 0.5% 的编程工作却是异常有趣的。如果你想了解这部分内容,那么奇怪语言的奇异性就是一个不错的线索。
奇怪语言并非偶然奇怪。至少好的奇怪语言不是。好的奇怪语言的奇异性通常意味着存在某种超越通常的库函数调用粘合的编程形式。
一个具体的例子:Lisp 宏。即使对许多 Lisp 程序员来说,Lisp 宏看起来也很奇怪。它们不仅不在流行语言的交集中,而且由于其本质,在其他语言中正确实现它们可能会将其转变为 Lisp 的一种方言。而宏确实是超越粘合编程的技术的证据。例如,通过首先为该类型的问题编写一种语言,然后在其中编写您的具体应用程序来解决问题。而且宏并不是您可以用它做的所有事情;这只是程序操作技术空间中的一个区域,即使在现在也远未完全探索。
因此,如果您想拓展自己对编程可能性的认知,学习奇怪的语言是一种方式。选择大多数程序员认为奇怪但其中位用户聪明的语言,然后专注于这种语言与流行语言交集之间的差异。在这种语言中,您可以表达那些在其他语言中说起来非常不便的事情?在学习如何表达以前无法表达的内容的过程中,您可能会学会如何思考以前无法思考的内容。
感谢 Trevor Blackwell、Patrick Collison、Daniel Gackle、Amjad Masad 和 Robert Morris 阅读本文草稿。