黑客与画家
这里是一本名叫《黑客与画家》的书的书摘。
2024/04/04
《黑客与画家》
“对于黑客来说,关着的门就是一种挑衅,而锁着的门则是一种侮辱。”
Chapter 1
“书呆子”的目标具有两重性。他们毫无疑问想让自己受欢迎,但是他们更愿意让自己聪明。“受欢迎”并不是你在课后时间随便做一做就能实现的,尤其是在美国的中学中,在这里,所有人为了个人魅力都会进行激烈竞争。”
“没错,成年人不知道孩子们内部发生的事。认识到这一点很重要。在抽象意义上,成年人知道孩子的行为有时是极端残酷的,这正如我们在抽象意义上知道贫穷国家的人民生活极端艰难。但是,像所有人一样,成年人不喜欢揪住不放这种令人不快的事实。你不去埋头探寻,就不会发现具体的证据,就会永远以为这件事是抽象的。
公立学校的老师很像监狱的狱卒。看管监狱的人主要关心的是犯人都待在自己应该待的位置。然后,让犯人有东西吃,尽可能不要发生斗殴和伤害事件,这就可以了。”
“总体上看,我就读的学校与上面说的监狱差不多。校方最重视的事情,就是让学生待在自己应该待的位置。与此同时,让学生有东西吃,避免公然的暴力行为,接下来才是尝试教给学生一些东西。”
“可是,为什么离开学校以后,真实的世界却能友好地对待书呆子呢?” “我认为,真实世界的关键并非在于它是由成年人组成的,而在于它的庞大规模使得你做的每件事都能产生真正意义上的效果。”
Chapter 2
“塞缪尔·约翰逊^说过,人们对一个作家的评价,需要100年才能达成一致^^。你必须先等他的那些有影响力的朋友都死了,然后再等他的追随者都死了,才能对他有一个公正的评价。”
“黑客搞懂“计算理论”(theory of computation)的必要性,与画家搞懂颜料化学成分的必要性差不多大。”
“创作者不同于科学家,明白这一点有很多好处。除了不用为静态类型烦恼以外,还可以免去另一个折磨科学家的难题,那就是“对数学家的妒忌”。科学界的每一个人,暗地里都相信数学家比自己聪明。我觉得,数学家自己也相信这一点。最后的结果就是科学家往往会把自己的工作尽可能弄得看上去像数学。对于物理学这样的领域,这可能不会有太大不良影响。但是,你越往自然科学的方向发展,它就越成为一个严重的问题.
一页写满了数学公式的纸真是令人印象深刻啊。(小窍门:用希腊字母表示变量名会令人印象更深刻。)因此,你就受到巨大的诱惑,去解决那些能够用数学公式处理的问题,而不是去解决真正重要的问题。”
“大学和实验室强迫黑客成为科学家,企业强迫黑客成为工程师。”
“我们看到这种模式一再反复出现。一种新的媒介刚刚诞生的时候,人们热情髙涨、兴奋不已,短短几代人就探索清楚了这种媒介的大部分可能性,把它的能量发挥到极致。编程目前好像就处在这个阶段。
在达·芬奇的年代,绘画并不是一件很酷的事情,达·芬奇用自己的工作推动绘画成为一种伟大的表达方式。同样,编程到底能够有多酷,取决于我们能够用这种新媒介做出怎样的工作。”
Chapter 3
“但真正令人惊恐的是,流行一时的不仅有衣服,还有道德观念。明明是专横武断、毫无依据的错误观点,但是大多数人却深信不疑,受到影响而不自知。这是非常危险的。流行的衣服,其实是很难看的衣服;流行的道德观念,其实不是善而是恶。但是,如果别人都穿流行的衣服,而你不穿,你就会遭到嘲讽;如果别人都遵守流行的道德观念,而你不遵守,结果则要严重得多,你会被解雇、流放、监禁,甚至被杀。”
“我们这个时代是否有所不同?只要读过一点历史,你就知道答案几乎确定无疑,就是“没有不同”。即使有那么一丝微小的可能,有史以来第一次,我们这个时代的所有信念都是正确的,那也是出于惊人的巧合,而不是因为我们真找到了正确的方向。
一想到现在我们言之凿凿的东西,在未来人们的眼里却是荒诞不经,怎能不令人感叹呢!如果未来有人坐着时间机器来到我们这个时代,哪些话是他小心翼翼避免说出口的?”
“让我先问你一个问题:大庭广众之下,你有没有什么观点不愿说出口?如果回答是没有,那么你也许应该停下来想一想了。你的每一个观点都能毫不犹豫地说出口,你自己深深赞同这些观点,并且你也确信肯定会获得别人的赞同,这是否太过于巧合了?一种可能是,也许事情并没有这么巧合,你的观点就是从别人那里听来的,别人告诉你什么,你就相信了什么,你把别人灌输的观点当作了自己的观点。 另一种可能是,你的思想观点确实是独立思考得到的,碰巧与社会主流的思想观点一模一样。这种情况的可能性似乎不大,因为这意味着,如果别人犯错了,你也必须碰巧犯一个同样的错误。为了防止他人复制,古代制作地图的工匠会故意在地图上画错一个小地方。如果你的地图与他的地图一样,就说明不太可能是你自己独立制作的。”
“如果别人告诉你应该相信什么,你就真的相信了,那么你就会和别人一样犯下同样的错误。如果你是南北战争前的南方庄园主,你会与北方开战;如果你是20世纪30年代的德国人,你会相信希特勒。”
什么话不能说?
“到底什么话是我们不能说的?为了找到答案,首先,我们可以看看,周围的人因为说了什么而陷入麻烦。”
“当然,这里要注意,并不是所有不能说出口的话都是我们要找的答案。实际上,只有同时满足两个条件才行。第一个条件是,这些话不能说出口;第二个条件是,它们是正确的,或者看起来很可能正确,值得进一步讨论。如果达不到第二个条件,大部分情况下你都不会有麻烦。你说2+2等于5,或者匹兹堡的市民身高三米,都不会有事的。这些明显错误的言论也许会被当成笑话,或者更糟一点,被当成你发疯的证据,但是肯定不会惹恼任何人。触怒他人的言论是那些可能会有人相信的言论。我猜想,最令人暴跳如雷的言论,就是被认为说出了真相的言论。”
“如果伽利略说帕多瓦城(Padua)的人身高三米,他只会被当作一个古怪的疯狂科学家。但是,他说地球围绕太阳运转,性质就完全不一样了。教廷知道,这种话会让人们开始思考。”
“有些想法,纯粹因为非常特别,而不能说出口。比如,某个话题极其富有争议,不管是对是错,没有人敢在公开场合谈论它。我们怎样才能发现这种情况呢?” “我们把这种不一定正确、但是极富争议的言论称为“异端邪说”。关注“异端邪说”,是找出“不能说的话”的第二种方法。”
“这个标签贴得对不对?根本没人考虑这个问题。被贴上标签、受到打压后,人们都噤若寒蝉了。这真是很理想的压制反对声音的方法。”
“古人与我们是一样的人,他们既不是更勇敢,也不是更野蛮,而是像我们一样通情达理的普通人。不管他们产生怎样的想法,都是正常人产生的想法。”
“所以,我们就有了找出“不能说的话”的第三种方法:将当代观念与不同时期的古代观念diff^一下。”
“diff是计算机术语,最早是一个程序,用来比较同一个软件不同版本源码之间的差异。它会告诉你,哪些是新增的代码,哪些是被删的代码。后来,这个词还可以当动词用。它最能确切表达此处我的意思。参见附录a词汇表”。
“甚至也不用参照历史,当代世界是多种文化并存的世界。东方文化与西方文化存在巨大的差异,各种文化的价值观念和禁忌之处都不一样。所以,你也可以将我们的观念与其他文化的观念diff—下。”
“x观点在一种文化中不允许说出口,而在其他文化中说不说都可以。我的判断是,认为x观点骇人听闻的一方更可能是错误的一方。”
“ 有一些行为或观点,比如谋杀,在所有年代、所有地方都受到禁止或基本禁止。我认为,只有它们才是真正错误的行为或观点。如果某个观点在大部分时空都是不受禁止的,只有我们这个社会才把它当作禁忌,那么很可能是我们出错了。”
“还有第四种寻找“不能说的话”的方法:寻找那些一本正经的卫道者,看看他们到底在捍卫着什么。”
“举例来说,小时候,我一直无法理解,为什么15世纪的葡萄牙“探险家”要沿着非洲海岸探险,而不是深入非洲内陆?长大后我才知道,葡萄牙人的真正目的是抓黑人充当奴隶,但是大人们不愿意孩子了解这些。”
“我还想到了第五种方法,可以找出“不能说的话”,那就是去观察禁忌是如何产生的。某种道德观念到底是怎么出现的,又是怎么被其他人接受的?如果我们能够理解它的产生机制,可能就可以应用于我们自己的时代。”
“但是,流行的道德观念不是这样,它们往往不是偶然产生的,而是被刻意创造出来的。如果有些观点我们不能说出口,原因很可能是某些团体不允许我们说。”
“ 为了在全社会制造出一个禁忌,负责实施的团体必定既不是特别强大也不是特别弱小。如果一个团体强大到无比自信,它根本不会在乎别人的抨击。美国人或者英国人对外国媒体的诋毁就毫不在意。但是,如果一个团体太弱小,就会无力推行禁忌。有一种行为怪癖叫做“嗜粪症”(coprophila),它的患者人数以及影响势力眼下似乎就不太强大,无法把自己的观点推广给其他人。”
“虽然,流行的思想观点与流行的服饰产生方式不尽相同,但是,它们的传播途径却很相似。第一批的接受者总是带有很强的抱负心,他们有自觉的精英意识,想把自己与普通人区分开来。当流行趋势确立以后,第二批接受者就加入进来了,人数比上一批庞大得多,恐惧心在背后驱使着他们^。他们接受流行,不是因为想要与众不同,而是因为害怕与众不同。^「带动流行的两种力量之中,恐惧心比抱负心有力得多。好几次,我听到别人在用gyp(诈骗)这个词,我就一本正经地告诉他们,以后不能再用了,因为它是对吉普赛人(gypsy)的侮辱。但是事实上,词典写得很清楚,这两个词之间不存在词源关系,我只是在开玩笑而已。不过,别人几乎总是很诚惶诚恐地对待这个玩笑,立刻表现出一种怀着畏惧的服从。”
“有人可能会问,为什么要去找出“不能说的话”?为什么要故意打探那些龌龊的、见不得人的思想观点?你明知那里有挡住去路的石头,为什么还要把它们翻过来看个究竟呢? 首先,我这样做与小孩子翻石头是出于同样的原因:纯粹的好奇心。我对任何被禁止的东西都有特别强烈的好奇心。我要亲眼看一下,然后自己做决定。 其次,我这样做是因为我不喜欢犯错。如果像其他时代一样,那些我们自以为正确的事情将来会被证明是荒谬可笑的,我希望自己能够知道是哪些事情,这样可以使我不会上当。 再次,我这样做,是因为这是很好的脑力训练。想要做出优秀作品,你需要一个什么问题都能思考的大脑。尤其是那些似乎不应该思考的问题,你的大脑也要养成思考它们的习惯。”
“ 做一个异端是有回报的,不仅是在科学领域,在任何有竞争的地方,只要你能看到别人看不到或不敢看的东西,你就有很大的优势。眼下的美国汽车工业对于市场份额下降怨天尤人。但是,这件事再明显不过了,任何人只要略做观察,就能迅速说出美国汽车公司走下坡路的原因:它们生产烂车。”
“消费者购买凯迪拉克汽车,不是因为汽车本身,而是因为它的品牌。实际上,现在的凯迪拉克早已不是1970年时的凯迪拉克了。但是,我想没人敢这么说^。否则,这些汽车公司早就把问题解决了。”
“更好的方法是在思想和言论之间划一条明确的界线。在心里无所不想,但是不一定要说出来。我就鼓励自己在心里默默思考那些最无法无天的想法。你的思想是一个地下组织,绝不要把那里发生的事情一股脑说给外人听。”
笑脸相迎:
“你的策略,简单说,就是不赞同这个时代的任何一种歇斯底里,但是又不明确告诉别人到底不赞同哪一种歇斯底里。” “更好的回答是“我还没想好”。哈佛大学校长拉里·撒墨尔斯(Larry Summers)被逼表态时,就是这样说的^。他后来解释说:“别想在我身上做石蕊试验” 石蕊遇酸变红 遇碱变蓝
“不管问谁,人们都会说同样的话:“我们心态很开放,愿意接受新思想。”但是实际上,人们脑子里有一根界线,早就认准了什么是对的,什么是错的^。换言之,在他们看来,所有观点都是可以讨论的,除了那些错的观点。” “如果你的数学不好,那么你自己会知道,因为考试的时候你得不出正确答案。但是,如果你的思想很保守,你自己不会知道,而且你很可能还会持有相反的看法。”
“历史上,机器内部的控制系统一直是物理装置:齿轮、杠杆和连接器等。但是,计算机的出现使得机器的控制系统逐渐变成了软件,产品的价值也由软件来决定”
“黑客是不服从管教的,这就是他们的本性。这也是美国人的本性。硅谷出现在美国,而不是出现在法国、德国、英国、日本,这绝非偶然。后面那些国家的人们总是按部就班地行事。”
“这就是为什么黑客感到担忧。政府侵犯公民自由,表面上看,并不会让程序员的代码质量下降。它只是逐渐地导致一个错误观点占上风的世界。黑客对于公民自由是非常敏感的,因为这对他们至关重要。他们远远地就能感到极权主义的威胁,好比动物能够感知即将来临的暴风雨。”
“回顾桌面软件时代,我想我们会为人们忍受的种种不便惊叹不已。这就好像汽车刚诞生的时候,车主忍受的不便会令现在的人们惊叹不已一样。汽车诞生的头二三十年,你想当车主,非得成为汽车专家不可。但是汽车用处太大了,很多不是专家的人也想拥有它们。 计算机现在就处在这个阶段。一旦拥有了桌面电脑,你就被迫不情愿地学习很多东西,了解它的内部运作机制。”
“如果用户自己的硬盘坏了,他们不会发狂,因为不能去责怪别人;如果一家公司丢失了他们的数据,他们会怀着超乎寻常的怒火,冲着这家公司发飙。”
“我们的一些竞争对手的产品是桌面软件,确实有版本号。对我们来说,这种发布方式只表明他们的落后,但是他们却因此把媒体的目光都吸引过去了。我们不想做局外人,所以也开始为自己的软件加上版本号。什么时候需要媒体宣传了,就开出一张单子,上面总结了自从上次“发布”以来,我们新增的所有功能,然后在上面填一个新的版本号,发出一个新闻稿,宣布新版本已经准备就绪了。真是神奇啊,从来没有人看穿我们的把戏。”
“首先,管理企业其实很简单,只要记住两点就可以了:做出用户喜欢的产品,保证开支小于收入。只要做到这两点,你就会超过大多数创业公司。随着事业的发展,你自己就能琢磨出来其他的诀窍。 刚开始的时候,你可能入不敷出,但是只要亏损不持续太久,你就不会有事。”
“这就是为什么当你打扰黑客让他们从屏幕前扭过头回答问题时,他们会恶狠狠地盯着你的原因。他们大脑内部精心构建的精巧建筑,瞬间就崩溃了。”
“致富的方法有许多种,本文只谈论其中的一种,也就是通过创造有价值的东西在市场上得到回报,从而致富。其他许多种的致富方法包括赌博、投机、婚姻、继承、偷窃、敲诈、诈骗、垄断、行贿、游说、造假、开矿等。” “通过创造有价值的东西而致富,这种方法的优势不仅仅在于它是合法的(许多其他方法如今都是不合法的),还在于它更简单。你只需要做出别人需要的东西就可以了。”
“创造有价值的东西就是创造财富。你最好先搞清楚什么是财富。财富与金钱并不是同义词” “近代历史上,政府有时都搞不清楚金钱和财富的区别。亚当·斯密在《国富论》中提到,许多国家政府为了保住“财富”,禁止出口白银或者黄金。但是,黄金和白银实际上只是一种交换媒介,留住它们并不会让一个国家变得更富有。如果物质财富保持不变,金钱越多,导致的唯一结果就是物价越高。” “财富是最基本的东西。我们需要的东西就是财富,食品、服装、住房、汽车、生活用品、外出旅行等都是财富。即使你没有钱,你也能拥有财富。如果有一台魔法机器,能够按照你的命令变出汽车,为你洗衣做饭,提供其他你想要的东西,那么你就不需要钱了。”
“金钱是财富的一种简便的表达方式:金钱有点像流动的财富,两者往往可以互相转化。但是,它们确实不是同样的东西,除非你打算伪造货币,否则使用“挣钱”这个词会不利于理解如何才能挣钱^。^「“挣钱”的英语是make money,字面意思就是制作金钱。在本文中,make money指的是财富,money指的是金钱,两者并不一样。所以,作者才会说,使用make money这个词,会不利于你理解如何才能make money。——译者注”
“最可能明白财富能被创造出来的人就是那些善于制作东西的人,也就是手工艺人。他们做出来的东西直接放在商店里卖。但是,随着工业化时代的来临,手工艺人越来越少。目前还存在的最大的手工艺人群体就是程序员。”
“另一件程序员看来显而易见的事情就是创造财富的速率存在巨大的差异” “一个优秀程序员连续工作几个星期可能可以创造价值100万美元的财富。同样的时间内,一个平庸的程序员不仅无法创造财富,甚至还可能减少财富(比如引入了bug)。 这就是为什么如此之多的最优秀程序员都是自由主义者的原因。我们这个世界,你向下沉沦或者向上奋进都取决于你自己,不能把原因推给外界。许许多多不创造任何财富的人——比如本科生、记者和政客——一听到最富有的5%人口占有全社会一半以上的财富,往往会认定这是不公平的。一个有经验的程序员很可能也认为这是不公平的。因为最顶尖的5%的程序员写出了全世界99%的优秀软件。 创造出来的财富不一定非要通过出售实现价值。至少直到最近,科学家一直在把他们创造的财富真正地捐献给社会。青霉素的发现使得我们所有人都变得更富有,因为从此我们死于细菌感染的可能性变小了[…]”
“公司不过是一群人在一起工作,共同做出某种人们需要的东西。真正重要的是做出人们需要的东西,而不是加入某个公司” “许多人20岁出头时惑到非常困惑和压抑。大学生活很有趣,可是已经过去了,上班的日子为什么会差别这么大?不要搞糊涂了,你现在已经从顾客变成了仆人。在这种新生活中获得乐趣是可能的。”
“要致富,你需要两样东西:可测量性和可放大性。你的职位产生的业绩,应该是可测量的,否则你做得再多,也不会得到更多的报酬。此外,你还必须有可放大性,也就是说你做出的决定能够产生巨大的效应。”
小团体=可测量性
高科技=可放大性
“餐馆煎鸡蛋,理发店剪头发,每次只能为一个顾客提供服务,但是如果你解决了一个热门的技术难题,别人都会使用你的解决方案。这就是可放大性。” “回顾历史,大多数因为创造财富而发财的人都是通过开发新技术而实现的。你不可能通过煎鸡蛋或剪头发而致富,因为使用你的服务的人是有限的。” “麦当劳其实也符合“一次开发,普遍适用”的模式。”
“如果你有两个选择,就选较难的那个。” “俗话说得好,最好的防御就是进攻。如果你开发出来的技术是竞争对手难于复制的,那就够了,你不需要依靠其他防御手段了。一开始就选择较难的问题,此后的各种决策都选择较难的那个选项”
“还记得从经济学观点看什么是创业公司吗?简单说,就是可以让人更快速工作的地方。你不再是慢慢地积累50年的普通工资,而是要尽快地将这笔钱赚到手。所以,政府禁止个人积累财富实际上就是命令人民减慢工作的速度。他们同意让你在50年里赚到300万美元,但是不同意让你在2年里赚到这些钱,即使前提是你拼命努力工作。这样的政府就像一家大公司的老板,你无法对他说,我打算十倍努力地工作,请你把我的薪水也增加十倍吧!更严重的是,他永远是你的老板,即使你自己创业也避不开他。”
“缓慢工作的后果并不仅仅是延迟了技术革新,而且很可能会扼杀技术革新。只有在快速获得巨大利益的激励下,你才会去挑战那些困难的问题,否则你根本不愿意去碰它们。开发新技术是非常痛苦的经历,正如爱迪生所说,百分之一的灵感加上百分之九十九的汗水。”
“理解这些有助于回答一个重要的问题:为什么欧洲在历史上变得如此强大?是因为欧洲优越的地理位置,还是因为欧洲人天生就比较优秀,或者是宗教原因?答案(或者至少是近因)可能就是欧洲人接受了一个威力巨大的新观点:允许赚到大钱的人保住自己的财富。 一旦自己的财产有了保证,那些想致富的人就会愿意去创造财富,而不是去偷窃。”
“我认为有三个原因使得我们对赚钱另眼相看。第一,我们从小被误导的对财富的看法;第二,历史上积累财富的方式大多名声不好;第三,担心收入差距拉大将对社会产生不利影响。就我所知,第一点是错的,第二点已经过时了,第三点通不过现实的检验。有没有可能,在现代社会中,收入差距拉大实际上是一种健康的信号?”
“某些教授确实为社会创造了大量财富,但是他们拿到的工资却不是对此的回报,更像是对他们的投资。”
“好设计是简单的设计。”
“好设计是永不过时的设计。只要没有错误,每一个数学证明都是永不过时的。所以,数学家哈代才会说:“丑陋的数学在世界上无法生存。”
“好设计是解决主要问题的设计。”
“好设计是启发性的设计。”
“好设计通常是有点趣味性的设计。”
“好设计是艰苦的设计。如果观察那些做出伟大作品的人,你会发现他们的共同点就是工作得非常艰苦。如果你工作得不艰苦,你可能正在浪费时间。”
“并非所有的痛苦都是有益的。世界上有有益的痛苦,也有无益的痛苦。你需要的是咬牙向前沖刺的痛苦,而不是脚被钉子扎破的痛苦。解决难题的痛苦对设计师有好处,但是对付挑剔的客户的痛苦或者对付质量低劣的建材的痛苦就是另外一回事了。”
“好设计是看似容易的设计。优秀运动员比赛时,让人觉得他轻轻松松就获胜了,优秀设计师也是如此,他们的工作看上去很容易。大多数时候,这是一种错觉。作家的文章读起来流畅自如,但是背后其实经过了反复修改。”
“好设计是对称的设计。”
“好设计是模仿大自然的设计。”
“好设计是一种再设计。很少有人一次就把事情做对。专家的做法是先完成一个早期原型,然后提出修改计划,最后把早期原型扔掉。”
“好设计是能够复制的设计。我们对待复制的态度经常是一个否定之否定的过程。刚入门的新手不知不觉地模仿他人,遂渐熟练之后才开始创作原创性作品。最后他会意识到,把事情做对比原创更重要。” “好设计常常是奇特的设计。某些最出色的作品堪称不可思议:欧拉公式、16世纪画家勃鲁盖尔的《雪中猎人》(图9-4)、SR-71“黑鸟”超音速侦察机(图9-5)、计算机的Lisp语言等。它们不仅优美,而且美得很奇特。”
“好设计是成批出现的。”“推动人才成批涌现的最大因素就是,让有天赋的人聚在一起,共同解决某个难题。”
“好设计常常是大胆的设计。”
好看