![]() |
天才程序员:技术狂人如何改变世界 |
第一章 改变世界的一次软件更新
扎克伯格的名言中有一句是“快速前进,打破常规”,桑维特别喜欢。
她说:“(脸书)很不一样,充满活力,充满生机。大家一直都在忙,每个人都很忙,而且每个人对待自己的工作都特别投入……可以感受到那种能量。”如今,脸书已经是辐射全球的互联网巨头,谁又能想到在2005年的时候,脸书面临的困难之一就是缺人,公司迫切需要找到更多编程人员。当时,硅谷很多经验丰富的软件工程师认为,脸书引发的狂潮应该很短暂,在互联网的世界中不过是昙花一现,所以他们对脸书的岗位没有太大兴趣。而桑维抓住的时机非常完美:她很年轻,所以赶上在校园中使用脸书的热潮,知道它有多容易让人上瘾;但年纪又足够大,她刚好获得了硕士学位并且想从事编程工作。一个星期之后,脸书聘用了桑维。她成为公司首位女性软件工程师。
桑维很快就接到一项艰巨的任务。扎克伯格和其他的联合创始人认为,脸书的使用体验迟缓又不方便。在脸书运行早期,如果想知道自己脸书好友的动态,你就得进入对方的主页,这个过程需要用户积极主动去思考和判断。可能某一天有人发布了一些特别有料儿的信息,比如刚分手,一条小道消息,一张特别吸睛的照片,等等。如果当天刚好忘了去对方主页查看,你可能就错过了这些信息。实际上,脸书的用户体验就像一个人住在一幢公寓大楼里,你需要不断打探消息才能知道邻里发生的事情。
扎克伯格希望简化这个过程。那个时候,他每天都揣着自己的笔记本,上面密密麻麻地写着他设想的新功能——“动态消息”,当用户登录脸书账号时,动态消息会在页面中罗列上次登录到当前为止所有朋友发布的消息。这就像社交圈中的超感官知觉,只要有人发布了新动态,系统就会叮的一声提示你,该消息就会进入你的视线。对脸书来说,动态消息可不是小动作,不像是增加了一种新字体或新色度那么简单,这个功能将会重塑人们关注他人的方式。
现在,桑维的任务就是把动态消息这个功能开发出来。同时参与这项任务的还有克里斯·考克斯、马特·卡希尔、金康新(KX)、安德鲁·博斯沃思(扎克伯格在哈佛上学时的老师)。接下来是9个月紧锣密鼓的“战斗”——大家不断畅聊各种想法,然后各自埋头写代码,考克斯的计算机中总是大声播放着詹姆斯·布朗和约翰尼·卡什的音乐。桑维和其他程序员一样,夜以继日地投入编程工作,她时常在公司加班到凌晨,然后拖着疲惫的身躯返回洛杉矶的家中。因为长期缺乏睡眠,桑维在某次驾车途中差点儿出意外,于是她把家搬到了公司附近,有时候穿着睡衣就晃去办公室了,不过大家也不在意。对程序员来说,社交与工作总是交叉在一起,他们在上班时也可以打扑克或者打电玩。在2005年的一次录像访谈中,扎克伯格手中拿着聚会中常见的红色塑料啤酒杯,旁边一个同事还在倒灌啤酒。
程序员的世界就像男生俱乐部,对桑维来说这也不是什么新鲜事了。在她所熟知的计算机科学界中,男生总是占据主导地位,上大学时,她同届的150名学生中只有几个女生。这一屋子骄傲自负的男生,时不时就有人拉高嗓门,这个时候,桑维也会大声回击——她早已学会了“俱乐部”的生存之道。但是,对女性来说,“大嗓门”会带来负面影响。桑维说:“大家都说我特别咄咄逼人。这让我很难过。我并不认为自己咄咄逼人。”
即便如此,桑维也不想多惹麻烦,只想埋头写代码,因为这也是她最在乎的事情。在她看来,写代码是一个乐趣、意外与艰辛交织的过程。在创建动态消息的过程中,她和其他程序员要面对很多关于友谊的颇具哲学思考的问题,例如,朋友之间最想了解彼此什么信息?因为动态消息不可能把每个朋友的每个动态都展示出来。假设你有200位好友,每个人有10条新动态,那一共就是2 000条了,谁有时间每条都看?桑维和其他程序员需要制定一套规则,筛选每个人的动态,也就是给每个动态加上“权重”——以数字区分每个动态的重要程度。他们会在办公室中彼此提问,一直探讨到深夜——你觉得这两个人的关系怎么样?值多少权重?一个人和一张照片之间的关系又值多少权重?
到2016年中,他们已经制作出了程序原型。某天晚上,考克斯坐在家里,史上第一个动态消息出现在他眼前——“马克上传了一张新照片”。(“手指一动,弗兰肯斯坦式的时刻出现了。”他后来开玩笑说。)到夏天快结束的时候,动态消息的运行已经很流畅了,公司已经做好了将其推向公众的准备。桑维正式对外发文,标题是“脸书迎来了大变脸”,她向全球公布了这一产品。桑维写道:“该功能每天会带来个性化的信息推送,马克(扎克伯格)什么时候将布兰妮·斯皮尔斯加入他的‘最爱’清单,你的暗恋对象又恢复单身了。现在,无论何时登录,你都不会再错过这些信息啦。”桑维认为,这些改变“与目前互联网上的功能大不相同”。
在午夜之后不久,桑维和其他程序员将新功能推向了全球,动态消息正式诞生!团队成员打开香槟,热烈拥抱。正是这样的时刻让桑维热爱计算机的世界——编写代码,改变人们的日常生活。
但是出现了一个问题:人们讨厌这个新功能!
桑维和团队成员将新功能推出后的几个小时,大家挤在桑维的办公桌前等待着用户评论。桑维蹲在地上,扎克伯格站在桌前紧盯着电脑屏幕,同事KX就站在扎克伯格身后,伸着脖子看屏幕。每个人都按捺不住内心的激动。扎克伯格后来回忆道:“我们当时认为(评论)一定会是好消息。”
结果事与愿违。沿着屏幕往下滑,评论基本上都是“烂透了”。脸书用户开始大肆反击,很多人威胁说要注销账户、抵制脸书,还出现了“鲁奇是魔鬼”等名称的小组。有一名叫本·帕尔的学生建立了“学生群体抗议脸书动态消息”的小组,短短一天就有25万用户加入。
他们到底在抗议什么?帕尔解释道:“大多数人不愿意让所有人自动知道自己的动态。动态消息有点儿诡异,有种被人跟踪的感觉。”确实,正如扎克伯格总结的那样,脸书的使用体验迟缓又低效,但是脸书用户似乎已经习惯甚至开始依赖这种低效体验。这让他们拥有某种舒适的秘密空间。比如,有人上传了新头像之后,如果不喜欢,几分钟后就可以换回旧的头像,也没有几个朋友会发现这个改动。但动态消息就像一个多管闲事又咋咋呼呼的大喇叭,生怕你有一次更新别人不知道。“嘿!丽塔和杰夫分手啦!她又单身啦!赶紧来看看!”
程序员是对的:这个发明确实改变了大家关注社交圈的方式。但是用户不确定的是,这种迅速而夸张地刷新注意力的机制真的好吗?真的是自己想要的吗?
躁动持续了一整天,之后有学生开始到脸书的办公楼前扎营抗议,这逼得桑维和其他程序员只能从后门进出。网络上的动静就更大了,整整100万脸书用户(约占脸书用户的10%)加入了关闭动态消息的各个小组。
脸书员工开始探讨对策,并出现了两个阵营,一方支持关闭动态消息,另一方认为用户需要适应期。扎克伯格在第二阵营中,他认为,在最初的震动消退之后,用户会喜欢这个新功能的。桑维也表示强烈认同,不过她也承认,坚持保留动态消息,部分原因是出于软件工程师的自尊心。“为了它我花费了人生中整整9个月的时间,绝对不能轻易放手。”
扎克伯格的观点最终得到了肯定。即便如此,他也承认整个团队的行动过于仓促,其实应该在用户表示不满的时候做出让步。于是,脸书的程序员制订了新计划——增加隐私设置,用户可以禁止某些敏感的信息出现在动态消息中。又经过48小时加班加点的整改,脸书正式推出隐私设置功能。扎克伯格也在脸书上公开表达歉意:“我们这次确实搞砸了,(我们)没有做好解释新功能的工作,更没有做好让大家掌控新功能的工作。”不过,扎克伯格依然坚信,假以时日,动态消息肯定会大受欢迎。
果不其然,动态消息让人躁动,也让人沉迷。事实证明,这个每日更新的新鲜事报道释放出巨大的价值。用户查看消息,更新的动态会滚动出现,朋友们的生活动态生动地呈现在他们眼前。自动态消息功能推出后,桑维及其团队发现,用户使用脸书的时长增长了一倍。而且,用户形成小组的速度也大大提升。这也在情理之中。如果你看到自己朋友加入某个政治话题小组或乐队粉丝小组,你会不动心吗?之前提到那些抗议动态消息的小组,其实也正是因动态消息功能的出现才得以迅速扩张的,说来还有点儿哭笑不得。(当然,还有一些更有意义的小组也因此而建立,在动态消息推出后,脸书平台上形成的第二大小组就在呼吁关注达尔富尔种族屠杀事件,第四大小组则倡导乳腺癌研究。)
甚至有观点认为,动态消息最终成为过去20年里影响最为深远的计算机代码之一。它的作用无处不在,渗透到生活的方方面面。在动态消息中,有人得知朋友刚刚生了孩子,有人看到了朋友的生活空间,有人看到了朋友的假期时光,有人发现了很多笑料,有人找到了很多猫咪表情。动态消息汇聚了极高的关注度,成为推动各种现象疯传的最强媒介之一。从感人催泪的小短片到碧昂斯的演出剪辑,从“阿拉伯之春”的宣传到恐怖组织伊斯兰国(ISIS)的招募录像,数不尽的内容通过动态消息得以传播。动态消息将人们联结在一起,也带来很多大众心理学上的新病症,例如“信息过度(TMI)”(接收的信息超出某人的承受范围),“错失恐惧症(FOMO)”(担心失去或错过某些事情的焦虑情绪)。
动态消息大大增加了用户使用脸书的时间。在美国,人均每日使用脸书的时间为35分钟。原因显而易见,动态消息的算法就是要根据用户的喜好推送消息,因此,算法会观察用户在脸书的每一次点赞、每一条转发、每一次评论,从而筛选出更契合用户喜好的动态进行推送。迎合用户的需求自然能够为企业带来极好的商机。2017年,脸书一年的广告收入达到400亿美元。然而,将极为庞大的注意力汇集到有限的领域也带来令人不安的副作用。动态消息在一定程度上阻碍了公民的话语讨论,如果有人想要故意传播误导性信息,散播谣言,或者诱发仇视情绪,动态消息就是非常高效的工具。在2016年美国大选末期以及特朗普总统任期的第一年,记者们发现,很多反面势力——白人至上主义者、时政假消息制造者——都在利用动态消息煽动舆论。更可怕的是,动态消息的设置就是要过滤掉与用户喜好不匹配的信息,这似乎也加深了美国党派之间的分歧。
程序员已经不声不响地成为世界上最具影响力的一群人。人类居住的世界由软件构成,而程序员就是建筑师。他们的决策引导着人们的行为:当他们以新手段简化了某件事情时,人们投入这件事情的频率就会增加;当他们将某些事情变得困难或复杂时,人们就会减少这方面的投入。20世纪末到21世纪初,程序员开发了第一批博客工具,引发了表达自我的狂潮。一时间,公开发布内容成为极其简单的事情,上百万人不约而同地投身其中。后来,程序员又开发了“文件共享”工具,保护内容传播的传统机制瞬间失效,这引发了整个娱乐行业的震动。当然,娱乐行业随即雇用了自己的程序员团队,开发了“数字版权管理”软件,将其应用到音乐和电影产品中,增加复制产品、私人分享产品的难度,也就是以人工手段创造稀缺性。如果财力雄厚的利益群体不喜欢某些软件,他们也可以花大价钱让程序员开发与其相悖的软件。给予的是代码,能夺走的也是代码。
回顾世界历史,在不同的时间节点上,某个行业的重要性总会突然上升,而其中的从业者突然就拥有了极大的权力。世界总是在某个瞬间需要某一类技能,并对其报以丰厚的馈赠。
在18世纪末的美国独立战争时期,最关键的就是法律界。美国政府的组建根基就是法律。正因如此,律师以及法律撰稿人拥有了权力。他们能在大脑中构筑法律体系,又能为了胸中宏图高谈阔论。他们争取到了谈判桌上的话语权。美国的开国元勋大多专业律师出身(约翰·亚当斯,亚历山大·汉密尔顿,约翰·杰伊,托马斯·杰斐逊),他们还是坚定的守法主义者(詹姆斯·麦迪逊)。正是他们确立的规则定义了美国,正是他们谱写了美国民主体制的章程。即便是极其细微的决定也对美国的发展产生了深远的影响,美国国父们创立的选举人团制度就是一例,他们无意中创造了一个体系,在这个体系中——200年后,总统候选人发现,他们在竞选宣传时只需要关注几个“摇摆州”。只要某个州明确向共和党或民主党的任一方倾斜,它就不在拉票的考虑范围内了,候选人不会到访,也不会试图去拉拢选民。假设当时的选择是全民选举制度,那么选举现状必然大不相同。然而,在无法重修宪法的当下,美国人只能被困在这个由先辈创建的体系中。
媒体十分关注硅谷中富有的自由主义者。这是可以理解的,他们掌握了极大的财富,可以决定资金的流向。他们热衷于“颠覆”,也由此决定了哪些技术将得到资金支持。但是,一般程序员的政治观点往往比人们预想的更多元化:有些功利心极强的程序员在喝到微醺的时候可能会承认自己给特朗普投了票,但与他并肩作战的同事可能是住在共享公寓里的无政府主义者,坚定地支持“财产是赃物”;参加编程大会的程序员,既有传统的加州左翼自由主义者,也有竭力抨击女权主义的人。
但这个行业的确存在性别、平等与种族多样性等方面的问题。综观收入丰厚且社会地位高的行业,美国女性劳动力呈下降趋势的屈指可数,软件行业便是其中之一。20世纪50年代出现的第一代程序员中就有女性的身影,其中不乏业界翘楚,例如创造了第一个编译器的格雷斯·霍珀,还有编程语言Smalltalk的创始人之一阿黛尔·艾德堡。1983年,大学计算机科学专业有31.7%是女性。到了2010年之后,女性占比竟然下降到17%左右(就业市场上的数据也非常接近,2015年,在谷歌、微软等知名技术公司中,女性占比可能为17%到20%不等)。种族多样性也在下降,走入一家初创公司,大数据的分析结果就会赫然呈现:大部分程序员都是白人男性和亚裔男性。全美非洲裔和拉美裔程序员的占比都是个位数,在硅谷顶尖的企业中,这一比例低至1%到2%。
增加编程人员的多样性现在已经成为鲁奇·桑维的工作。
我第一次见到桑维时她35岁,但是在更新换代极快的互联网行业中,桑维已然是幕后大佬了。在脸书工作了5年后,她创立了自己的公司,之后转手卖给了云存储网络公司多宝箱(Dropbox),并在那里担任了一段时间的副总裁。离开多宝箱之后,桑维又开发了一个新项目:South Park Commons社区,旨在推动下一代程序员成长。它位于旧金山市场街南区一幢翻新的办公楼里,年轻的技术人员可以相聚在这里,思考自己的未来。
在该社区推动产生的初创企业中,有6家公司由女性创立。这也是很大的成就,让更多女性走到创始人的位置上,意味着她们对公司的发展方向会有更深刻的影响,也能从公司的发展中获益更多。桑维记得自己曾为了在脸书得到公平的股票市值分配而据理力争,桑维告诉我,她向马克·扎克伯格说明了自己的要求:“我当时说,要么让我得到公平的股票分配,要么增加给我的现金报酬。”她告诉扎克伯格:“我真正关心的就是产品。在工作时我不希望脑子里还想着其他事,我希望能够一心思考和编程有关的事。”(桑维指出,她不是针对男女同工不同酬的问题,因为那个时候她也不知道其他人的报酬是多少。)不过,这真是非常典型的程序员之间的对话:一切基于效率。程序员的大脑就像计算机的中央处理器,两者的处理能力都有极限,没人愿意浪费时间。扎克伯格被说服了,因为他显然懂得程序员的语言。
第二章 四代程序员
玛丽·艾伦·威尔克斯从未想过要成为软件工程师。早在20世纪50年代,年少的威尔克斯生活在马里兰州,当律师才是她的梦想。少年时期的威尔克斯就展露出她严谨缜密的逻辑推理能力。1951年,威尔克斯还在读初中,有一天地理老师突然对她说:“玛丽·艾伦,长大后你应该成为一名计算机程序员!”
威尔克斯回忆道:“那时的工作就像解逻辑谜题,而且是特别庞大而复杂的逻辑谜题。”她非常喜欢这份工作对精确度的要求,编程契合了她一丝不苟的个性。“我真的非常挑剔,可能都有点儿过分了。墙上的画挂歪了我一定会注意到……我想有一些人的思维就是这样的吧。”
谁的思维会是这样的呢?在20世纪60年代,大多数女性的思维都是这样的。今天说来可能有很多人不相信,在60年代,麻省理工学院林肯实验室的大部分专职程序员都是女性。而且,在那个时候,女性通常被认为拥有编程天赋。在当时,女性编程已经有了一定的传承:二战期间,英国布莱切利园是破译密码文件的重地,第一批用于密码破译的实验计算机有一部分就是由女性操作的;在美国,用于计算弹道轨迹的ENIAC计算机也是由女性来编程的。
当时在斯塔尔的实验中,他需要记录猫在听到声音后的大脑神经信号,然而实验屡屡失败。斯塔尔将电极植入猫的大脑皮质,却无法准确分辨自己需要记录的神经电信号。莫尔纳花了几个小时写出程序——LINC会从扬声器中发出声音,可以准确记录电极每次受到的刺激,还可以将猫对声音的反应平均值显示在屏幕上。程序成功运行!数据在屏幕上滚动起来,几位科学家“在机器旁高兴得手舞足蹈”。
威尔克斯现在已深深扎根于编程的世界。在这个大多数人都感到陌生的新领域中,她已经是经验丰富的专家了,全美各地不断有计算机公司成立,陆续向她发出了邀请。
然而,最初的梦想依然萦绕心间,威尔克斯依然想成为一名律师。她告诉我:“我终于也有了顿悟的那一刻,感觉自己的余生不想在编程中度过。”计算机方面的工作虽然能激发脑力,但缺乏社会关系的互动。威尔克斯说:“我可能需要具有更多人际交往的工作,不想在余生中的每一天都盯着流程图。”
黑客的世界也强烈反对商业化的世界。他们认为,代码是一种艺术表达形式,但不是那种申请版权并从中赚钱的艺术形式。相反,对于每一个好奇如何编程的人,他们应该免费提供代码,展示代码。这不就是大家学习的方式吗?而且,这也能让他们的发明与创作传播到世界的每一个角落。这种道德意识后来转变为“自由开源软件”行为,即公开发布自己的代码,允许所有人做出回应,对其加以利用。理查德·斯托曼等著名的麻省理工学院黑客都非常不满企业对代码实行保密的行为。有一次,某家生产LISP计算机的公司卖了一批产品给麻省理工学院,结果程序员发现,公司不愿意公开分享代码。这让斯托曼大为恼火,于是他发起了自由软件运动,同时他开始建立完整的运行系统,以确保每个人都享有检查和修改代码的权利,并为此搭建合法机制。黑客们其实不太关心传统意义上的党派政治,大多数人也仅仅是对越南战争的激辩有一些模糊的兴趣。然而,软件行业出现的政治现象引发了他们强烈的反应,至少斯托曼并不孤单。
不过,他们也是第一代将女性赶出这个行业的程序员。麻省理工学院实验室中常见的景象与威尔克斯之前工作的场景已经大不相同:基本上都是男性,谈吐生硬,过着“单身汉模式”的生活。正如他们自己所言,除了同类,他们没有兴趣和其他人交往。他们一心一意投入编程,仿若一场终身修行,心中再无他事。利维发现,“黑客工作甚至已经取代了生活中的性行为”。格林布拉特不爱洗澡还特别邋遢,最终被当地基督教青年会(YMCA)赶出了住所。越来越多的男性黑客晚上就睡在实验室里,编程的环境越来越像男生宿舍。
到了20世纪80年代,计算机的性质再次发生改变。计算机设备的价格越来越低,新一代制造商决定向大众普及计算机。1976年在硅谷,斯蒂夫·沃兹尼亚克创造出第一代苹果计算机,这是首批拥有全新设计元素的计算机之一:可以直接接入普通电视机,开机后可以马上开始编程,就像坐在麻省理工学院实验室里的黑客一样。很快,其他制造商也追随苹果的脚步推出产品,价格一降再降,计算机开始走入中产阶级家庭。1981年,康懋达推出了VIC-20,一款价格仅为300美元的即插即用型计算机。当年始于威尔克斯的革命现在迅速地向美国家庭蔓延,尤其是青少年人群。
突然,青少年只要能攒到钱,就能很快进入编程的世界。其中就有詹姆斯·埃弗林厄姆。
计算机杂志还让埃弗林厄姆知道了更酷的东西:网络论坛(BBS)。基于电话线通信系统,用户可以利用调制解调器拨号,接入全美各地其他人的计算机和他们聊天,更厉害的就是可以拨号到某个BBS,下载免费的软件和游戏。对身无分文的青少年来说,“免费”听起来真是太有吸引力了。于是,埃弗林厄姆开始不断打零工,东拼西凑买了一台调制解调器。他每天都会花上几个小时给全美各地的BBS拨号,下载软件,利用下载的软件进一步学习BASIC。疯狂拨号一个月后,电话费账单送上门来了。妈妈拿着账单哭了起来。他拨号带来的电话费竟然高达500美元。埃弗林厄姆羞愧不已,他回忆说:“这比他家那个月的房贷还多。”
新的挑战又出现了:如何才能免费拨打长途电话呢?他开始不断搜索,终于发现了电话公司的运行模式。用户先要拨打1-800主号,然后输入6位数的号码。所以,他只要拨打1-800,然后不断尝试6位数的号码,总能碰上可以使用的。但是要人工一次次输入尝试,那确实很麻烦,不过对计算机来说,这完全不成问题。(美国演员马修·布罗德里克在《战争游戏》中饰演的角色就这么干过,于是黑客也喜欢把这一行为称作“战争拨号”。)埃弗林厄姆很快就写出了一个康懋达64程序,用一家名为LDX的长途电话公司身份不断尝试拨打1-800的号码。当他整晚都在睡觉时,程序一直在拨号,等他早上醒来后,程序已经输出有效的长途电话号码清单。当然他也知道这并不合法,但他觉得偷窃长途通话时间这种无形的东西似乎也不是什么严重的罪行。
到了20世纪90年代初,埃弗林厄姆在软件行业已经有了稳固的地位,他以用户界面方面的工作而闻名。1995年,30岁出头的他被邀请加入一支团队,要在Windows系统中开发一个改变世界的新产品:网景,全球首款大众网络浏览器。该团队由马克·安德森领导,当年他仅是一名24岁的程序员。团队中既有刚毕业的学生(他们为自己的大学开发过实验性的浏览器),也有像埃弗林厄姆一样经验丰富的年轻人(他们的加入,主要是为了给新项目丰富结构)。开发浏览器的工作量大得惊人。安德森知道,几个竞争对手也在开发浏览器,所以他更加确信网景必须第一个进入市场。整个团队废寝忘食地投入工作,休息时就睡在办公室的地板上。他们还会把别人写的代码臭骂一顿。有一名程序员没日没夜地工作,整个人已经压力爆棚,那天他的计算机突然重启并删除了所有的工作成果,他气得抡起一把椅子扔到房间的另一边。
“快速前进,打破常规”,10年后马克·扎克伯格挂在脸书墙上的格言也从这里发端。安德森也把这种精神描述为“坏比好更好”。什么意思呢?当软件迅速发布之后,人们就可以做一些全新的事情了,即便不完美,即便有程序错误,那也好过因过分追求完美而拖着好几年出不来,甚至到最后不了了之。埃弗林厄姆也承认:“我们的代码时常很乱。”但在网景,“乱糟糟”中还掺杂着一丝骄傲。他回忆说,如果某个程序员推出的更新“破坏了系统框架”,导致整个浏览器都瘫痪了,那么其他程序员会把巨大的黄柠檬挂到这位程序员的椅子上。这既是羞耻的标志(因为自己写的代码很糟糕把浏览器弄瘫痪了),又暗含程序员所崇尚的品质(把浏览器弄瘫痪是因为敢于尝试新东西)。埃弗林厄姆说:“如果你从未得到柠檬,那挺糟糕的。如果你总是得到柠檬,那也很糟糕。所以,对搞破坏的适度欣赏也是编程文化很有意思的一部分。”
当人们上网的时候,如果他们想看网页的代码就能看到,那该多有意思呀。于是,他们给浏览器增加了新功能,让用户看到每个网页的“来源”。当用户点击该功能的时候,网景浏览器就会出现一个新窗口,展示当前网页原始的HTML。
一时间,世界各地的人都开始使用“查看源代码”的功能,想要一睹疯狂的网络世界到底是如何运行的。这就像康懋达64所引发的BASIC革命一样,只不过速度更快,范围更广。埃弗林厄姆和他的同龄人在20世纪80年代要花很多时间才能接触到BASIC,也要花不少时间去学习。他们需要从BBS上下载,或者购买印刷了相关项目代码的杂志图书。每次都要等上一段时间才有机会学习新东西。
网络的出现弥合了时间差。每个网页都包含源代码,整个网络就像编程教学的图书馆。你可以根据自己的意愿,将代码剪切、粘贴到新的文件夹中,改动一些元素,然后运行一下看看会出现什么结果。如果觉得自己的成果不错,你就可以把它放到网上,利用这个粗糙的代码来托管你的网站,就像雅虎的GeoCities一样。BASIC将编程从象牙塔带到了青少年的卧室里,而网络让编程成为真正的主流。全球青少年开始为自己喜欢的品牌或电子游戏创建网站,各种奇幻怪异的排版和图片俯拾皆是。

对大众科普程序员工作的内容、历史发展。提到了好几位著名程序员。
有的章节讨论的问题比较具体,是我比较感兴趣的,有的章节讨论的是社会问题,比较笼统,看得比较粗糙。可以只挑笔记比较多的章节再看看。