随笔/0612——编程语言

2023-06-11  本文已影响0人  刘东利2020

这么多编程语言,到底意味着啥?《黑客与画家》这么说:

当你按照Java、Perl、Python和Ruby这样的顺序观察这些语言,你会发现一个有趣的结果。如果你是一个Lisp黑客,你就看得出来,排在越后面的语言越像Lisp。Python语言模仿Lisp,甚至把许多Lisp黑客认为属于设计错误的功能也一起模仿了。至于Ruby语言,如果回到1975年,你声称它是一种有着自己句法的Lisp方言,没有人会提出反对意见。编程语言现在的发展不过刚刚赶上1958年时Lisp语言的水平。

简单说,因为这种语言本质上不是一种技术,而是数学。数学是不会过时的。你不应该把Lisp语言与50年代的硬件联系在一起,而是应该把它与快速排序算法进行类比。这种算法是1960年提出的,至今仍然是最快的通用排序方法。

那怎么设计一门新的编程语言呢?某乎回答:

1. 语义设计

2. 语法设计

3. 实现一个编译器

放在一起考虑,就很有趣 —— Lisp是数学,所以本应最符合计算机这种0-1逻辑的东西;人类的语言有模糊性,但是在很多时候提高了效率 —— 因为有不自觉的概率计算吧?

上一篇下一篇

猜你喜欢

热点阅读