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