黑客与画家

为什么书呆子不受欢迎

  • 所有东西都在变成软件,印刷机诞生后,人类写过多少个字,未来就有多少家软件公司。
  • 事实上,大多数会画的人,本身就很喜欢画画,将许许多多时间投入其中,这就是为什么他们擅长画画的原因。同样受欢迎也不是天生的,而是要你自己做出来的。
  • 在任何社会等级制度中,那些对自己没自信的人就会通过虐待他们眼中的下等人来突显自己的身份。我已经意识到,正是因为这个原因,在美国社会中底层白人是对待黑人最残酷的群体。
  • 校园生活真正的原因是空虚。

黑客与画家

  • 计算机科学就像一个大杂烩,由于某些历史意外,很多不相干的领域被强行拼装在一起。这个学科的一端是纯粹的数学家,中间部分是计算机博物学家,另一端则是黑客。所以在计算机科学的名下,数学家、物理学家和建筑家都不得不待在同一个系里。
  • 黑客就像画家,工作起来是有心理周期的。有时候,你有了一个令人兴奋的新项目,你会愿意为它一天工作16个小时,等过了这一阵,你又会觉得百无聊赖,对所有事情都提不起兴趣。
  • 普通黑客与优秀黑客的所有区别之中,会不会换位思考可能是最重要的单个因数。有些黑客很聪明,但是完全以自我为中心,根本不会设身处地为用户考虑。这样的人很难设计出优秀软件,因为他们不从用户的角度看待问题。
  • 在达芬奇的年代,绘画并不是一件很酷的事情。达芬奇用自己的工作推动绘画成为一种伟大的表达方式。同样,编程到底能够有多酷,取决于我们能够用这种新媒介做出怎样的工作。

不能说的话

  • 历史上的每一个年代,都会给“异端邪说”贴一些标签,目的是在人们开始思考它们是否为真之前就把它们封杀。“亵渎神明”、“冒犯圣灵”、“异端”都是西方历史上常见的标签,当代的标签则是“有伤风化”、“不得体”、“破坏国家利益”等。
  • 为什么家长要伪装?因为他们觉得孩子不应该知道成年人的所有内容,只需知道一部分适合儿童的就行了。我们喜欢孩子们看上去天真无邪。
  • 一旦发现了“不能说的话”,下一步怎么办?我的建议是就是别说,至少也要挑选合适的场合再说,只打那些值得打的仗。与笨蛋辩论,你也会变成笨蛋。
  • 不管问谁,人们都会说同样的话: “我们心态很开放,愿意接受新思想。”但是实际上,人们脑子里有一根界线,早就认准了什么是对的,什么是错的。换言之,在他们看来,所以观点都是可以讨论的,出来那些错误的观点。
  • 每当你看到有些话被攻击为出自XX分子或XX主义,这就是一个明确的信号,表明背后有问题。
  • 如果自己就是潮水的一部分,怎么能看见潮流的方向呢?你只能永远保持质疑。问自己,什么话是我不能说的?为什么?

良好的坏习惯

  • 在大众眼里,黑客就是入侵计算机的人。可是,在程序员眼里,黑客指的是优秀的程序员。这两个含义其实是相关的。对于程序员来说,黑客这个词的字面意思主要就是精通,也就是他可以随心所欲地支配计算机。

另一条路

  • 互联网软件的发布过程可以分解为一系列的渐进式修改,而不是猛地推出一个大幅变动的版本。一旦采用了这种新模式,你就会知道发布方式对软件开发的影响有多么重大。桌面软件开发之中的许多棘手问题,都是源于它的那么灾难性的发布方式。
  • 大公司付出的高价之中,很大一部分是商家为了让大公司买下这个商品而付出的费用。(如果国防部花1000美元买一个马桶座圈,部分原因是要让国防部买下它本身就需要花很多钱)
  • 苹果公司还没有失败,如果它能把iPod升级为手机,并且将网络浏览器包括其中,那么微软就有大麻烦了。(这段话写于2001年9月,现在看来预言成功了)

如何创造财富

  • 创造有价值的东西就是创造财富。你最好搞清楚什么是财富。财富与金钱并不是同义词(亚当斯密在《国富论》中提到,许多国家为了保住“财富”,禁止出口白银或者黄金。但是黄金和白银实际上只是一种交换媒介,留住它们并不会让一个国家变得更富有。如果物质财富保持不变,金钱越多,导致的唯一结果就是物价越高,即通货膨胀)。大多数生意的目的是为了创造财富,做出人们真正需要的东西。
  • 我们很乐意迫使那些又大又慢的竞争对手跟着我们一起走进沼泽地。创业公司就像游击队一样,喜欢选择不易生存的深山老林作为根据地,政府的正规军无法追到那种地方。我还记得创业初期我们是多么筋疲力尽,整体都为一些可怕的技术难题绞尽脑汁。但是,我还是感动相当高兴,因为那些问题连我们都觉得这么困难,那么竞争对手就更会认为是不可能解决的。

关注贫富分化

  • 总的来说,你要避免的是绝对贫穷,而不是相对贫穷。

设计者的品味

  • 大人教导你说品味只是每个人的偏好而已。但是来到博物馆,他们却对你说,仔细观赏达芬奇的作品,因为他是伟大的艺术家,品味超凡。只要你开始思考这个问题,你就会发现,众多不同学科对“美”的认识有着惊人的相识度。优秀设计的原则是许多学科的共同原则,一再反复出现。
  • 好设计是简单的设计。装饰品本身不是坏事,只有当它被用来掩盖结构的苍白时,才变成了一件坏事。
  • 好设计是永不过时的设计。某些大师的作品太过杰出,永不过时,使得后人几乎难以在该领域立足。
  • 好设计是解决主要问题的设计。
  • 好设计是启发性的设计。
  • 好设计通常是有点趣味性的设计。
  • 好设计是艰苦的设计。并非所有的痛苦都是有益的。你需要的是咬牙向前冲的痛苦,而不是脚被钉子扎破的痛苦。
  • 好设计是看似容易的设计。在大多领域,看上去容易的事情,背后都需要大量的练习。
  • 好设计是对称的设计。
  • 好设计是模仿大自然的设计。
  • 好设计是一种再设计。很少有人一次就把事情做对。开源软件因为公开承认自己的BUG,反而使得代码的BUG比较少。
  • 好设计是能够复制的设计。刚入门的新手不知不觉地模仿他人,逐渐熟练之后才可以创作原创性的作品。
  • 好设计通常是奇特的设计。爱因斯坦并不想让相对论变得很奇特,他只想找出真理,是真理本身显得很奇特。米开朗基罗并没有想过要树立米开朗基罗风格,他只是想画好作品,结果不由自主地创造出了米开朗基罗风格。
  • 好设计是成批出现的。
  • 好设计常常是大胆的设计。

一百年后的编程语言

  • 效率低下的软件并不等于很烂的软件。一种让程序员做无用功的语言才真正称得上很烂。浪费程序员的时间而不是浪费机器的时间才是真正的无效率。随着计算机速度越来越快,这会变得越来越明显。

上一篇
人月神话 人月神话
第一章焦油坑提出了软件工程中乐趣和苦恼,第二章人月神话则讲述了人员数量和时间是无法互换的,并研究了产生这种情况的原因,第三章到第十五章则讨论了解决这种情况的种种方案,到最后得出结论软件工程并没有银弹(即没有万能的方法),只有一些子弹而已。
2012-01-25
下一篇
功利主义 功利主义
穆勒认为,功利主义所谓的“幸福”或“快乐”不是指动物的幸福或快乐,而是指人的幸福或快乐,对于人来说,“理智的快乐,感情和想象的快乐以及道德情感的快乐所具有的价值要远高于单纯感官的快乐。” 承认某些种类的快乐比其他种类的快乐更值得欲求更有价值
2011-12-25