编程120句格言
内容提要
这篇文章是一篇关于编程的寓言,探讨了编程的各个方面,包括原则、技巧和思考。强调了编程的复杂性和挑战,并提出了一些哲学观点。
关键要点
-
一个人的常量就是另一个人的变量。
-
函数延迟绑定;数据结构诱导绑定,寓意在编程后期对数据进行结构化。
-
句法糖会导致分号癌。
-
每个程序都是其他程序的一部分,很少有合适的程序。
-
处理大量数据的程序只能通过少量方式完成。
-
对称是降低复杂性的概念,需到处寻求对称。
-
编写错误的程序比理解正确的程序更容易。
-
低级编程语言需要关注无关紧要的问题。
-
让100个函数在一个数据结构上运行比让10个函数在10个数据结构上运行要好。
-
尽早形成习惯,标准化编程方法。
-
存储过程参数过多可能导致遗漏。
-
递归是计算的根源,用描述换取时间。
-
相同程序应放入微码中以确保不一样。
-
每项计划最终都会变成废墟。
-
一切应自上而下进行,除了第一次。
-
每个程序至少有两个目的,一个是编写目的,另一个则不是。
-
听众点头时应叫醒他。
-
没有循环和结构变量的程序不值得写。
-
不影响编程思维的语言不值得了解。
-
模块化可能导致误解,隐藏信息需检查通信。
-
优化会阻碍进化。
-
好的系统不可能有弱的指令语言。
-
理解程序需同时成为机器和程序。
-
从小编程可能帮助成年后理解程序。
-
人只能在头脑中显示复杂信息,运动和视角变化更重要。
-
程序中总有想说的话,难以用已知语言表达。
-
一旦懂得编程,就可以让他人编写程序。
-
计算机领域难以找到合适的时间单位来衡量进度。
-
改头换面的类似方法是在控制图中添加循环边。
-
编程过程是更普遍事情的特例,常常了解得太快。
-
简单在复杂之后,而非之前。
-
衡量程序员的标准是案例分析的完整性。
-
字符串是一种赤裸裸的数据结构,隐藏信息的载体。
-
每个人都可以学会雕刻,伟大的程序员也需学习。
-
用程序证明四色定理并不改变数学的重要性。
-
真实计算机的标准化可能是一场灾难。
-
结构化程序支持排除中间定律。
-
一张图片胜过一万个单词,但描述图片的单词有限。
-
编写无错程序有两种方法,只有第三种有效。
-
某些编程语言能吸收变化,但抵挡不住进步。
-
程序员对FORTRAN的态度能反映其观点。
-
软件系统中,早起的鸟儿有虫吃。
-
计算的目标是模拟合成能力,而非理解分析能力。
-
编程是一种文字游戏。
-
没有免费的变量。
-
外行人最好的编程书籍是《爱丽丝漫游奇境记》。
-
放弃汇编语言是罪恶的,使用浪费机器周期的语言也是。
-
理解基于知识的系统后,指尖会被灼伤。
-
把电脑带入家庭不会改变任何人。
-
系统有子系统,循环往复,导致重新开始。
-
许多好想法在语义鸿沟中消失。
-
小心图灵焦油坑,可能性多但不易。
-
LISP程序员知道价值但不知成本。
-
软件始终处于紧张状态,符号可以任意改变。
-
修改规范以适应程序比反之更容易。
-
傻瓜忽视复杂性,实用主义者承受复杂性,天才能消除复杂性。
-
希望编程语言能像英语一样灵活。
-
追求遥不可及的东西时,简单成为阻碍。
-
在编程领域,犯错就是重生。
-
计算中,不变式是短暂的。
-
编写能学习的程序时,我们会而它们不会。
-
手段能证明目的的正确性,目标推动技术发展。
-
计算机处理的是数字而非符号。
-
制造变量容易,控制不变的持续时间才是诀窍。
-
寻求算法与程序之间的区别耗费精力。
-
相信数据结构就必须相信独立处理。
-
在5年内得到极好的编程语言,但无法控制时间。
-
印第安人发展手语用于交流,程序员也需共同语言。
-
文档像定期保险,几乎没人依赖其好处。
-
充分的引导是自相矛盾的。
-
控制语言变化的不是弱点,而是优势。
-
软件是用来丢弃的,意义在于看作肥皂泡。
-
计算机领域急需新的陈词滥调,平庸能舒缓神经。
-
程序参数应由用户而非创建者设定。
-
人、计算机和算法之间的交流需由人调整。
-
如果电脑会说英语,可能是日本制造。
-
一年的人工智能研究足以让人相信上帝。
-
长期接触计算机会让数学家变成文员,反之亦然。
-
化腐朽为神奇是软件的生动定义。
-
程序证明费马次定理,成功在望。
-
图灵机与现代计算机的区别如同登顶与建立酒店的区别。
-
研究实验室的座右铭是今天研究的,明天他人会想到。
-
中国人崇拜APL,但花钱在FORTRAN上。
-
在活动数据库系统中,程序与数据的比例不能随意缩小。
-
微型计算机在语义上属于哪一种?
-
麦克斯韦方程不足以设计电动机,非计算机的错。
-
使用手动计算器不能学会计算,但可忘记算术。
-
计算让树开花,计算机是千面机器。
-
电脑是终极污染者,粪便与生产的食物无区别。
-
想要编程语言只需说出希望做什么的人,给他棒棒糖。
-
接口能保持整洁,但不能加速发展。
-
不愿对想法负责,就不要有好的想法。
-
计算机不会引入秩序,而是暴露机会。
-
教授坚持计算机科学是X而非Y时,应同情研究生。
-
计算机领域平均失败时间越来越短。
-
人机共生中,必须由人调整,机器不能。
-
只要有一个程序存在,就永远不会没有可编程的东西。
-
应对失败简单:努力工作,不断进步。
-
成功也容易处理:解决错误的问题,努力改进。
-
不能用正式的方法从非正式走向正式。
-
纯应用性语言的应用性很差。
-
系统价值的证明就是它的存在。
-
无法传达复杂性,只能意识到复杂性。
-
从字符串中提取意义困难,但它们是交流工具。
-
争论PL/I是巴赫特里亚语还是单峰驼语。
-
程序员见面批评程序时,双方沉默不语。
-
利用超大规模集成电路可在1平方厘米内安装100台ENIACS。
-
编辑是一种改写活动。
-
罗马帝国崩溃的原因与办公自动化的拉丁文有关。
-
计算机科学因计算机而尴尬。
-
连接神经科学与心理学的理论将源于软件研究。
-
自然语言在计算机中是不自然的。
-
编程的概念显而易见,但实际操作不可能。
-
认为知道何时学习、写作、教学,但不知何时编程。
-
教孩子们编程违背现代教育规律。
-
想象电脑机器人是唯一男仆的社会,能想象任何事情。
-
编程是一种不自然的行为。
-
改造旧程序以适应新机器通常意味着改造新机器。