8. 附录:编程语言设计原则

这是Bruce MacLennan的优秀编程语言原理(第2版,1986年,ISBN0-03-005163-0,可在上找到)中的编程语言设计原则列表 Oliver Wyman's blog

  • 抽象 :避免要求某件事多次陈述;排除重复出现的模式。

  • 自动化 :自动执行机械的、乏味的或容易出错的活动。

  • 纵深防御 :有一系列的防御措施,这样如果一个错误没有被一个捕获到,那么它很可能会被另一个捕获。

  • 信息隐藏 :语言应该允许模块设计成:(1)用户拥有正确使用模块所需的所有信息;以及(2)实现者拥有正确实现模块所需的所有信息,仅此而已。

  • 贴标签 :避免长度超过几个项目的任意序列。不要求用户知道项目在列表中的绝对位置。相反,请将一个有意义的标签与每个项目相关联,并允许这些项目以任何顺序出现。

  • 本地化成本 :用户应该只为他们使用的东西付费;避免分散的成本。

  • 清单界面 :所有接口在语法中都应该是明显的(清单)。

  • 正交性 :独立的职能应该由独立的机制来控制。

  • 可移植性 :避免依赖于特定机器或一小类机器的功能或设施。

  • 资料的保存 :语言应该允许表示用户可能知道以及编译器可能需要的信息。

  • 规律性 :规则,没有例外,更容易学习、使用、描述和实施。

  • 安全性 :任何违反语言定义或其预期结构的程序都不应逃脱检测。

  • 简单性 例如,语言应该尽可能简单。概念的数量应该是最少的,它们的组合应该有简单的规则。

  • 结构 :程序的静电结构要简单对应相应计算的动态结构。

  • 句法一致性 :相似的东西看起来应该相似;不同的东西看起来不一样。

  • Zero-One-Infinity :唯一合理的数字是0、1和无穷大。