我于 2019年12月20日 读了 Paul Graham 所著的 黑客与画家

黑客与画家是硅谷教父 Paul Graham 的杂文集, 中译本的译者是博客圈内小有名气的 阮一峰

我认为作者的很多观点都有失偏颇, 存在明显的幸存者偏差(survivorship bias)。比 如作者把初创公司 Viaweb 的成功很大程度归功于采用了 Lisp 编程语言,使得他们的团队 能够快速的开发,就像有了“超级武器”。我个人认为软件工程不是一个初创企业的成功的充 分条件,—— 甚至不是一个必要条件。市场上有很多商业上很成功的公司, 比如Etsy,其 所以成功在于它们解决了用户的问题, 即使下面的开发栈非常稀松。 一个公司的成功往往 是产品、技术、市场等多种因素的综合结果,就好比“幸福的家庭都是相似的,不幸的家庭 各有各的不幸”。

另一方面,作者的很多观点确实值得玩味。

校园霸凌源于秩序的缺失

当一个群体缺乏一个公允的排名方法,其中的个体往往会通过人气排名(popularity contest)来确定在组织里的相互地位。这个在美国学校里颇为流行,美国高中尤甚。 我的 理解是

因此美国的高中生没有中国高中生“千军万马过独木桥” 的压力。美国高中生往往把全部的 精力投入到如何提升自己的个人魅力。 书呆子(nerd)通常是这场比赛的输家,兼职的到 底干不过全职的啊。

在金字塔中央的那部分人,往往是校园霸凌的始作俑者。他们缺少公认的社会地位, —— 比 如橄榄球队员抑或是啦啦队长;但他们可以通过霸凌另一批更不受欢迎的人,从而取得较高 的社会地位。

政治正确

作者对耸人听闻的真话(比如达尔文的进化论,哥白尼的日心说) 和万金油的不合时宜 (inappropriate)所采取的态度都是“守口如瓶,笑脸相迎(i pensieri stretti & il visosciolto)”, —— 这和儒家的 “穷则独善其身,达则兼济天下” 颇有异曲同工之妙。

快速积累财富需要你的工作有可测量性和可放大性

你的职位产生的业绩,应该是可测量的,否则你做得再多,也不会得到更多的报酬。此外 ,你还必须有可放大性,也就是说你做出的决定能够产生巨大的效应。

高科技创业满足了以上的要求。 小团队特性保证了你的工作的可测量性,而零边际成本使 得迅速地占有更大的市场成为可能。

编程语言的进化

编程语言从打孔卡片到汇编语言,再从 Fortran, C 到更高级的抽象。编程语言逐渐从机 器的指令进化成为面向程序员,描述行为的高级语言。一方面高级语言更具有可读性,方便 维护; 另一方面编译器的发展以及计算机体系的日益复杂;使得高级语言的运行性能足够 快1

作者认为

一种语言的内核设计得越小、越干净,它的生命力就越顽强。

这点我同意,语言应该是自洽(self-contained)的,一个小到不能再小的核心对日后的维护 大有裨益; —— 程序代码从某种意义上说,既是功能(features),也是拖累 (liability)。

Footnotes

  1. 在 SIMD 和超标量流水线日益普及的今天,编译器相对手工汇编往往能够生成更加高效 的机器码。原因在于防止流水线停顿,安排读写顺序来充分利用多个执行单元对手工汇 编的程序员有非常高的要求。