你现在拿在手里的,是一本非常重要、也非常独特的书。
它的作者是美国互联网界举足轻重、有“创业教父”之称的哈佛大学计算机博士保罗·格雷厄姆(Paul Graham)。本书是他的文集。
书中的内容并不深奥,不仅仅是写给程序员和创业者的,更是写给普通读者的。作者最大的目的就是,通过这本书让普通读者理解我们所处的这个计算机时代。
1968年至1972年期间,美国出版过一本叫做《地球商品目录》(Whole Earth
Catalog)的杂志,内容从植物种子到电子仪器,无所不包,出版目的据说是要帮助读者“理解整个系统”。多年后,苹果公司的总裁乔布斯盛赞它“有点像印刷版的谷歌”。从某种意义上说,本书也是如此,作者试图从许许多多不同的方面解释这个时代的内在脉络,揭示它的发展轨迹,帮助你看清我们现在的位置和将来的方向。
电子技术的发展,使得计算机日益成为人类社会必不可少的一部分。
每个人日常生活的很大一部分都花在与计算机打交道上面。家用电表是智能的,通信网络是程控的,信用卡是联网的,就连点菜都会用到电子菜单。越来越多的迹象表明,未来的人类生活不仅是人与人的互动,而且更多的将是人与计算机的互动。
想要把握这个时代,就必须理解计算机。理解计算机的关键,则是要理解计算机背后的人。表面上这是一个机器的时代,但是实际上机器的设计者决定了我们的时代。程序员的审美决定了你看到的软件界面,程序员的爱好决定了你有什么样的软件可以使用。
我们的时代是程序员主导的时代,而伟大的程序员就是黑客。
本书就是帮助你了解黑客、从而理解这个时代的一把钥匙。
在媒体和普通人的眼里,“黑客”(hacker)就是入侵计算机的人,就是“计算机犯罪”的同义词。但是,这并不是它的真正含义(至少不是原意),更不是本书所使用的含义。
要想读懂这本书,首先就必须正确理解什么是“黑客”。
为了把这个问题说清楚,有必要从源头上讲起。1946年,第一台电子计算机ENIAC在美国诞生,从此世界上一些最聪明、最有创造力的人开始进入这个行业,在他们身上逐渐地形成了一种独特的技术文化。在这种文化的发展过程中,涌现了很多“行话”(jargon)。20世纪60年代初,麻省理工学院有一个学生团体叫做“铁路模型技术俱乐部”(Tech
Model Railroad Club,简称TMRC),他们把难题的解决方法称为hack。
在这里,hack作为名词有两个意思,既可以指很巧妙或很便捷的解决方法,也可以指比较笨拙、不那么优雅的解决方法。两者都能称为hack,不同的是,前者是漂亮的解决方法(cool hack或neat hack),后者是丑陋的解决方法(ugly hack或quick hack)。hack的字典解释是砍(木头),在这些学生看来,解决一个计算机难题就好像砍倒一棵大树。那么相应地,完成这种hack的过程就被称为hacking,而从事hacking的人就是hacker,也就是黑客。
从这个意思出发,hack还有一个引申义,指对某个程序或设备进行修改,使其完成原来不可用的功能(或者禁止外部使用者接触到的功能)。在这种意义上,hacking可以与盗窃信息、信用卡欺诈或其他计算机犯罪联系在一起,这也是后来“黑客”被当作计算机入侵者的称呼的原因。
但是,在20世纪60年代这个词被发明的时候,“黑客”完全是正面意义上的称呼。TMRC使用这个词是带有敬意的,因为在他们看来,如果要完成一个hack,就必然包含着高度的革新、独树一帜的风格、精湛的技艺。最能干的人会自豪地称自己为黑客。
这时,“黑客”这个词不仅是第一流能力的象征,还包含着求解问题过程中产生的精神愉悦或享受。也就是说,从一开始,黑客就是有精神追求的。自由软件基金会创始人理查德·斯托尔曼说:“出于兴趣而解决某个难题,不管它有没有用,这就是黑客。”
根据理查德·斯托尔曼的说法,黑客行为必须包含三个特点:好玩、高智商、探索精神。只有其行为同时满足这三个标准,才能被称为“黑客”。另一方面,它们也构成了黑客的价值观,黑客追求的就是这三种价值,而不是实用性或金钱。
1984年,《新闻周刊》的记者史蒂文·利维出版了历史上第一本介绍黑客的著作——《黑客:计算机革命的英雄》(Hackers: Heroes of the Computer Revolution)。在该书中,他进一步将黑客的价值观总结为六条“黑客伦理”(hacker ethic),直到今天这几条伦理都被视为这方面的最佳论述。
- 使用计算机以及所有有助于了解这个世界本质的事物都不应受到任何限制。任何事情都应该亲手尝试。(Access to computers—and anything that might teach you something about the way the world works—should be unlimited and total. Always yield to the Hands-On Imperative!)
- 信息应该全部免费。(All information should be free.)
- 不信任权威,提倡去中心化。(Mistrust Authority—Promote Decentralization.)
- 判断一名黑客的水平应该看他的技术能力,而不是看他的学历、年龄或地位等其他标准。(Hackers should be judged by their hacking, not bogus criteria such as degrees, age, race, or position.)\
- 你可以用计算机创造美和艺术。(You can create art and beauty on a computer.)
- 计算机使生活更美好。(Computers can change your life for the better.)
根据这六条“黑客伦理”,黑客价值观的核心原则可以概括成这样几点:分享、开放、民主、计算机的自由使用、进步。
所以,“黑客”这个词的原始含义就是指那些信奉“黑客伦理”而且能力高超的程序员。历史上一些最优秀的程序员都是“黑客”。除了上文提到的理查德·斯托尔曼,还包括Unix操作系统创始人丹尼斯·里奇和肯·汤普森,经典巨著《计算机程序设计艺术》的作者、斯坦福大学计算机教授高德纳,Linux操作系统创始人莱纳斯·托沃兹,“开源运动”创始人埃里克·雷蒙德,微软公司创始人比尔·盖茨等。正是黑客把计算机工业推向了更高的高度。
“黑客伦理”的一个必然推论就是,黑客不服从管教,具有叛逆精神。
黑客通常对管理者强加的、限制他们行为的愚蠢规定不屑一顾,会找出规避的方法。一部分原因是为了自由使用计算机,另一部分原因是为了显现自己的聪明。比如,计算机设备的各种安全措施就是最常被黑客破解的东西。史蒂文·利维对这一点有过一段生动的描述:
“对于黑客来说,关着的门就是一种挑衅,而锁着的门则是一种侮辱。……黑客相信,只要有助于改进现状、探索未知,人们就应该被允许自由地使用各种工具和信息。当一个黑客需要一样东西来帮助自己创造、探索或者改正某种设备时,他不会自找麻烦,不会接受那些财产专有权的荒谬概念。”
这就是黑客有时会入侵计算机系统的原因,他们的主要目的并不是侵犯别人的利益,这与那些计算机罪犯是不同的。
但是,20世纪80年代初,事情发生了变化。
1983年,一帮密尔沃基市的青少年黑客入侵了美国和加拿大的一些计算机系统,这件事被广泛报道,同年9月5日的《新闻周刊》封面报道的标题就是“小心:黑客在行动”,这是历史上主流媒体第一次使用“黑客”这个词。在报道的时候,媒体只注意和强调黑客行为一个很窄的方面:入侵系统。(可能因为这种行为容易引起公众的注意,提升报道的关注度。)他们把黑客简单定义为入侵系统、破坏安全设施的人。从此,大多数人对于黑客有了错误的看法。同时,那些入侵计算机的程序员也自称“黑客”,使得这个问题进一步复杂化。
杂志、电视剧、电影、小说都对黑客的这种形象大肆渲染。黑客成了反社会的技术高手的代名词,仿佛只要他坐在键盘前,就有一种从事犯罪活动的魔力,可以操纵任何与网络相连的机器,从核弹到车库大门,都在黑客敲打键盘的操作之中被控制。根据这种观点,黑客在最好的情况下是一个没有认识到自己能力的清白的人,在最坏的情况下则是一个恐怖分子。在过去几年中,随着计算机病毒的泛滥,黑客在大众心目中已经成了一个有害的人群。
那些传统意义上的黑客不认同这样使用“黑客”这个词。他们认为,历史上确实有一些正直的黑客,为了亲自了解系统,做过违反法规的入侵举动。但是,那些人并没有恶意,而且从一开始恶作剧就是黑客文化的一部分,仅仅由此推断入侵和破坏系统就是黑客文化的实质完全是错误的。真正的黑客致力于改变世界,让世界运转得美好。媒体对黑客的定义未免过于片面。
为了澄清“黑客”这个概念,他们提出只有传统意义上的黑客才能被称为hacker,而那些恶意入侵计算机系统的人应该被称为cracker(入侵者)。这个观点已经在程序员社区中得到普通认同。
本书正是在这个意义上使用“黑客”这个词。在本书中,“黑客”就是指最优秀的程序员,而不是入侵计算机系统的人。
为了帮助读者理解黑客,全书15章可以大致分成三个部分。
- 第一部分从第1章到第4章,解释了黑客是如何成长的以及他们看待世界的一些观点。
- 第二部分从第5章到第9章,解释了黑客怎样做出自己的成果,这些成果又是怎样对全世界产生了影响。
- 第三部分从第10章到第15章,解释了黑客的工具(编程语言)和工作方法,这是黑客文化的基础和核心。
作者想让公众了解,黑客并不神秘,更不是技术怪人。Hackers and Painters这个书名就是在提示应该把黑客与画家当作同一种人看待。和画家一样,黑客只是怀有一门特殊手艺、有创造天赋的普通人。这个书名还有另一层含义,即编程是一种艺术创作,黑客就是艺术家,开发软件与画家作画、雕塑家雕刻、建筑师设计房屋并没有本质不同。
总之,这是一本帮助你理解这个时代的书。作者想教给你的其实是新思想。读完以后,你看待世界的眼光很可能会完全不同了。如果你想在21世纪立足,理解这一次新的技术革命,做一个掌握自己命运的成功者,我建议你读这本书。
翻译过程中,我已经尽了最大努力,力求把原文忠实、清晰地译成中文。本书的一些章节中作者谈论的都是计算机行业的专业问题,但是他又希望让普通读者看懂,试图用口语化、生活化的语言解释专业概念,我个人感觉效果不太理想,反而使得行文稍显冗余和模糊,这一点提醒读者注意。总的来说,这是一本计算机行业的经典著作,2004年在美国出版后一直畅销不衰,深受好评,很多读者都被作者的远见卓识所折服。
最后,本书第13章涉及Lisp语言的部分曾请田春帮助校译,在此表示衷心感谢。
阮一峰 2010年12月25日,写于上海