程序员经典***

我收集了很多关于软件开发者的编程***。这些***和软件开发维护、调试、软件 bug、软件设计和文档、代码质量、测试和管理等相关。下面这 59 条编程***虽然令人捧腹但也揭示了真相。只有真正的软件开发人员才能理解这些编程***的价值。下面,就让我们开始吧……

软件开发人员和程序员***

1. A good programmer is someone who always looks both ways before crossing a one-way street. (Doug Linder)

好的程序员即使在过单行道时也总是会环顾两边。

2. Don’t worry if it doesn’t work right. If everything did, you’d be out of a job. (Mosher’s Law of Software Engineering)

不要担心它能否正常工作。如果一切正常,那么你就会失去工作。

3. The trouble with programmers is that you can never tell what a programmer is doing until it’s too late. (Seymour Cray)

程序员的烦恼是,你永远无法知道一个程序员在做什么,直到为时已晚。

4. Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris. (Larry Wall)

程序员的美德:懒惰,没有耐心以及老子天下第一。

5. Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. (Martin Golding)

写代码的时候总是想象维护你代码的家伙是一个知道你住在哪里的暴力精神病患者。

6. One man’s crappy software is another man’s full time job. (Jessica Gaston)

一个人写的烂软件将会给另一个人带来一份全职工作。

7. If builders built buildings the way programmers wrote programs, then the first woodpecker that came along wound destroy civilization. (Gerald Weinberg)

如果建筑工人用程序员写程序的方式建造建筑物,那么来的第一只啄木鸟(找 bug)就将摧毁文明。

8. The most likely way for the world to be destroyed, most experts agree, is by accident.  That’s where we come in; we’re computer professionals. We cause accidents. (Nathaniel Borenstein)

大多数专家认为,世界被破坏的最有可能的方式是,是因为偶然。那就是我们所要进入的领域:我们是计算机专家。我们制造偶然。

9. It’s a curious thing about our industry: not only do we not learn from our mistakes, we also don’t learn from our successes. (Keith  Braithwaite)

这是我们这个行业的一件咄咄怪事:我们不仅不从错误中学习,我们也不从成功中学习。

10. Once a new technology starts rolling, if you’re not part of the steamroller, you’re part of the road. (Stewart Brand)

一旦一种新技术开始滚动碾压道路,如果你不能成为压路机的一部分,那么你就只能成为道路的一部分。

11. If at first you don’t succeed, call it version 1.0 (unknown)

如果第一次你没有成功,那么称之为 1.0 版,继续加油。

12. All programmers are playwrights and all computers are lousy actors. (Anonymous Hack Actor)

所有的程序员都剧作家,而所有计算机都是糟糕的演员。

13. The sooner you get behind in your work, the more time you have to catch up. (Anonymous Scheduler)

工作拉下得越早,赶上去所需要的时间越多。

14. When a programming language is created that allows programmers to program in simple English, it will be discovered that programmers cannot speak English. (Anonymous Linguist)

当创建一种编程语言允许程序员使用简单英语编程的时候,那么新问题又来了,你会发现程序员不说英语。

15. Why do we never have time to do it right, but always have time to do it over? (Anonymous)

为什么我们总是没有时间把事情做对,却有时间做完它?

16. Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

傻瓜写计算机能理解的代码。优秀的程序员写人类能读懂的代码。

17. Any code of your own that you haven’t looked at for six or more months might as well have been written by someone else. (Eagleson’s law)

自己的代码六个月或更久不见,还不如别人写的代码。

编程/软件开发***

1. Measuring programming progress by lines of code is like measuring aircraft building progress by weight. (Bill Gates)

通过代码行数衡量开发进程就好比用重量来衡量飞机制造进度。

2. Programming is like sex. One mistake and you have to support it for the rest of your life. (Michael Sinz)

编程就像***一样。一个错误就能绑住你的余生。

3. Walking on water and developing software from a specification are easy if both are frozen. (Edward V Berard)

在目的明确的基础上开发软件就像在结冰的水上行走一样简单。

4. The first 90 percent of the code accounts for the first 90 percent of the development time…The remaining 10 percent of the code accounts for the other 90 percent of the development time.(Tom Cargill)

开始 90% 的代码占开始 90% 的开发时间……剩下 10% 的代码还是占 90% 的开发时间。

5. Commenting your code is like cleaning your bathroom — you never want to do it, but it really does create a more pleasant experience for you and your guests. (Ryan Campbell)

注释代码就像是清洁浴室——尽管你满心不情愿,但它确实可以为你和你的客人创造一种更舒适的体验。

6. Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. (Rick Cook)

当今的编程是软件工程师——努力建设更大多更好的傻瓜式程序,和上帝——试图产出更大多更好的傻瓜之间的竞争。到目前为止,世上帝是获胜者。

7. The hardest part of design … is keeping features out. (Donald Norman)

设计中最难的部分……是阻止功能。

8. In order to understand recursion, one must first understand recursion. (Anonymous)

要想了解递归,首先必须理解递归。

9. There are only two kinds of programming languages: those people always bitch about and those nobody uses. (Bjarne Stroustrup)

只有两种编程语言:一种是天天挨骂的,另一种是没人用的。

10. The best thing about a boolean is even if you are wrong, you are only off by a bit. (Anonymous)

关于布尔值最妙的一点是,就算你错了,你也只是错了这一处而已。

11. If Java had true garbage collection, most programs would delete themselves upon execution. (Robert Swell)

如果 Java 真的有垃圾收集,那么大多数程序会执行自我删除。

12. In theory, there is no difference between theory and practice. But, in practice, there is. (Jan L. A. van de Snepscheut)

理论上看,理论和实践之间是没有差别的。但是,在实践中,有。

13. Ready, fire, aim: the fast approach to software development. Ready, aim, aim, aim, aim: the slow approach to software development. (Anonymous)

准备,开火,瞄准:快速的软件开发方法。准备,瞄准,瞄准,瞄准,瞄准:缓慢的软件开发方法。

14. Programming is 10% science, 20% ingenuity, and 70% getting the ingenuity to work with the science. (Anonymous)

编程就是 10% 的科学,20% 得的独创性,再加 70% 和这门科学的灵巧合作。

15. It is easier to measure something than to understand what you have measured. (Anonymous)

衡量比理解你衡量了什么容易。

16. Benchmarks don’t lie, but liars do benchmarks. (Anonymous)

基准不会撒谎,但制定基准的人会撒谎。

17. Better train people and risk they leave – than do nothing and risk they stay. (Anonymous)

就算是培训好的员工离开——也好过他们什么也不做却留下来。

18. The goal of Computer Science is to build something that will last at least until we’ve finished building it. (Anonymous)

计算机科学的目标是构建一个至少能持续到我们构建完成的东西。

19. Java is to JavaScript what Car is to Carpet.  (Chris Heilmann)

Java 之于 JavaScript 就像 car 之于 carpet(地毯)。后者看上去像是前者的衍生物,实则是完全不同的两个东西。

20. It’s not at all important to get it right the first time. It’s vitally important to get it right the last time. (Andrew Hunt and David Thomas)

第一次是否正确完成一点也不重要。最后一次正确完成才至关重要。

21. Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration. (Stan Kelly-Bootle)

数组的下标一定要从 0 或 1 开始吗?我认为,我采取的中间值 0.5 没有经过适当考虑就被驳回了。

22. Programs must be written for people to read, and only incidentally for machines to execute. (Abelson / Sussman)

程序必须写得能供人阅读,机器执行只是附带。

23. Programming can be fun, so can cryptography; however they should not be combined. (Kreitzberg and Shneiderman)

编程可以很有趣,密码学也是如此;但是两者不应该搅和在一起。

24. Copy and paste is a design error.  (David Parnas)

复制粘贴是一个设计错误。

25. Computers are good at following instructions, but not at reading your mind. (Donald Knuth)

计算机善于遵循指令,不善于读取你的想法。

软件调试***

1. Deleted code is debugged code. (Jeff Sickel)

删除的代码是经过调试的代码。

2. If debugging is the process of removing software bugs, then programming must be the process of putting them in. (Edsger Dijkstra)

如果调试是消除软件 bug 的过程,那么编程就是产出 bug 的过程。

3. Debugging is twice as hard as writing the code in the first place.  Therefore, if you write the code as cleverly as possible, you are–by definition–not smart enough to debug it.

调试一段程序的难度是写出这段程序的难度的两倍,因此,如果你的代码尽可能清楚的话,那么你就不用费力地调试它。

4. It’s hard enough to find an error in your code when you’re looking for it; it’s even harder when you’ve assumed your code is error-free. (Steve McConnel)

你的目的是找 bug 的时候,bug 已经很难找了;更不要说当你认为自己的代码中没有错误的时候。

软件 bug ***

1. It’s not a bug – it’s an undocumented feature. (Anonymous)

这不是 bug——这是没有被证明的功能。

2. Without requirements or design, programming is the art of adding bugs to an empty text file. (Louis Srygley)

如果没有需求和设计,那么编程就是添加 bug 到空的文本文件的艺术。

3. Bad code isn’t bad, its just misunderstood. (Anonymous Code Behaviorist)

所谓坏的代码并不坏,它只是被误解了。

4. There are two ways to write error-free programs; only the third one works. (Alan J. Perlis)

写没有错误的程序有两种方式;但第三种才有效。

5. Beware of bugs in the above code; I have only proved it correct, not tried it. (Donald Knuth)

小心上面代码中的 bug;我只证明了它是正确的,还没有尝试过。

软件/终端产品***

1. Before software can be reusable it first has to be usable. (Ralph Johnson)

在软件可以被可重复使用前,它首先必须是可用的。

2. Software undergoes beta testing shortly before it’s released. Beta is Latin for “still doesn’t work”. (Anonymous)

软件在发布前要经过 beta 测试。beta 即拉丁语“仍然无法正常工作”的意思。

3. The best performance improvement is the transition from the nonworking state to the working state. (J. Osterhout)

最佳性能改进是指从不可工作状态向工作状态的转变。

4. The cheapest, fastest, and most reliable components are those that aren’t there. (Gordon Bell)

最便宜,最快和最可靠的组件是不存在的。

5. I think Microsoft named .Net so it wouldn’t show up in a Unix directory listing. (Oktal)

我认为微软命名 .Net,它就不会在 Unix 目录列表显示出来。

6. Software and cathedrals are much the same – first we build them, then we pray. (Sam Redwine)

软件和教堂非常相似——首先,我们建造它们,然后我们祈祷。

7. The software isn’t finished until the last user is dead. (Anonymous)

直到最后一个用户死去,软件才算完成。

8. Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves. (Alan Kay)

现在的大多数软件非常像***金字塔,在彼此之间堆建了成千上万的砖块,缺乏结构完整性,只是靠蛮力和成千上万的奴隶完成。

全部评论
只有程序员才知道这些啊
点赞 回复 分享
发布于 2016-07-04 14:05

相关推荐

最近又搬回宿舍了,在工位坐不住,写一写秋招起伏不断的心态变化,也算对自己心态的一些思考表演式学习从开始为实习准备的时候就特别焦虑,楼主一开始选择的是cpp后端,但是24届这个方向已经炸了,同时自己又因为本科非92且非科班,所以感到机会更加迷茫。在某天晚上用java写出hello world并失眠一整晚后选择老本行干嵌入式。理想是美好的,现实情况是每天忙但又没有实质性进展,总是在配环境,调工具,顺带还要推科研。而这时候才发现自己一直在表演式学习,徘徊在设想如何展开工作的循环里,导致没有实质性进展。现在看来当时如果把精力专注在动手写而不是两只手端着看教程,基本功或许不会那么差。实习的焦虑5月,楼主...
耶比:哲学上有一个问题,玛丽的房间:玛丽知道眼睛识别色彩的原理知道各种颜色,但是她生活在黑白的房间里,直到有一天玛丽的房门打开了她亲眼看到了颜色,才知道什么是色彩。我现在最大可能的减少对非工作事情的思考,如果有一件事困扰了我, 能解决的我就直接做(去哪里或者和谁吵架等等……),解决不了的我就不想了,每一天都是最年轻的一天,珍惜今天吧
投递比亚迪等公司10个岗位 > 秋招被确诊为…… 牛客创作赏金赛
点赞 评论 收藏
分享
冲芭芭拉鸭:你这图还挺新,偷了。
投递美团等公司10个岗位
点赞 评论 收藏
分享
10-05 23:02
东北大学 Java
我说句实话啊:那时候看三个月培训班视频,随便做个项目背点八股,都能说3 40w是侮辱价
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-26 15:46
已编辑
字节国际 电商后端 24k-35k
点赞 评论 收藏
分享
评论
4
收藏
分享
牛客网
牛客企业服务