《黑客与画家》文摘
发布于 2023-08-19
解开这个谜的关键是把问题换一种提法。为什么聪明的小孩没有让自己变得受欢迎?如果他们真的很聪明,为什么找不到受欢迎的诀窍呢?他们在标准化测试中表现得这么好,为什么就不能在这方面也大获成功呢?
虽然“书呆子”饱尝不受欢迎之苦,但是为了解除痛苦而让他们放弃“聪明”,我想大多数人是不会愿意的。对他们来说,平庸的智力是不可忍受的。不过,要是换了别的孩子,情况就不一样了,大多数人会接受这笔交易。对于很多人来说,这反而是更上一层楼的机会。即使是那些智力排名在前20%的学生(我在这里假设智力可以测量,那时的人们似乎都相信这一点),谁不愿意用30分的成绩换来别人的友爱和钦佩?
黑客与画家的共同之处,在于他们都是创作者。与作曲家、建筑师、作家一样,黑客和画家都是试图创作出优秀的作品。他们本质上都不是在做研究,虽然在创作过程中,他们可能会发现一些新技术(那样当然更好)。
创造优美事物的方式往往不是从头做起,而是在现有成果的基础上做一些小小的调整,或者将已有的观点用比较新的方式组合起来。这种类型的工作很难用研究性的论文表达。
黑客真正想做的是设计优美的软件,考核这种工作是非常困难的。你本人需要有良好的设计感,才能去考核别人的设计是否良好。但是,你觉得你有“良好的设计感”,与你实际是否具有,不存在相关关系,甚至可能存在负相关。能够考核的东西往往都是很无趣的,并不能给世界带来惊喜
唯一有效的外部考核就是时间
我认识的黑客,没有一个人喜欢用静态类型语言编程。我们需要的是一种可以随意涂抹、擦擦改改的语言,我们不想正襟危坐,把一个盛满各种变量类型的茶杯,小心翼翼放在自己的膝盖上,为了与一丝不苟的编译器大婶交谈,努力地挑选词语,确保变量类型匹配,好让自己显得礼貌又周到。
单人创作和多人合作是不一样的,单人创造就像拿着铅笔涂涂改改,这种情况适合松散类型的语言,随时进行改造重构。但是涉及到多人合作,这个时候就需要大家商量协议接口类型等契约,目的也是为了提高整体的效率和质量
大学和实验室强迫黑客成为科学家,企业强迫黑客成为工程师。
发现在他们看来,“黑客”的工作就是用软件实现某个功能,而不是设计软件。在那里,程序员被当作技工,职责就是将产品经理的“构想”(如果这个词是这么用的话)
开源运动最鲜为人知的优点之一,就是使得学习编程变得更容易了
程序写出来是给人看的,附带能在机器上运行。
翻开老照片,看到以前的样子,你会不会感到难为情?我当时真的是穿成这样吗?是的,你没看错,你就是穿成这样。我们穿衣服的时候,根本不知道自己看上去有多傻,还以为很时尚。
硅谷出现在美国,而不是出现在法国、德国、英国、日本,这绝非偶然。后面那些国家的人们总是按部就班地行事。
对于适当的不服从管教,保持宽容不会有太大的坏处,反而很有利于美国的国家优势,它使得美国不仅能吸引聪明人,还能吸引那些很自负的人。
公民自由真的是国家富强的原因,而不是结果吗?我认为是的。在我看来,一个人们拥有言论自由和行动自由的社会,往往最有可能采纳最优方案,而不是采纳最有权势的人提出的方案。专制国家会变成腐败国家,腐败国家会变成贫穷国家,贫穷国家会变成弱小国家。经济学里有一条拉弗曲线(Laffer curve),认为随着税率的上升,税收收入会先增加后减少。我认为政府的力量也是如此,随着对公民自由的限制不断上升,政府的力量会先增加后减小^。至少现在看来,我们的政府很可能蠢到会真的把这个实验付诸实施,亲自验证一下这个观点。但是,税率提高了还能再降下来,而一旦这个实验铸成大错,就悔之晚矣,因为极权主义制度只要形成了,就很难废除。
现在,升级不再对用户形成大的冲击。久而久之,软件变得更强大了。这需要开发者付出一定的努力。他们必须正确地设计软件,使得它能够平滑升级,不让使用者感到困惑。这就是互联网软件面临的新问题,不过解决办法是有的。 所有用户都使用同样版本的互联网软件,bug一发现就会立刻得到纠正。所以,它的bug应该比桌面软件少得多。在Viaweb,我记得未解决的bug最多一次也总共只有十个,大部分问题都是一发现就得到了解决,不会遗留下来。这要比pc互联网时代已经从客户端应用到网页应用过度 移动互联网时代感觉现在还是app的世界
复合式bug有一个子类型:两个bug是互相弥补的,好比“负负得正”,软件反而能正常运行。这种bug可能才是最难发现的bug。当你修正了其中的一个bug,另一个bug才会暴露出来。这时对你来说,你会觉得刚才修正错了,因为那是你最后修改的地方,你就怀疑自己在那里做错了,但是你其实是对的。」
事实上,因为bug不多,你只有经过一些复杂的过程以后才会遇到它们,所以高级使用者往往因为发现了bug感到很得意。他们打电话给客服时,多半是一副胜利者的口吻,而不是怒气冲冲的样子,好像他们击败我们得分了一样。
^「《人月神话》(The Mythical Man-Month)是布鲁克斯(Frederick Brooks)所写的一本软件项目管理名著。所谓“人月”就是一个人在一个月内所能完成的工作量。假如某个项目预估需要12个人月,那么派4个人处理这个项目,理论上需要3个月,派6个人则只需要2个月。但是,布鲁克斯认为这种换算机制在软件业行不通,是一个神话,因为软件项目是交互关系复杂的工作,需要大量的沟通成本,人力的增加会使沟通成本急剧上升,反而无法达到缩短工期的目的。在本质上,软件项目的人力与工期是无法互换的,当项目进度落后时,光靠增加人力到该项目中,并不会加快进度,反而有可能使进度更加延后。(该书英文版已由人民邮电出版社出版。)——译者注」
人数越来越多,开会讨论各个部分如何协同工作所需的时间越来越长,无法预见的互相影响越多越大,产生的bug也越多越多。幸运的是,这个过程的逆向也成立:人数越来越少,软件开发的效率将指数式增长。
^「基准测试(benchmark test)指的是先设置一个基本的数据环境,测试应用程序的表现,然后把这个表现当作“基准”(benchmark),用来比较其他情况下应用程序的表现。——译者注」
没有盗版是一种“优势”,但也是一个问题。一定数量的盗版对软件公司是有好处的。不管你的软件定价多少,有些用户永远都不会购买。如果这样的用户使用盗版,你并没有任何损失。事实上,你反而赚到了,因为你的软件现在多了一个用户,市场影响力就更大了一些,而这个用户可能毕业以后就会出钱购买你的软件。
Viaweb一开始就把个人和小企业当作目标客户。我认为这是互联网软件的通行规则。这些客户决策比较灵活,又需要低成本的新技术,所以他们更愿意尝试新事物。
网页刚诞生的时候,也不是为了用作应用程序的界面,它只是刚好能满足需要。对于相当一部分使用者来说,打开浏览器就能使用软件本身,这已足够吸引人了,用户操作界面的丑陋和不方便并不是一个严重的问题
几个黑客搞懂如何租用办公室,或者如何雇用销售人员,要比那些公司(不管大公司还是小公司)搞懂如何正确写出软件容易得多
如果你想赚100万美元,就不得不忍受相当于100万美元的痛苦
如果创业那么轻松,那么所有人就都去创业了。
通过创造有价值的东西而致富,这种方法的优势不仅仅在于它是合法的(许多其他方法如今都是不合法的),还在于它更简单。你只需要做出别人需要的东西就可以了。
财富才是你的目标,金钱不是这里没必要把金钱和财富区分开。金钱是兑换财富的最便捷的方式,钱的本质是调动资源的能力,在一个正常的市场环境中,有钱你就是拥有财富
目前还存在的最大的手工艺人群体就是程序员。
工作就是在一个组织中,与许多人共同合作,做出某种人们需要的东西。
CEO、电影明星、基金经理、运动员的头顶都悬着一把宝剑,随时可能掉下来。一旦他们搞砸了,他们就完了。
大公司就像巨型的古罗马战舰,一千个划船手共同划桨,推动它前进。但是,两个因素使得它快不起来。一个因素是,每个划船手看不到自己更努力划桨有何不同;另一个因素是,一千人的团队使得任何个人的努力都被大大地平均化了
理想情况下,你与其他愿意更努力工作的人一起组成一个团队,共同谋取更高的回报(相比他们为大公司工作的情况)。因为创业公司的团队往往是自发形成的,许多有抱负的创始人彼此之间早就相识(至少听说过对方),所以他们对彼此贡献的评估要比一般的小团体更准确。创业公司不仅仅是十个人的团队,而且是十个同类人的团队。
团队越大,每个人的贡献就越接近于整体的平均值
创业公司就像游击队一样,喜欢选择不易生存的深山老林作为根据地,政府的正规军无法追到那种地方
真正创业以后,你的竞争对手决定了你到底要有多辛苦,而他们做出的决定都是一样的:你能吃多少苦,我们就能吃多少苦。
创业的付出与回报虽然总体上是成比例的,但是在个体上是不成比例的
蚊子唯一的防御就是,作为一个物种,它们的数量极多,但是作为个体,却极难生存。 创业公司如同蚊子,往往只有两种结局,要么赢得一切,要么彻底消失。你通常不知道自己会是哪一个结局,只有等到最后一刻才会明了。
你必须时刻牢记的最基本的原则就是,创造人们需要的东西,也就是创造财富
缓慢工作的后果并不仅仅是延迟了技术革新,而且很可能会扼杀技术革新。只有在快速获得巨大利益的激励下,你才会去挑战那些困难的问题,否则你根本不愿意去碰它们
冷战、第二次世界大战、近代的大多数战争都说明了这个道理。要鼓励大家去创业。只要懂得藏富于民,国家就会变得强大。让书呆子保住他们的血汗钱,你就会无敌于天下。
每个人的技能不同,导致收入不同,这才是贫富分化的主要原因
一个人的工作具有多少价值不是由政府决定的,而是由市场决定的。
当我们说一些工作报酬过高,另一些工作报酬过低,我们的真实想法到底是什么?在自由竞争的市场经济中,价格由买家的需求决定。如果人们喜欢棒球甚于喜欢诗歌,那么棒球运动员的收入就是要比诗人的收入高。如果说某种工作的报酬过低,那就相当于说人们的需求不正确。当然,人们确实会需求不正确的东西。这有什么好奇怪的呢?你不觉得声称某种工作报酬过低的说法更奇怪吗^?如果你觉得由于人们的需求不正确,导致某些工作的报酬过低而且不公平,那么这个世界一定会让你感到非常遗憾,人们就是喜欢看电视真人秀,而不是莎士比亚作品,人们就是喜欢吃玉米热狗,而不是水煮蔬菜,这是不是很不公平呀?要是你觉得不公平的话,那你就同把蓝颜色说成最漂亮的颜色、把方的说成圆的那样蛮不讲理。就好像微博上经常讨论的明星和科学家的收入问题,明星的收入远大于科学家,但是这能有什么办法呢,需求和市场决定一切
当我们讨论“收入分配不公平”时,我们还要问问收入从何而来,收入背后的财富到底是谁生产出来的^。如果收入完全根据个人创造的财富数量而分配,那么结果可能是不平均的,但是很难说是不公平的。公平与平均截然不同,平均主义会滋生懒惰
很多人对贫富分化不满意的第二个原因就是,在大部分的人类历史中,积累财富最常见的方法其实是偷窃。游牧社会是偷别人的牲口,农业社会是征税(和平时期)和直接掠夺(战争时期)
富人日常做的事情也和普通人差不多。无所事事的闲适生活早就成为罕见情况了。如今,确实有很多人非常有钱,完全不必再去工作,他们之所以还在工作,不是因为感到社会压力,而是因为无所事事使人感到孤独和消沉
技术在加大收入差距的同时,缩小了大部分的其他差距
总的来说,你要避免的是绝对贫穷,而不是相对贫穷促进个人致富,消灭绝对贫困,容许社会贫富差距,但是不能太大 共同富裕不是平均富裕
v1.4.18