《黑客与画家》语录摘要

《黑客与画家》是一本非常浅显易懂的书,是 Paul Graham 的文集,很多浅显想当然的“道理”,其实并非如此,我们经常被经验和教科书误导。如果PG的思维方式也有什么特别之处的话,那就是善于思考、怀疑精神、多问为什么。这本书没有一句多余的话,很多语句和表达方式非常经典,摘抄一部分如下:

  • 关于工作、创业和财富
  1. 你必须时刻牢记的最基本的原则就是,创造人们需要的东西,也就是创造财富。
  2. 只要懂得藏富于民,国家就会变得强大。让书呆子保住他们的血汗钱,你就会无敌于天下。
  3. 创业公司将你所有的压力压缩到三四年。承受较大的压力通常会为你带来额外的报酬。
  4. 工作就是在一个组织中,与许多人共同合作,做出某种人们需要的东西。
  5. 如果你有一个令你感到安全的工作,你是不会致富的。
  6. 与笨蛋辩论,你也会变成笨蛋。自由思考比畅所欲言更重要。
  7. 一个人的工作具有多少价值不是由政府决定的,而是由市场决定的。
  8. 技术在加大收入差距的同时,缩小了大部分的其他差距。
  9. 数学家Norbert Wiener说,如果你与奴隶比赛,你也会变成一个奴隶。
  • 关于设计
  1. 好设计是简单的设计
  2. 好设计是永不过时的设计
  3. 好设计是解决主要问题的设计
  4. 好设计是启发性的设计
  5. 好设计通常是有点趣味性的设计
  6. 好设计是艰苦的设计
  7. 好设计是看似容易的设计
  8. 好设计是对称的设计(包括重复性对称和递归性对称)
  9. 好设计是模仿大自然的设计
  10. 好设计是一种再设计
  11. 好设计是能够复制的设计
  12. 好设计常常是奇特的设计
  13. 好设计常常是奇特的设计
  14. 好设计是成批出现的
  15. 好设计常常是大胆的设计
  16. 优秀作品的秘诀就是:非常严格的品味,再加上实现这种品味的能力
  • 关于编程语言
  1. 一个操作所需的代码越多,就越难避免bug,也越难发现它们。
  2. 一种语言的内核设计得越小、越干净,它的生命力就越顽强。
  3. 编程语言进化缓慢的原因在于它们并不是真正的技术。 语言只是一种书写法,而程序则是一种严格符合规则的描述,以书面形式记录计算机应该如何解决你的问题。所以,编程语言的进化速度更像数学符号的进化速度,而不像真正的技术的进化速度。
  4. Lisp很值得学习。你掌握它以后,会感到它给你带来的极大启发。这会大大提高你的编程水平,使你成为一个更好的程序员。尽管在实际工作中极少会用到Lisp。
  5. 与其说它( 编程语言 )是技术,还不如说是程序员的思考模式。编程语言是技术和宗教的混合物。
  6. 编程语言本质上不是一种技术,而是数学。数学是不会过时的。
  7. 编程语言的所谓的“业界最佳实践”,实际上不会让你变成最佳,只会让你变得很平常。(伊拉恩*加内特)
  8. 虽然语言的核心功能就像大海的深处,很少有变化,但是函数库和开发环境之类的东西就像大海的表面,一直在汹涌澎湃。
  • Lisp语言的九种思想
  1. 条件结构
  2. 函数也是一种数据类型
  3. 递归
  4. 变量的动态类型
  5. 垃圾回收机制
  6. 程序由表达式组成
  7. 符号类型
  8. 代码使用符号和常量组成的树形表示法
  9. 无论什么时候,整个语言都是可用的
  • 其他
  1. 文学研究者的任何成果几乎对文学创作者都毫无影响。
  2. 如果绘画艺术不能用来表现人类本身,那么绘画也不会成为今天受推崇的艺术形式了。
  3. 优秀的设计不一定很“新”,但必须是“好”的;优秀的研究不一定很“好”,但必须是“新”的。
  4. 只有应用“新”的创意和理论,才会诞生超越前人的最佳设计;只有解决那些值得解决的难题,才会诞生最佳研究。
  5. 人们真正注意到你的时候,不是第一眼看到你站在那里,而是发现过了那么久你居然还在那里。
  6. 一个人们拥有言论自由和行动自由的社会,往往最有可能采纳最优方案,而不是采纳最有权势的人提出的方案。专制国家会变成腐败国家,腐败国家会变成贫穷国家,贫穷国家会变成弱小国家。