伟大的黑客
Original2004 年 7 月
(本文源自 2004 年 Oscon 上的一次演讲。)
几个月前,我读完了一本新书,在书评中我不断注意到“挑衅”和“有争议”这样的词语,更不用说“愚蠢”了。
我并不是想让这本书引起争议。我只是想让它变得高效。我不想浪费人们的时间告诉他们已经知道的事情。告诉他们不同之处更有效率。但我想这必定会产生一本令人震惊的书。
爱迪生
关于哪个观点最具争议性并不存在争议:财富差距可能并不像我们想象的那么大。
我在书中并没有说财富的差异本身是一件好事。我说的是,在某些情况下,财富的差异可能是好事的征兆。剧烈的头痛不是好事,但它可能是好事的征兆——例如,头部受到撞击后,你的意识正在恢复。
财富差异可能是生产力差异的标志。(在一个只有一人的社会中,财富差异是相同的。)这几乎肯定是件好事:如果你的社会没有生产力差异,那可能不是因为每个人都是托马斯·爱迪生。可能是因为你没有托马斯·爱迪生。
在低技术社会中,生产力差异不大。如果你有一个游牧部落,他们收集木柴生火,那么最优秀的木柴收集者的生产力会比最差的木柴收集者高多少?两倍?而当你把像电脑这样的复杂工具交给人们时,他们用它能做的事情差异是巨大的。
这并不是什么新想法。弗雷德·布鲁克斯 (Fred Brooks) 于 1974 年就曾写过这篇文章,他引用的研究发表于 1968 年。但我认为他低估了程序员之间的差异。他曾写过关于代码行数的生产力的文章:最好的程序员可以在十分之一的时间内解决给定的问题。但如果问题不是给定的呢?在编程中,就像在许多领域一样,困难的部分不是解决问题,而是决定要解决什么问题。想象力很难衡量,但在实践中,它主导着以代码行数衡量的生产力。
生产力在任何领域都各不相同,但很少有领域像它这样差异如此之大。程序员之间的差异如此之大,以至于成为一种差异。不过,我认为这不是编程的本质。在每个领域,技术都会放大生产力的差异。我认为编程领域正在发生的事情只是我们拥有很多技术杠杆。但在每个领域,杠杆越来越长,所以我们看到的差异是随着时间的推移越来越多的领域都会看到的。而公司和国家的成功将越来越取决于他们如何处理它。
如果生产力的差异随着技术的发展而增加,那么最有生产力的个体的贡献不仅会异常巨大,而且实际上会随着时间的推移而增长。当你达到一个群体 90% 的产出是由其 1% 的成员创造的点时,如果有什么事情(无论是维京人袭击还是中央计划)将他们的生产力拉低到平均水平,你就会损失惨重。
如果我们想最大限度地发挥他们的潜力,就需要了解这些特别高效的人。是什么激励了他们?他们需要什么才能完成工作?你如何识别他们?你如何让他们来为你工作?当然还有一个问题,你如何成为其中的一员?
不仅仅是金钱
我认识一些超级黑客,所以我坐下来思考他们有什么共同点。他们最显著的品质可能是他们真的喜欢编程。普通程序员写代码是为了赚钱。伟大的黑客认为这是他们为了好玩而做的事情,他们很高兴发现有人会为此付钱。
人们有时会说伟大的程序员对金钱漠不关心。这并不完全正确。他们真正关心的只是做有趣的工作。但是如果你赚了足够的钱,你就可以做任何你想做的事情,因此黑客们被赚大钱的想法所吸引。但只要他们每天还得上班,他们更关心他们在那里做什么,而不是他们能得到多少报酬。
从经济角度来看,这是最重要的事实,因为这意味着你不必向优秀的黑客支付与他们应得价值相等的报酬。优秀的程序员可能比普通程序员的生产力高出十倍或一百倍,但他会认为自己很幸运能得到三倍的报酬。正如我稍后将解释的那样,这部分是因为优秀的黑客不知道自己有多优秀。但也是因为钱不是他们最想要的东西。
黑客想要什么?像所有工匠一样,黑客喜欢好的工具。事实上,这是轻描淡写。优秀的黑客无法忍受使用糟糕的工具。他们会拒绝从事具有错误基础设施的项目。
我曾经在一家初创公司工作过,公司公告板上贴着一则 IBM 的广告。广告是一张 AS400 的图片,标题好像是“黑客鄙视它”。[1]
当你决定为项目使用什么基础设施时,你不仅仅是在做出技术决策。你也在做出社会决策,而社会决策可能是两者中更重要的一个。例如,如果你的公司想要编写一些软件,用 Java 编写似乎是一个明智的选择。但是当你选择一种语言时,你也在选择一个社区。你能够雇佣来从事 Java 项目的程序员不会像你能雇佣来从事用 Python 编写的项目的程序员那么聪明。而且你的黑客的素质可能比你选择的语言更重要。不过,坦率地说,优秀的黑客更喜欢 Python 而不是 Java 这一事实应该能告诉你这些语言的相对优点。
商业人士更喜欢最流行的语言,因为他们将语言视为标准。他们不想把公司押在 Betamax 上。然而,语言不仅仅是标准。如果你必须通过网络移动数据,一定要使用 TCP/IP。但编程语言不仅仅是一种格式。编程语言是一种表达媒介。
我读到过,Java 刚刚取代 Cobol 成为最流行的语言。作为标准,你别无所求。但作为表达媒介,你可以做得更好。在我所能想到的所有优秀程序员中,我只知道一个愿意自愿用 Java 编程。而在我所能想到的所有不为 Sun 工作的优秀程序员中,我知道没有一个人用 Java 编程。
优秀的黑客通常也坚持使用开源软件。这不仅是因为开源软件更好,还因为开源软件给了他们更多的控制权。优秀的黑客坚持控制权。这是他们成为优秀黑客的部分原因:当某个东西坏了,他们需要修复它。你希望他们对为你编写的软件有这种感觉。当他们对操作系统有同样的感觉时,你不应该感到惊讶。
几年前,一位风险投资家朋友告诉我,他参与了一家新创业公司。听起来很有前途。但下次我和他交谈时,他说他们决定在 Windows NT 上开发软件,并刚刚聘请了一位经验丰富的 NT 开发人员担任首席技术官。听到这个消息时,我想,这些人注定要失败。首先,首席技术官不可能是一流的黑客,因为要成为杰出的 NT 开发人员,他必须自愿多次使用 NT,我无法想象一个伟大的黑客会这样做;其次,即使他很优秀,如果项目必须建立在 NT 上,他也很难招到优秀的人为他工作。[2]
最后的边疆
除了软件之外,对黑客来说最重要的工具可能就是他的办公室了。大公司认为办公室的作用是彰显等级。但黑客使用办公室的目的不止于此:他们把办公室当作思考的地方。如果你是一家科技公司,他们的想法就是你的产品。因此,让黑客在嘈杂、令人分心的环境中工作就像让油漆厂的空气中充满烟尘一样。
漫画《呆伯特》中有很多关于小隔间的内容,而且理由充分。我认识的所有黑客都鄙视小隔间。仅仅是担心被打扰就足以阻止黑客解决难题。如果你想在有小隔间的办公室里完成真正的工作,你有两个选择:在家工作,或者早点、晚点或周末来上班,因为那时没有其他人在。难道公司没有意识到这是有问题的迹象吗?办公室环境应该是帮助你工作的地方,而不是让你不顾一切地工作的地方。
思科等公司为公司里每个人都有自己的小隔间而感到自豪,甚至包括首席执行官。但他们并没有自己想象的那么先进;显然,他们仍然将办公空间视为等级的象征。还要注意的是,思科以内部产品开发很少而闻名。他们通过收购开发新技术的初创公司来获得新技术——黑客们可能确实有一个安静的工作场所。
微软是一家了解黑客需求的大公司。我曾经看到过微软的招聘广告,上面有一张大门的图片。广告的前提是,如果你来我们公司工作,我们会给你一个可以真正完成工作的工作场所。你知道,微软在大型公司中很出色,因为他们能够自己开发软件。也许不是很好,但已经足够好了。
如果公司希望黑客们能够高效工作,那么就应该看看他们在家里做什么。在家里,黑客们可以自己安排事情,以便完成最多的工作。当他们在家工作时,黑客们不会在嘈杂的开放空间工作,而是在有门的房间里工作。他们在舒适的、邻里的地方工作,周围有人,当他们需要思考某事时,可以有地方散步,而不是在数英亩的停车场里的玻璃盒子里工作。当他们感到疲倦时,他们可以在沙发上小憩,而不是坐在办公桌前昏昏欲睡,假装工作。在黑客工作的主要时间,没有一群拿着吸尘器的人每天晚上咆哮。没有会议,也没有公司务虚会或团队建设练习。当你看到他们在电脑上做什么时,你会发现这强化了我之前关于工具的说法。他们在工作时可能不得不使用 Java 和 Windows,但在家里,他们可以自己选择,你更有可能发现他们使用 Perl 和 Linux。
事实上,这些关于 Cobol 或 Java 是最受欢迎的语言的统计数据可能会产生误导。如果我们想知道哪些工具是最好的,我们应该关注黑客在可以自由选择时(即在他们自己的项目中)会选择什么。当你问这个问题时,你会发现开源操作系统已经占据了主导市场份额,而排名第一的语言可能是 Perl。
有趣的
除了好的工具,黑客还想要有趣的项目。什么使项目变得有趣?显然,隐形飞机或特效软件等过于性感的应用程序会很有趣。但是,如果任何应用程序提出了新颖的技术挑战,它都会很有趣。因此很难预测黑客会喜欢哪些问题,因为有些问题只有在研究这些问题的人发现一种新的解决方案时才会变得有趣。在 ITA(为 Orbitz 编写软件的人)之前,从事机票搜索的人可能认为它是可以想象到的最无聊的应用程序之一。但 ITA 通过以更雄心勃勃的方式重新定义问题,使其变得有趣。
我认为谷歌也发生了同样的事情。谷歌成立时,所谓的门户网站普遍认为搜索是无聊且不重要的。但谷歌的人并不认为搜索是无聊的,这就是他们做得如此出色的原因。
这正是管理者可以发挥作用的领域。就像父母对孩子说,我打赌你不可能在十分钟内打扫完整个房间一样,一个好的管理者有时可以将问题重新定义为更有趣的问题。史蒂夫·乔布斯似乎特别擅长这一点,部分原因在于他有很高的标准。在 Mac 之前,有很多小型、廉价的电脑。他将问题重新定义为:制造一台漂亮的电脑。这可能比任何胡萝卜加大棒的政策更能激励开发人员。
他们确实做到了。当 Mac 首次亮相时,你甚至不必打开它就知道它很好用;从外壳就可以看出来。几周前,我在剑桥的街道上散步,在某人的垃圾桶里看到了一个看起来像 Mac 手提箱的东西。我往里面看了看,里面有一台 Mac SE。我把它带回家,插上电源,它就启动了。高兴的 Macintosh 面孔,然后是 Finder。天哪,它太简单了。就像……谷歌一样。
黑客喜欢为高标准的人工作。但仅仅严格是不够的。你必须坚持正确的事情。这通常意味着你自己也是一名黑客。我偶尔会看到一些关于如何管理程序员的文章。实际上应该有两篇文章:一篇是关于如果你自己是程序员该怎么办,另一篇是关于如果你不是程序员该怎么办。第二篇文章可能可以浓缩为两个词:放弃。
问题并不在于日常管理。真正优秀的黑客实际上是自我管理的。问题是,如果你不是黑客,你就无法分辨谁是优秀的黑客。类似的问题解释了为什么美国汽车如此丑陋。我称之为*设计悖论。*你可能认为只要聘请一位伟大的设计师来设计你的产品,你就可以让你的产品变得漂亮。但如果你自己没有好的品味,你怎么能认出一个好的设计师呢?根据定义,你无法从他的作品集来判断。你也不能根据他赢得的奖项或做过的工作来判断,因为在设计中,就像在大多数领域一样,这些往往受时尚和交际的驱动,实际能力则排在第三位。这是无法回避的:如果你不知道美丽是什么,你就无法管理一个旨在生产美丽东西的过程。美国汽车丑陋是因为美国汽车公司是由品味低下的人经营的。
这个国家的许多人认为品味是难以捉摸的,甚至是轻浮的。其实两者都不是。要推动设计,经理必须是公司产品最苛刻的用户。如果你真的有好品味,你可以像史蒂夫·乔布斯那样,让让自己满意成为优秀人才喜欢解决的问题。
令人讨厌的小问题
很容易说出哪些问题不有趣:那些你不必解决几个大而明确的问题,而是必须解决很多棘手的小问题。最糟糕的项目之一是为一个充满错误的软件编写界面。另一种是当你必须根据单个客户的复杂且定义不明确的需求进行定制时。对于黑客来说,这类项目就是千刀万剐。
棘手的小问题最显著的特点是,你从中学不到任何东西。编写编译器很有趣,因为它教会你什么是编译器。但是为一个有缺陷的软件编写接口并不能教会你任何东西,因为这些缺陷是随机的。[3] 因此,优秀的黑客避免棘手的小问题不仅仅是因为他们一丝不苟。这更多的是一个自我保护的问题。处理棘手的小问题会让你变得愚蠢。优秀的黑客避免它的原因与模特避免吃芝士汉堡的原因相同。
当然,有些问题天生就具有这种特性。而且由于供求关系,他们的报酬特别高。因此,如果一家公司能找到一种方法,让优秀的黑客来解决繁琐的问题,那它就会非常成功。你会怎么做呢?
这种情况经常发生在创业公司。我们公司让罗伯特·莫里斯担任系统管理员。这就像让滚石乐队在成人礼上演奏一样。你雇不到这样的人才。但人们愿意为自己创办的公司做任何苦差事。[4]
大公司通过划分公司来解决这个问题。他们设立单独的研发部门,让聪明的人为他们工作,这样员工就不必直接处理客户棘手的小问题。[5] 在这种模式下,研究部门就像一个矿场。他们产生新的想法;也许公司的其他部门会用到它们。
你可能不必走这么极端。自下而上的编程建议了另一种划分公司的方法:让聪明的人担任工具制造者。如果你的公司开发软件来做某事,那么就让一个团队开发用于编写该类型软件的工具,另一个团队使用这些工具编写应用程序。这样,你就可以让聪明的人编写 99% 的代码,但仍然让他们与用户几乎隔绝,就像在传统研究部门一样。工具制造者会有用户,但他们只是公司自己的开发人员。[6]
如果微软采用这种方法,他们的软件就不会有这么多安全漏洞,因为编写实际应用程序的不太聪明的人不会做分配内存等低级工作。他们不会直接用 C 语言编写 Word,而是将 Word 语言的大型乐高积木拼凑在一起。(我认为,Duplo 是技术术语。)
聚集
除了有趣的问题,优秀黑客还喜欢其他优秀黑客。优秀黑客倾向于聚在一起——有时聚在一起的情况非常壮观,比如施乐帕克研究中心。因此,你吸引优秀黑客的数量与你为他们创造的环境的好坏并不成线性比例。聚在一起的趋势意味着它更像是环境的平方。所以这是赢家通吃。在任何特定时间,黑客最想工作的地方只有大约十到二十个,如果你不是其中之一,那么你不仅会拥有更少的优秀黑客,而且会拥有零个。
拥有优秀的黑客本身并不足以使一家公司成功。这对谷歌和 ITA 来说很有效,这两家公司是目前的两大热门,但它对 Thinking Machines 和 Xerox 却没有帮助。Sun 一度发展良好,但他们的商业模式却一落千丈。在这种情况下,即使是最好的黑客也无法拯救你。
不过,我认为,在其他条件相同的情况下,一家能够吸引优秀黑客的公司将拥有巨大的优势。有些人不同意这种观点。20 世纪 90 年代,当我们在风险投资公司之间四处寻找投资对象时,有几家公司告诉我们,软件公司的成功不是通过编写出色的软件,而是通过品牌、主导渠道和达成正确的交易。
他们似乎真的相信这一点,我想我知道为什么。我认为很多风险投资家至少在潜意识中都在寻找下一个微软。当然,如果你以微软为榜样,你就不应该寻找那些希望通过编写出色的软件来获胜的公司。但风险投资家们错误地寻找下一个微软,因为没有一家初创公司可以成为下一个微软,除非有其他公司愿意在恰当的时机屈服并成为下一个 IBM。
以微软为榜样是错误的,因为他们的整个文化都源于那一次幸运的机遇。微软是一个糟糕的数据点。如果你抛弃他们,你会发现好的产品确实往往会在市场上获胜。风险投资家应该寻找的是下一个苹果或下一个谷歌。
我想比尔·盖茨也知道这一点。他担心谷歌的不是其品牌影响力,而是他们拥有更优秀的黑客。[7]
认出
那么谁是伟大的黑客?你如何知道你遇到了一个?这非常困难。甚至黑客也分辨不出来。我现在很确定我的朋友 Trevor Blackwell 是一位伟大的黑客。你可能在 Slashdot 上读到过他如何制作自己的 Segway 。这个项目最了不起的地方是他用一天的时间编写了所有软件(顺便说一下,是用 Python 编写的)。
对 Trevor 来说,这是理所当然的事情。但我第一次见到他时,我认为他是个十足的白痴。他站在 Robert Morris 的办公室里喋喋不休地跟他唠叨着什么,我记得站在他身后疯狂地向 Robert 打手势,要他把这个傻瓜赶出办公室,这样我们就可以去吃午饭了。Robert 说他一开始也误判了 Trevor。显然,当 Robert 第一次见到他时,Trevor 刚刚开始一项新计划,他把生活中的方方面面都写在一叠索引卡上,他到哪里都带着。他也刚从加拿大来,操着浓重的加拿大口音,留着马尾辫。
问题还在于,尽管黑客以不擅社交而闻名,但他们有时也会花很多功夫让自己显得聪明。我在读研究生的时候,偶尔会去麻省理工学院人工智能实验室闲逛。一开始有点吓人。那里每个人说话都很快。但过了一段时间,我学会了说话快的诀窍。你不必思考得更快;只要用两倍的词来表达一切就行了。
由于信号中存在如此多的噪音,当你遇到黑客时很难分辨出他们是否优秀。直到现在我都无法分辨。你也无法从他们的简历中分辨出来。似乎判断一名黑客的唯一方法就是和他一起做过某件事。
这就是高科技领域只在大学周围出现的原因。这里的主要因素不是教授,而是学生。创业公司在大学周围成长,因为大学将有前途的年轻人聚集在一起,让他们从事相同的项目。聪明的人了解其他聪明的人,然后一起策划自己的新项目。
因为除非和黑客一起工作,否则你无法判断他是否优秀,所以黑客自己也无法判断他们有多优秀。这在大多数领域都存在一定程度的正确性。我发现,擅长某事的人并不那么相信自己的伟大,而是对为什么其他人看起来都那么无能感到困惑。
但对于黑客来说,了解他们有多优秀尤其困难,因为很难比较他们的工作。这在大多数其他领域都比较容易。在百米赛跑中,你只需 10 秒就能知道谁跑得最快。即使在数学领域,似乎也存在一个普遍共识,即哪些问题难以解决,以及什么是好的解决方案。但黑客就像写作。谁能说两本小说哪本更好?作者肯定说不出来。
至少,黑客们可以互相看出来。这是因为,与小说家不同,黑客们在项目上是合作的。当你在网上向某人提出一些难题时,你很快就会知道他们反击得有多厉害。但黑客们无法观察自己在工作。所以如果你问一个伟大的黑客他有多厉害,他几乎肯定会回答说,我不知道。他不只是谦虚。他真的不知道。
除了我们真正共事过的人,我们谁也不知道。这让我们陷入了一种奇怪的境地:我们不知道谁应该是我们的英雄。成名的黑客往往是通过公关的偶然事件而出名的。有时我需要举一个伟大黑客的例子,但我不知道该举谁。首先想到的名字往往是我认识的人,但用他们的名字来称呼似乎很没意思。所以,我想,也许我应该说理查德·斯托曼、林纳斯·托瓦兹、艾伦·凯,或者类似的名人。但我不知道这些人是不是伟大的黑客。我从来没有和他们一起做过任何事情。
如果存在黑客界的迈克尔·乔丹,那么没有人知道,包括他自己。
栽培
最后,黑客们一直在思考的问题是:如何成为一名伟大的黑客?我不知道是否有可能让自己成为一名伟大的黑客。但做让自己变得愚蠢的事情肯定是可能的,如果你能让自己变得愚蠢,那么你很可能也能让自己变得聪明。
成为一名优秀黑客的关键可能是做你喜欢的事情。当我想起我认识的那些伟大的黑客时,他们有一个共同点,那就是让他们做任何他们不想做的事情都极其困难。我不知道这是因还是果;可能两者兼而有之。
要想做好一件事,你必须热爱它。所以,只要你能把黑客工作当作自己热爱的事情,你就有可能做好它。试着保持你 14 岁时对编程的好奇心。如果你担心你现在的工作正在腐蚀你的大脑,那很可能就是这样。
当然,最好的黑客往往很聪明,但在很多领域都是如此。黑客是否有一些独特的品质?我问过一些朋友,他们提到的第一件事就是好奇心。我一直以为所有聪明人都有好奇心——好奇心只是知识的第一个衍生物。但显然黑客特别好奇,尤其是对事物如何运作的好奇心。这是有道理的,因为程序实际上是对事物如何运作的巨大描述。
几位朋友提到了黑客的专注能力——正如其中一位所说,他们有能力“忽略自己头脑之外的一切”。我当然注意到了这一点。我听过几位黑客说,喝了半杯啤酒后,他们根本无法编程。所以也许黑客确实需要一些特殊的专注能力。也许伟大的黑客可以将大量的上下文加载到他们的头脑中,这样当他们查看一行代码时,他们不仅能看到这一行,还能看到围绕它的整个程序。约翰·麦克菲 (John McPhee) 写道,比尔·布拉德利 (Bill Bradley) 作为篮球运动员的成功部分归功于他非凡的周边视觉。“完美”的视力意味着大约 47 度的垂直周边视觉。比尔·布拉德利有 70 度;当他看着地板时,他可以看到篮筐。也许伟大的黑客有一些类似的天生能力。(我通过使用非常密集的语言来作弊,这会缩小球场。)
这或许可以解释隔间带来的隔阂。也许负责设施的人无法集中注意力,根本不知道在隔间里工作对黑客来说就像把大脑放在搅拌机里一样。(而比尔,如果自闭症的传言是真的,他对此非常了解。)
我注意到,伟大的黑客和一般聪明人之间的一个区别是,黑客在政治上更不合时宜。如果说优秀的黑客之间有秘密的握手,那是因为他们彼此非常了解,以至于可以表达出足以让他们被公众用石头砸死的观点。我明白为什么政治上的不正确在编程中是一种有用的品质。程序非常复杂,而且至少在优秀程序员手中,非常灵活。在这种情况下,养成质疑假设的习惯是有帮助的。
你能培养这些品质吗?我不知道。但你至少可以不压抑它们。所以,这是我给出的最好的秘诀。如果有可能让自己成为一名伟大的黑客,那么实现这一目标的方法可能是与自己达成以下协议:你永远不必从事无聊的项目(除非你的家人会因此挨饿),作为回报,你永远不会允许自己做半途而废的工作。我认识的所有伟大的黑客似乎都达成了这一协议,尽管也许他们中没有一个人在这件事上有任何选择。
笔记
[1] 公平地说,我不得不说 IBM 的硬件不错。我是在 IBM 笔记本电脑上写的这篇文章。
[2] 事实证明,他们的失败是注定的。几个月后,他们就倒闭了。
[3] 我想这就是人们谈论“生命的意义”时的意思。从表面上看,这个想法似乎很奇怪。生命不是一种表达;它怎么会有意义呢?但它可以有一种感觉很像意义的特质。在像编译器这样的项目中,你必须解决很多问题,但这些问题都遵循某种模式,就像一个信号。而当你要解决的问题是随机的时,它们看起来就像噪音。
[4] 爱因斯坦曾经从事过冰箱设计工作。(他拥有股权。)
[5] 很难确切地说什么构成了计算机世界的研究,但初步估计,它是没有用户的软件。
我认为,并不是因为出版了这本书,最优秀的黑客才愿意在研究部门工作。我认为,最主要的原因是,他们不必与产品经理开三个小时的会议,讨论韩语版 Word 13.27 与会说话的回形针的集成问题。
[6] 建筑业长期以来也发生过类似的事情。几百年前,当你建造一栋房子时,当地的建筑商会建造里面的一切。但越来越多的建筑商开始组装其他人设计和制造的部件。就像桌面出版的出现一样,这让人们可以自由地以灾难性的方式进行实验,但肯定更有效率。
[7] Google 对微软的威胁比 Netscape 要大得多。可能比以往任何一家公司都要大。尤其是因为他们决心要战斗。在他们的招聘启事页面上,他们说他们的“核心价值观”之一是“不作恶”。对于一家销售大豆油或采矿设备的公司来说,这样的说法只会显得古怪。但我认为,我们计算机界的所有人都知道,这是在向谁宣战。
感谢Jessica Livingston、Robert Morris 和 Sarah Harlin 阅读本次演讲的早期版本。