有哪些事情是编程 20 到 50 多年后才知道的?

2,609 阅读2分钟

本文翻译、整理自 Quora 问答:What are some things that only someone who has been programming 20-50 years would know?

有哪些事情是编程 20 到 50 多年后才知道的?

在软件开发方面,所有的东西都已经被发明过了。人们只是不停地去重新发现,然后装作是自己发明了它。你所认为的新鲜的炫酷的无论什么玩意儿,那拷贝自 Smalltalk,或者 HAKMEM,或者 Ivan Sutherland,或者 Douglas Engelbart,或者是早期的 IBM,又或者是贝尔实验室。

不要相信编译器。不要相信工具。不要相信文档。不要相信自己。

我们不需要更多的计算机语言。然而,你还是会跑去再发明一种。让我想想看,你的超级炫酷无敌新语言使用了 IEEE-754 二进制浮点数算术标准以及指定精度的整数。你的超级炫酷无敌新语言是坏掉了的。

维护代码比写代码要难。写一大堆的新代码可以被认为是懒。

你已经被教导编程时不去考虑内存、处理器时间、网络带宽这些,好像它们都是可以随便用和往死里用的。不是这样,不是这样,不是这样。去读一下 Donald Knuth 关于过早优化相关的段落

你将会在几个月内忘掉你现在是在写什么东西。把代码写的尽可能的通俗易读。

有时候,你所需要的仅仅是一行 sed 命令。

注意那些说话比较绝对的程序员,比如「我的方法一定比你的好」这种。编程是一种艺术,不是信仰。

如果你知道你将会把一套流程重复干十次以上,把它自动化了。

备份是一回事。恢复是另外一回事。

东西在你电脑上跑着没毛病不代表就没有 Bug —— Piers Sutton

等开发工具发了第一版之后再安装使用。不要急着去做小白鼠。

好程序员写好代码。伟大的程序员不写代码。神级程序员删代码。

不管有多少经理在后边催着你,第一步要做的是可靠地重现 Bug。

有一天,你会遇到一个年长的有经验的人。某个时候,这个人将会教导你编程之道。别理他。


作 / John Byrd

译 / 陈皮爽@创宇前端

陈皮爱好者,偶尔写代码

编 / 荧声@创宇前端

本文已由作者授权发布,版权属于创宇前端。欢迎注明出处转载本文。本文链接:knownsec-fed.com/2018-09-25-…

想要订阅更多来自知道创宇开发一线的分享,请搜索关注我们的微信公众号:创宇前端(KnownsecFED)。欢迎留言讨论,我们会尽可能回复。

感谢您的阅读。