Quantcast
Channel: 涂0实验室 »思考
Viewing all articles
Browse latest Browse all 14

评论经典软件名言

$
0
0

以下这些软件方面的名言很有意思。

软件本质

1. “People think that computer science is the art of geniuses but the actual reality is the opposite, just many people doing things that build on each other, like a wall of mini stones.”- Donald Knuth

1. “人们认为计算机科学是天才的艺术,但事实完全相反:只是很多人在共同建立起来的事物之上工作,就像一条由小石头筑成的墙。”—— Donald Knuth

尽管Donald Knuth认为计算机科学不是天才的艺术,但是他却写了本书,名叫The Art Of Computer Programming。无论多么简单的事情,即便是用小石头筑墙,如果能做出美来,那也是艺术。优秀的代码和拙劣的代码一对比,美自然就出现了。

2. “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

2. “今日的大多数软件很像埃及金字塔,由千百万砖头堆砌起来,层层相切,没有着整体的结构,是由畜力和成千上万奴隶的力量建立起来的。”—— Alan Kay

在我看来,就算是在今天,如果软件能做成像金字塔那样,就已经很不错了,至少它分层,砖块与块之间只通过重力耦合,很内聚。

程序员

3. “Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris.”- Larry Wall

3. “大多数的你们都熟悉程序员的美德。它们有三点:懒,不耐烦,以及狂妄自大。”—— Larry Wall

每当我发现我在做一些重复的相似的劳动时,我就想起了这个句名言。自从我迁移到linux下工作后,我渐渐习惯于把一些反复做的杂事用自动化的脚本来处理了,确实能提高效率。

4. “Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.”- Linus Torvalds

4. “大部分好的程序员编程并不是为了钱或名望,而只是因为纯粹的乐趣。”—— Linus Torvalds

很悲哀,我还没有到这个层次,但好歹我还有一部分是为了乐趣,然而很可悲,还有更多的人几乎没有乐趣可言。

5. “On two occasions I have been asked [by members of Parliament]: ‘Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?’ I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.”- Charles Babbage

5. “有两次我被(国会议员)问道:‘ Mr. Babbage,如果你输入计算机错误的数据,正确的答案会出来吗?’我完全无法理解能产生此种问题的大脑的混乱。”

这个议员让我想起了可爱的用户。

6. “First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack.”- George Carrette

6. “首先学会计算机科学和所有的理论。然后发展出一个编程风格。之后便要忘掉所有这些,以自由的方式探索。”—— George Carrette

这不就是无招胜有招吗?可怜我连设计模式的招式都记不全。

编程方法

7. “To iterate is human, to recurse divine.”- L. Peter Deutsch

7. “人理解迭代,神理解递归。”—— Peter Deutsch

命令式的语言往往鼓励用迭代,而函数式的语言往往鼓励用递归。看来要想像神一样思考,就得多用用函数式语言。神哪!

8. “There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.”- C.A.R. Hoare

8. “有两种生成一个软件设计方案的途径。一个是把它做得如此简单,以致于明显不会有漏洞存在。另一个是把它做的如此复杂,以致于不会有明显的漏洞存在。”—— C.A.R. Hoare

所以最好让程序在每一个抽像级别上都很简单,将复杂性分散到各个地方,让每一个函数都简单到不可能会出问题。我们可以通过强制要求每个函数不超过10行,代码嵌套不超过两层,只准用if不准用else来实现这一要求。

9. “Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.”- Martin Golding

9. “编程的时候,总是想着那个维护你代码的人会是一个知道你住在哪儿的有暴力倾向的精神病患者。”—— Martin Golding

所以如果自己要维护自己写的代码,要小心不要让自己自杀。

软件工程

10. “The trouble with programmers is that you can never tell what a programmer is doing until it’s too late.”- Seymour Cray

10. “程序员的问题是,不到太晚,你永远无法知道一个他在做着些什么。”—— Seymour Cray

所以我们需要敏捷。


Viewing all articles
Browse latest Browse all 14

Trending Articles