格林斯潘第十定律

✍ dations ◷ 2025-09-10 20:27:32 #格林斯潘第十定律

格林斯潘第十定律(Greenspun's tenth rule)是计算机编程领域,尤其是编程语言领域的一句格言:

任何C或Fortran程序复杂到一定程度之后,都会包含一个临时开发的、不合规范的、充满程序错误的、运行速度很慢的、只有一半功能的Common Lisp实现。

这表现了Lisp语言的灵活性和可扩展性,它包含了理论上编写复杂计算机程序需要的所有功能。而其他编程语言的核心实现却不能提供开发复杂程序的关键性功能支持。

该定律由菲利普·格林斯潘(Philip Greenspun)于1993年前后提出。尽管被称作“第十定律”,然而实际上并没有前九个定律。格林斯潘曾解释说:

对不起,Han-Wen,前面并没有九个定律。我只是想给它取一个令人印象深刻的名字。

Lisp语法几乎是抽象的,其程序以S-表达式形式构建,这等价于其他编程语言内置编译器中的抽象语法树。Lisp作为一种同像(homoiconic)的语言,不区分代码与数据,即:Lisp程序本身即Lisp数据结构。Lisp程序自身可通过宏生成额外的Lisp程序。因此,程序员可以相对轻松地构建复杂的特定领域语言。

如同保罗·格雷厄姆所说,Lisp比起其他语言可以更快地构建更健壮的程序。特别是Common Lisp有相当大的标准库,其中有大量的功能和灵活的接口,能写出符合各种编程范式的程序(如removereducemap等)。格林斯潘第十定律表示,任何复杂软件系统都需要上述的功能,都将从头到尾重新设计开发这一套系统,而这在Common Lisp中已经存在了。

知名黑客罗伯特·泰潘·莫里斯后来给该定律加上了推论,澄清适用该定律的“足够复杂的”程序集合:

……包括Common Lisp。

可以认为是对编写庞大而复杂的Common Lisp程序困难性的评论,或仅仅是对于Lisp中eval函数的幽默。格林斯潘第十定律和莫里斯推论都具备黑客幽默中“哈哈,但的确如此”的风格特征。

Template:Common Lisp

相关

  • 冠心症冠状动脉疾病(英语:coronary artery disease, CAD)又称为缺血性心脏病或简称冠心病(英语:ischemic heart disease, IHD)、冠状动脉粥状硬化心脏病、冠状动脉粥状硬化心血管疾病(英
  • 感应耦合等离子体仪电感耦合等离子体(英语:Inductively Coupled Plasma,缩写:ICP)是一种通过随时间变化的磁场电磁感应产生电流作为能量来源的等离子体源。如图2,总共有三种不同的ICP供能装置。ICP源
  • 周向宇周向宇(1965年3月-),中国数学家。生于郴州,原籍洞口县。1985年毕业于湘潭大学数学系。现任中国科学院数学与系统科学研究院研究员。1990年获得钟家庆数学奖。2002年获得陈省身数
  • 雪莉·麦克雷恩雪莉·麦克雷恩(Shirley MacLaine,1934年4月24日-)是一位美国女演员,曾经获得奥斯卡最佳女主角奖,也创作过许多自传作品。雪莉·麦克雷恩也是演员沃伦·比蒂的姐姐。Woman Times S
  • 西班牙长枪党西班牙长枪党(西班牙语:Falange Española de las JONS),正式名称为西班牙国家工团主义进攻委员会方阵(Falange Española de las Juntas de Ofensiva Nacional Sindicalista),成立
  • 大禁忌大禁忌(蒙古语:Их хориг)是蒙古国肯特省的一处240平方公里的地域,据信是成吉思汗墓地所在。此地在历史上长期被小心地守护着,直到1980年代末期才对考古学家开放。根据《蒙
  • 抱抱狼《抱抱狼》(英语:Hug Wolf)是《探险时光》第四季第八集的名称。在卡通频道2012年5月14日播出。本集以小男孩芬恩和魔法狗杰克为主角。在这一集里,芬恩与抱抱狼相遇后变身成像狼
  • 欧洲王室情妇列表古代欧洲的婚姻制度受到基督教的牵制,并提倡一夫一妻制,欧洲皇室和贵族离婚必须要具备严格的条件限制,而且必须由基督教最大教派天主教教会同意。此外,贵族婚姻多半都具有政治上
  • 迈克尔·阿尔普顿迈克尔·安东尼·阿尔普顿(英语:Michael Antony Appleton,1975年12月4日-)出生于英格兰大曼彻斯特索尔福德(Salford),是一名前足球运动员,出身曼联青训系统,司职中场,未有为母会一队在联赛上场,曾以借用身份短暂效力林肯城和格林斯比镇,其后转投普雷斯顿,2003年在西布罗姆维奇因严重膝伤提早退役后,留队担任教练职务,于2011年11月获聘任教英冠俱乐部朴茨茅斯,是他首份全职主教练工作。其后曾先后短暂执教英冠俱乐部布莱克浦和布莱克本流浪者。2014年夏季获聘任教英乙俱乐部牛津
  • 色质溶解色质溶解(原文:Chromatolysis),指的是一种神经元细胞的病变过程。在神经元的细胞质里面具有一些尼氏小体(Nissel bodies,一种组织切片上较深色的块状物),这些尼氏小体其实是粗糙内质网(rough ER),即细胞内负责合成蛋白质的地方。 当神经元受到伤害,细胞骨架会试图重新排列,此时,就能借由光学显微镜观察到尼氏小体暂时性消失,而细胞质颜色变得比较白。等到细胞回复正常状态之后,尼氏小体便会再度出现。某些类型的神经元细胞(例如:小脑的Purkinje细胞)的色质溶解无法在光学显微镜下看到