2020年/01月/21日

首页回退

语言原理

一本书:Concepts-of-Programming-Languages

对自然语言而言,那些只掌握有限语言的人,其思维的复杂程度,特别是其抽象思维的深度,必然受到局限。换言之,人们对不能口头或笔头描述的事物结构必定很难将其概念化。
程序设计语言的正交性指的是,使用该语言中一组相对少量的基本结构,经过相对少的结合步骤,可以构成该语言的控制结构与数据结构。而且,它的基本结构的任何组合都是合法的和有意义的。
正交语言特性的意义是独立于它在程序中出现的上下文的。缺乏正交性会导致语言规则异常。语言的正交性与语言的简单性是紧密相关的:程序设计语言的正交性设计得越好,该语言规则中的异常情况就会越少。
过分地追求正交性也会产生问题,极端的正交性会导致不必要的复杂性。一组较少量的基本结构以及一套相互一致的规则组合(即正交性),比仅仅具有大量的基本结构要优越得多。
过分的正交性也会有损于可写性,当基本结构的任意结合几乎都是合法时,程序中的错误就很难被检测出来。这也会导致编译器不能够发现代码中的谬误。
抽象指的是以合法省略许多细节的方式,来定义并且使用复杂结构或复杂运算的能力。