软件开发里所有的东西都已经发明出来了!人们总是在做重复的事情,假装在发明新的东西。如果有个东西让你觉得很酷很新,那它肯定是从 Smalltalk,HAKMEM,Ivan Sutherland,Douglas Engelbart,早期的 IBM 或者 Bell 实验室其中之一抄来的。
别相信编译器,别相信工具,别相信文档,别相信你自己。
我们已经不需要更多的编程语言了!但是… 你还是会立马跑去发明一个新的语言。恩…我猜,你那个超酷的新语言肯定还是用的 IEEE-754 浮点数,以及定宽整数吧。
维护代码比写代码困难的多,写很多很多新代码其实就是在犯懒。
我们学习到的知识说内存、cpu、带宽都是无限和免费的,实际上不是这样,不是这样的,不是这样的。推荐读读 Knuth 的 prematrue optimization 相关的文章。
几个月之后,你就会忘记你当时为啥写那段代码… 写的时候能写多直白就多写多直白(译者建议:永远低估几月后自己的智力准没问题的)。
有时候一行 sed 命令就够了。
如果谁跟你说他的方案绝逼是最好最快,小心点,编程是个艺术不是宗教。
如果你觉得有个事情你要重复做10次以上,就立刻把它做成自动化!(译者觉得大概 3 次就该考虑了…)
备份是一个事情,恢复备份是完全不同的另外一个事情!
仅仅是在你自己的电脑上可以工作不代表没有 bug. - Piers Sutton.
想要装一个新工具的话, 等0.1版本出来再说, 让其他人当小白鼠(Let other people be guinea pigs).
Good programmers write good code. Great programmers write no code. Zen programmers delete code.
好的程序员写好的代码,杰出的程序员不写代码,大师程序员删代码。
出问题时,别管有多少领导正在朝你吼着训话,第一件事情总应该是稳定复现bug。
或早或晚,你会遇到一个编程领域的前辈,他也许会向你传授 Laws of Programming,让他滚一边去。
本文链接: [https://blog.openacid.com/tech/bla/programmer-should-know/]
英文原文:
https://www.quora.com/What-are-some-things-that-only-someone-who-has-been-programming-20-50-years-would-know/answer/John-Byrd-2
本文转载自公众号分布式研究小院,由张炎泼翻译。技术原创及架构实践文章,欢迎通过公众号菜单「联系我们」进行投稿。
高可用架构
改变互联网的构建方式
长按二维码 关注「高可用架构」公众号