8. 附录:编程语言设计原则
这是Bruce MacLennan的优秀编程语言原理(第2版,1986年,ISBN0-03-005163-0,可在上找到)中的编程语言设计原则列表 Oliver Wyman's blog 。
抽象 :避免要求某件事多次陈述;排除重复出现的模式。
自动化 :自动执行机械的、乏味的或容易出错的活动。
纵深防御 :有一系列的防御措施,这样如果一个错误没有被一个捕获到,那么它很可能会被另一个捕获。
信息隐藏 :语言应该允许模块设计成:(1)用户拥有正确使用模块所需的所有信息;以及(2)实现者拥有正确实现模块所需的所有信息,仅此而已。
贴标签 :避免长度超过几个项目的任意序列。不要求用户知道项目在列表中的绝对位置。相反,请将一个有意义的标签与每个项目相关联,并允许这些项目以任何顺序出现。
本地化成本 :用户应该只为他们使用的东西付费;避免分散的成本。
清单界面 :所有接口在语法中都应该是明显的(清单)。
正交性 :独立的职能应该由独立的机制来控制。
可移植性 :避免依赖于特定机器或一小类机器的功能或设施。
资料的保存 :语言应该允许表示用户可能知道以及编译器可能需要的信息。
规律性 :规则,没有例外,更容易学习、使用、描述和实施。
安全性 :任何违反语言定义或其预期结构的程序都不应逃脱检测。
简单性 例如,语言应该尽可能简单。概念的数量应该是最少的,它们的组合应该有简单的规则。
结构 :程序的静电结构要简单对应相应计算的动态结构。
句法一致性 :相似的东西看起来应该相似;不同的东西看起来不一样。
Zero-One-Infinity :唯一合理的数字是0、1和无穷大。