AlanJayPerlis关于计算机编程的名言警句,建议收藏!

点击查看本书课程大纲

【编者按】让我们来看看第一届图灵奖得主 Alan Jay Perlis 关于计算机编程的著名格言。建议收集它们!

作者 | Alan J. Perlis 翻译 | 香槟超新星

出品 | CSDN(ID:CSDNnews)

作者简介:Alan Jay Perlis(1922年4月1日-199年2月7日0),美国著名计算机科学家,曾任普渡大学、卡内基梅隆大学、耶鲁大学教授。第一位图灵获奖者。

1.一个人的常数就是另一个人的变量。(A 的常数,B 的变量)

2.函数延迟绑定;数据结构诱导绑定。正确姿势:在编程后期定义数据结构。

3.语法糖会导致分号癌。

4.每个程序都是另一个程序的一部分,所以它很少完全适用。

5.如果一个程序需要处理大量的数据,它必须限制在几种处理方式。

6.对称的概念降低了复杂度(协程包括子程序);不要错过任何找到对称性的机会。

7.编写错误的程序比理解正确的程序容易。

8.如果一种语言的程序需要人们关注一些不相关的东西,那么它就是一种低级语言。(低级)

9.在同一个数据结构上运行 100 个函数比在 10 个数据结构上运行 10 个函数要好。

10.尽早养成习惯:以同样的方式做同样的过程。积累成语。标准化。莎士比亚和你的唯一区别是成语的数量,而不是词汇量。

11.如果你的程序有 10 个参数,你可能会遗漏一些。

12.递归是计算的来源,因为它用更长的执行时间换取更短的描述。

13.如果两个人写的程序完全一样,那么每个人都要反汇编成微码,这样以后肯定不一样了。

14.长此以往,每个程序都会变得越来越多余,最终变成一堆无用的碎片。

15.一切都应该自顶向下构建,除了第一次。

16.每个程序至少有两个目的:一个是编写它的原因,另一个不是。

17.如果观众在你讲解节目时点头,他一定是睡着了,请叫醒他。

18.没有循环和结构化变量的程序根本不值得写。

19.如果一门编程语言不影响你对编程的整体认知,它甚至不值得学习。

20.只要有模块化,就会产生误解:隐藏部分信息意味着注意检查通信过程。

21.优化阻碍了软件的发展。

22.一个好的系统必须有强大的命令语言。

23.要理解一个程序,你必须既是机器又是程序。

24.如果我们从小就开始写程序,也许长大后就能自动阅读。

25.一个人只能在脑海中显示复杂的信息。就像视觉一样,运动、流动或视角的变化远比静止图像重​​要得多,无论图像多么美丽。

26.在程序中总会有一些我们想表达的东西,而任何已知的语言都无法很好地表达出来。

27.一旦你真正理解了编程的精髓,就请别人来写吧。

28.在计算机行业,很难找到正确的时间单位来衡量进度。某些大教堂需要一个世纪才能完成。你能想象一个需要这么长时间的程序的大小吗?

29.如果要翻新一个系统的门面,需要在控制图中添加一条可以形成循环的边,而不仅仅是一个新的节点。

30.在编程过程中,我们所做的一切都是一些更一般情况下的特例——而且我们通常很快就掌握了窍门。

31.简洁不先于复杂性,它出现在复杂性之后。

32.程序员不应该以他们的聪明才智和逻辑来衡量,而应该以他们案例分析的完整性来衡量。

33.第十一条诫命是“你要数数”或“你不可数数”——我忘记了。(第十一条诫命是“你要计算”或“你不要计算”。译者注:这是对基督教十诫的暗示。)

34.字符串是一种极端的数据结构,任何地方传递一个字符串都会有很多重复的过程。它是隐藏信息的理想工具。

35.每个人都可以学习如何雕刻:但不是米开朗基罗。优秀的程序员也是如此。

36.使用程序来证明四色定理并不会改变其背后的数学——它只是表明本世纪的挑战本身在数学上可能并不那么重要。

37.最重要的计算机其实是在我们的大脑中高速运转,不断地向外界寻求对大脑的满意模拟。在真实计算机上进行标准化将是一场灾难——因此标准化可能不会发生。

38.结构化编程支持排中律。(译者注:排中律,排中律是指在同一个思维过程中,两种相互矛盾的思想不能都是假的,但一定是真的。)

39.关于图片:一张图片的价值高达 10,000 个单词——但描述图片的单词只有 10,000 个单词。很少有一组 10K 的单词可以用图片来充分描述。

40.有两种方法可以编写完全不报告错误的程序:但只有第三种有效。

41.有些编程语言在没有进步的情况下拥抱了变化。

42.可以通过程序员对 FORTRAN 持续活力的态度来了解他自己。

43.在软件系统的世界里,通常是早起的鸟儿创造了错误。

44.有时我认为计算中唯一统一的就是获取-执行周期。

45.计算的目的是模仿我们的综合能力,而不是理解我们的分析能力。

46.就像双关语一样,编程是文字游戏。

47.正如威尔·罗杰斯所说,“没有自由变量这样的东西。”

48.对于初学者来说,最好的编程入门书籍是《爱丽丝梦游仙境》。但这仅仅是因为,对于任何行业的外行来说,这本书都是最好的。

49.在我们的伊甸园,放弃汇编语言是我们偷的禁果:浪费机器周期的编程语言是罪恶的。现在,LISP 机器允许 LISP 程序员脱掉他们的胸罩和无花果叶。

50.当我们理解了基于知识的系统时,它会和以前一样——但我们的指尖会被烧焦。

51.把电脑带回家,既不会改变家,也不会改变电脑,反而能让角落酒吧焕然一新。

52.一个系统有子系统,子系统有子系统,子孙无穷无尽,这就解释了为什么我们总是需要重新开始。

53.很多好主意一旦跨越语义鸿沟,就再也听不到了。

54.提防图灵焦油坑,虽然一切皆有可能,但你想做的事都不是一件容易的事。

55. LISP 程序员只看到一切的价值,却不知道要付出的代价。

56.软件一直处于紧张状态。因为它似乎任意更完美;但它也可以任意改变这种状态。

57.更改规范以适应程序比其他方式容易得多。

58.愚蠢的人会忽略复杂性。实用主义者为此受苦。少数可以绕道而行。天才将其删除。

图片[1]-AlanJayPerlis关于计算机编程的名言警句,建议收藏!-老王博客

59.在英语中,每个单词都可以变成动词。这在我们的编程语言中可能吗?

60.简洁只会在寻找无法实现的事情时成为障碍。

61.在编程中,就像在其他一切中一样有一种新的运算符号,犯错意味着涅槃。

62.在计算中,常数是短暂的。

63.当我们编写“学习”的程序时,事后证明我们学会了,但程序没有。

64.通常是手段使目标合理化:目标推动技术的发展,即使目标不复存在,技术仍然存在。

65.别搞错了:计算机处理的是数字,而不是符号。我们将活动算术化的程度衡量了我们理解(和控制)的程度。

66.使变量可变很容易。控制恒定的持续时间是困难的部分。

67.想想我们花了多少精力来弄清楚“算法”和“程序”之间的根本区别。

68.如果我们相信数据结构,我们就必须相信独立的(因此是并行的)进程。我们为什么要在结构内收集数据?为什么我们要容忍只提供其中一种的语言?

69.在大约 5 年内,我们将拥有一门非常好的编程语言。只是我们无法控制这5年什么时候到来。

70.几个世纪以来,印度人已经发展出手语来交流对生活至关重要的现象。来自不同部落(FORTRAN、LISP、ALGOL、SNOBOL 等)的程序员无需在小马上携带黑板就可以做到这一点。

71.文档就像定期保险:它满足了人类的需求,因为几乎没有人为了利润而这样做。

72.足够的引导是一个悖论。

73.控制变化梯度的不是语言的弱点,而是语言的强弱:唉,语言永远摆脱不了自己的原生桎梏。

74.软件是否有可能与其他任何东西不同,因为它天生就注定要被抛弃:它注定要像肥皂泡一样破裂?

75.因为生活充满活力,计算领域总是迫切需要一个新的陈词滥调:平庸可以安抚我们的神经。

76.程序参数应由用户设置,而不是程序的创建者。

77.人、计算机和算法之间的交流就像一场抢凳子的游戏:疯狂地追求平衡只能让三者中的一个尴尬地站着。

78.如果你的电脑会说英语,那它很可能是日本制造的。

79.一年接触人工智能就足以开始相信上帝真的存在。

80.长时间接触电脑,会让数学家变成文员,文员变成数学家。

81.在计算中,将显而易见的东西变成有用的东西是“挫折”一词的生动定义。

82.我们正处于时代变化的边缘:今天,我们的程序证明了费马的倒数第二个定理。

83.图灵机和现代计算机有什么区别?就像希拉里登顶珠穆朗玛峰和希尔顿在珠穆朗玛峰就职典礼之间的区别一样。

84.研究室的座右铭:我们今天已经在做的研究,有些人可能要到明天才有这个想法。

85.虽然中国人应该崇拜APL,但他们赌的是FORTRAN。

86.如果我们认为活动数据库系统中进程与数据的比率可以任意降低,甚至保持很小,那我们就是自欺欺人。

87.我们有迷你(mini)电脑和微型(micro)电脑。而微微计算机又是一个什么样的小众语义分支呢?

88.麦克斯韦方程不足以设计电动机,也不是计算机的错。

89.使用手持计算器并不能教会人们计算机知识,但它会让人们忘记如何做算术。

90.有了计算技术,铁树才能开花。

91.这台电脑让人想起LonChaney——它是一台拥有一千张面孔的机器。

92.计算机是污染的最终来源:它们产生的废物与它们生产的食物无法区分。

93.当有人说“我想要这样的编程语言,我只需要说出我想要的”,就给他一根棒棒糖。

94.界面保持项目整洁,但不会加速其增长:功能可以。

95.如果你不想为自己的想法负责,再好的想法也没有用,别提了。

96.计算机不会自己带来秩序,就像它不会自己带来机会一样。

97.当教授坚持计算机科学是 X 但绝对不是 Y 时,请同情他的研究生。

98.在计算中,平均失效时间会越来越短。

99.在人类和计算机的共生系统中,适应机器取决于人类:因为机器不会适应自己。

100.只要世界上只有一个程序,我们就永远不会没有程序可写。

101.应对失败的方法很简单:努力改进。处理成功的方法很简单:你解决了错误的问题。所以也需要改进。

102.从非正式到正式的转变仅通过表面上正式的方式是不可能的。

103.纯适用语言有一种新的运算符号,适用性差。

104.系统的存在本身就是其价值的证明。

105.你无法传达复杂性本身,只有意识到它。

106.很难从字符串中提取意义,但字符串是我们交流的唯一方式。

10 7.争论升温:PL/I 是双峰驼还是双峰驼(双峰驼还是双峰驼)?

108.每当两个程序员批评自己的程序时,两人都保持沉默。

109.想想吧!使用 VLSI,我们可以在 1 平方厘米内包装 100 个 ENIACS。

110.编辑是一种改写练习。

111.罗马帝国为何衰落?拉丁语中的“办公自动化”怎么说?

112.计算机让计算机科学感到羞耻。

113.将神经科学和心理学联系起来的唯一建设性理论将诞生于软件研究。

114.自然语言对计算机来说是不自然的。

115.对于大多数人来说,虽然编程的概念简单明了,但实际上编程比上天还难。

116.当你会学的时候,你觉得自己差不多知道了,当你能写下来的时候,你觉得更有信心,当你能教别人的时候,你觉得自己更懂,但是当你会写程序的时候, 你可以肯定你真的明白。

117.教孩子编程是违反现代教育原则的。制定计划,严谨地组织思想,关注细节,学会自我批评。做这些事情有什么乐趣?

118.如果你能想象一个只有电脑或机器人处于底层的社会,还有什么是你无法想象的。

119.编程不自然。

120.使旧程序适应新机器通常意味着新机器被调整为像旧机器一样运行。

原文链接:

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论