3.5 小结

    同样是处理 1 加 2 乘以 3 这样的运算,不同语言的表达方式大相径庭。但是基本上都是用语法树来表达。语言之间的这种差异就是语法的差别,它决定了怎样的代码对应怎样的语法树。

    FORTH 语言和 LISP 语言尽量精简规则。但是市场追求的不是规则数量多么少、多么简单。相比之下,FORTRAN 语言大量导入了诸如乘法运算符优先级高于加法这样的决定性规则,重视编写的便利性。这种设计理念大获成功,与 LISP 语言和 FORTH 语言相比,FORTRAN 语言的风格为更多的人所接受。

    大家在编写程序时,是不是时常抱怨为什么有这么别扭复杂的编写规则?现代的大多数语言都崇尚 FORTRAN 语言风格,追求简单便利的编写规则。然而,设计不存在任何解析矛盾的语法体系是十分困难的。随后要再融入新的语法时不与既有的语法发生冲突,这个尤其困难。正因为如此,现实中程序设计语言仍然保留有不少别扭复杂的编写规则。