它们不厌其烦地执行人的指令;它们收集世间万物的知识,供人顷刻之间随心调取;它们是现代社会的中流砥柱,但其存在却往往备受忽视。
它们是计算机,是人类迄今为止最伟大的发明成就,是登峰造极、至高无上的终极工具。计算机处理器和软件代表着人类最精巧繁复的设计作品。计算机科学的问世,推动了人类历史上最非比寻常的社会变革之一。
启动计算机,打开互联网浏览器,在搜索引擎中输入关键词“披萨”,结果列表中就会显示你家附近的披萨餐厅。鼠标轻轻一点,你就可以输入自家地址,查询店家能否外送了。店家可以外送!而且还支持网上下单。你挑选好自己觉得对味的披萨菜品,配上喜欢的馅料。店家甚至支持网上付款,于是你输入信用卡账号、家庭地址和外送时间,选择“即点即送”,点击“付款”确认。
仅仅过了35分钟,就有人敲响了你的家门。披萨饼送到了,热腾腾的冒着香气,令人垂涎。你给外卖员付了小费,端着披萨饼坐到桌边,开始大快朵颐。
订购披萨饼对很多人来说都不是什么稀奇事。如今,越来越多的餐厅开始为数以百万计的消费者提供味美价廉、品类丰富的餐点和迅捷方便的外送服务。尽管这样说或许令人诧异,不过如果没有计算机,这一切都不可能发生。在上述情况下,你或许会以为只有一台计算机在运作。但是如果透过现象看本质,你就会发现,为了将披萨饼安全送达,需要动用的计算机数量之多,令人震惊。
事实上,你在启动自己的计算机时,也激活了数量众多的计算机,它们协同工作,使显示屏、鼠标、键盘、宽带和主计算机顺利运转。有了电话公司和网络运营商的计算机牵线搭桥,你的计算机连上了互联网——这是全世界范围的计算机网络。搜索“披萨”时,搜索请求在好几台计算机之间传输,最后才传送到搜索引擎的计算机。这些特殊的机器每天都在刷新互联网页面的数据索引,通过查找关键词,几乎眨眼之间就能给你搜索结果——披萨餐厅的链接列表。点击其中一个链接,你的计算机就能连上餐厅的计算机(同样,这需要动用一系列计算机,只不过和搜索时动用的计算机不同)。餐厅的计算机会将菜品资料传回你的计算机,你选择的披萨饼馅料则会传送过去,以计算价格。点击“付款”时,你的计算机通过安全加密的链接与另一台计算机交换信息,这台计算机则通过更为安全的链接将数据传送到银行,将你的户头资金转账到餐厅的账号中。
支付完成后,连锁餐厅的主计算机将订单发送到你家附近门店的计算机上。短短30秒的时间里,厨房就收到了你的订单,开始制作披萨饼。这是家上档次的餐厅,所以会现点现做,使用的食材包括玉米粉、小麦粉、番茄酱、马苏里拉奶酪 、烤胡椒香肠、橄榄油等等。
不过这里面有一个矛盾的地方——虽然菜品非常便宜,但使用的却是优质上等的食材。之所以能够精选上好的意大利食材,原因只可能有一个:库存精度高,可以最大限度地减少浪费;而且进货批量大,可以降低进价。为了做到这一点,门店的计算机每天都会跟踪销量和库存水平(同时结合近两年的数据进行分析),自动生成进货方案,交给经理审核或修改。审核过的进货单随即发送到连锁餐厅的主计算机,主计算机则将所有门店的进货单统合起来,向各大食品供应商下单。一石激起千层浪,餐厅一进货,一连串的计算机开始交换信息,世界各地的配送商、食品加工厂、航运商、食品生产商都开始互动起来。一张披萨饼的食材可能来自世界各地:马苏里拉奶酪产自意大利,烤胡椒香肠产自爱尔兰,玉米粉产自美国。每家公司都依靠计算机维护和打点账目、收入、计划和通讯系统,很多公司都在工厂使用计算机控制的机器进行自动化生产。
你在计算机上完成付款操作后,短短十分钟内,新鲜食材制成的披萨饼就大功告成。厨师将它放入计算机控制的传送带式烤炉里。烤炉高效节能,烤制迅速。生披萨饼放进去后,只需十分钟,便可完美出炉。外送员随即将烤好的披萨饼放进餐盒中打包好(餐盒在几天前已由计算机控制的纸板切割机提前制好),一次性将好几个餐盒装进特制的保温包内,背着保温包向外送车走去。
由于你选择的餐厅外送范围广,外送员驾驶的交通工具是汽车。和大多数现代汽车一样,这台汽车上也充斥着各式各样的计算机,以确保发动机的高效运转,同时运行牵引力控制系统、防抱死制动系统、车内气候控制系统、乃至车载收音机。电台演播室发送的无线电信号须臾之间就传送了过来,不过,同时向外送车发送无线电信号的,还有另一组计算机控制的通讯设备。这里提到的外送员是个新手,他为了寻找路线,使用了GPS导航设备——GPS导航设备是一台计算机,它能接收轨道卫星的计算机发出的信号(而卫星信号则由更多的计算机校准)。
你所不知道的是,尽管车上搭载了这么先进的设备,外送员还是迷路了。此时距离你付款下单,已经过去了半个小时,外送员开始用手机呼叫餐厅门店,核对你的地址。手机内置的微型计算机发出特殊的无线信号,信号由附近几座蜂窝基站的接收机接收。控制接收机的计算机互相协调,同时与外送员的手机交换信息,计算出信号从外送车传递到餐厅门店的最佳路径,并根据每个接收机的信号强度和信道容量随时调整传送路径。正是由于这种动态调整的计算机网络机制,外送员与门店工作人员的通话非常顺利,他发现自己之前把你的地址输错了。
五分钟后,外送员来到你家门口,从保温包里拿出披萨饼,敲响了你家的门。
你只要稍微审视一下现代世界中的任何活动,就会发现,在这背后起作用的计算机数量之众,是你未曾想过的。计算机太不显山露水,大多数人完全察觉不到它们的存在。计算机要是有感情,一定会觉得自己备受冷落。它们虽然不易察觉,但并不需要我们大费周章地穿上游猎装、戴上双筒望远镜去荒郊野外仔细寻找——只要把平日里习以为常的活动看得更深刻一点,就能找到计算机的身影。开灯时,屋子里之所以会亮堂起来,就是因为发电站的计算机在正确的时间里接通了正确的电流。打电话给朋友时,你激活了一个非比寻常的计算机网络,网络中的计算机互相交换信息,将你的声音信号传递到朋友的耳中。看电视时,你看到的是计算机实时解码的图像信号,信号由计算机传输,并在计算机上以数字图像的格式记录下来。计算机是我们无形的助手,它们不事张扬,却近乎面面俱到地服务于我们的衣食住行。
每每想到计算机科学给人带来的巨大影响,我就不由得震惊不已。就在几年前,只有像我这样的计算机科学家才会谈论一些涉及到电子邮件、网页、磁盘分支、操作系统的艰涩术语。如今,我坐火车的时候,身边无论是蹒跚学步的小毛孩,还是耄耋之年的老太太,都在使用这些术语——而且还用对了地方。八卦和时尚杂志如今已开始登载计算机相关的专题文章,这些杂志还可以在平板电脑上在线阅读。曾经只有在计算实验室里才会用到的技术,如今已像燎原的野火一般席卷全世界。试想,倘若类似的变革发生在生物学上,恐怕细胞膜、核糖体、细胞骨架这类复杂的术语都会出现在人们的日常用语中。
这20年可谓沧桑巨变。20年前,我在计算机实验室里第一次看到了可视电话和3D电视的样机,如今它们的技术正成为消费产品的主流。20年前,第一代光学字符识别(OCR)程序还在艰难地读取任何可能识别的字符,如今,15%的出版物已通过OCR技术实现数字化(这一比例还在增长),人们可以从5万亿单词的浩瀚文海中即时搜索某个短语或单词。
互联网问世的情形,我还记忆犹新。第一次看网页时,完全不懂这样做的意义何在。要等十分钟,网页上才会显示出文本和画面来,何必呢?20年后,我家的电视已经联网,可以播放电视公司提供的在线电影了。手机也可以上网,无论在哪里,都可以查找精确的卫星方位图。我几乎可以从任何国家在线购买任何产品,然后等着派件员送货上门。很难预测在未来的20年里,人类将取得怎样超乎寻常的成就。我的猜测是,未来技术的成本会更低,发展会更迅速,产生的变革会更震撼人心,这一切都将超乎人们的想象。
无论你做什么,都会有意无意地使用到某种类型的计算机,不管是为了工作还是休闲。计算机不仅实用,而且造价低廉,凡是你能想到的任何活动中都能找到它们的身影。但凡以计算机为中心的行业,在不久的将来都是预计增长最快的,只有医疗业的增速可以与之匹敌。增长最迅猛的几个行业在几十年前甚至还没有问世,它们是:信息技术咨询、互联网托管和出版、有线和卫星电视节目、计算机系统设计、软件出版。世界上财力最雄厚的富豪中,有很多从事的是计算机行业,这并不是巧合。当初又有谁能想见,计算机的销量能超过石油、钢铁、粮食乃至时尚服饰呢?不管你的理想志趣如何,要想在现代世界取得成功,懂计算机是必不可少的条件(至少得知道如何高效使用计算机)。
在当今时代,如果一个人说自己是用计算机工作的,那么他的说法毫无意义,因为人人都这样。关键是用计算机从事什么样的职业:是艺人还是音乐人?是金融交易师还是销售员?是产品设计师还是工程师?是外科医生还是护士?是超市助理还是快餐店厨师?是大学生还是中学生?计算机已经渗透到人类生活的方方面面,掌握计算机知识的重要性再怎么强调也不为过。对这种电子机器的运用可能会贯穿于一个人职业生涯的始终(也可能会塑造其子女的生活)。
在本书中,我会跟大家分享计算机科学的奥秘,这些奥秘虽然教科书里不会提及,但却是使计算机大行其道的当今世界顺利运转的关键所在。我们将一起踏上探索的旅程,探访计算机科学家的神秘实验室。我会给大家介绍为数众多的研究人员(还有一、两个白手起家的百万富豪),是他们造就了、并将继续造就我们身边的技术奇迹。在他们的帮助下,我们将见识到,计算机如何在不计其数的领域中得到广泛的运用。
我会向大家展示,计算机从大体上讲非常好学;这方面的知识只要运用得当,就可以使我们在工作和休闲活动中出类拔萃。我们将一起探索这门新兴学科的发展历程:计算机科学萌芽于艾伦·图灵(Alan Turing)等先驱提出的理论概念;到了互联网时期,这一行业迎来了井喷式的增长;在艰难的成长阶段,人工智能的前景从未实现;此后,互联网泡沫迅速滋长,直至破裂;在最近的发展阶段,计算机科学作为一个(半)成熟的领域,已经能给人类社会带来举世瞩目的成就。在顶尖的研究人员和行业先驱的帮助下,我们将回顾计算机科学史上的成败起伏,探讨在未来的20年里,什么样的技术革新将改变我们的世界。
我是个狂热的向导,因为我自己就是计算机科学家。如果不是从小痴迷于这门学科,长大后绝不可能制造机器人、从事计算机编程。计算机或许是我们无声的奴隶,盲目地执行每一项指令,但是我认为,我们可以从计算机上学到很多东西,通过它们了解这个世界乃至人类自身。
订购披萨饼的故事或许已经帮你从日常生活中不易察觉的角落里找到了计算机的身影。然而,了解了计算机运行的物理设备 和软件,只不过是看到了计算机的冰山一角。硅芯片和程序远远不是计算机的全部。这一点毋庸置疑——要不然这种电子机器也不可能会变得如此普及。
计算机科学是用数学和工程学谱写出来的美妙音乐。正如一个人光会几门乐器和几首流行歌曲,根本不足以领会音乐的博大精深,我们要是光看几个计算机和软件包的实例,也不可能学会计算机。音乐这门学科历史悠久,传统深厚,百家争鸣,激情勃发。在音乐的世界里,各种理论和想法交流碰撞,表演方法和乐器多种多样,名家大师层出不穷。计算机科学也是如此。这门学科虽然远远不像音乐那般历史悠久,但其发展史依然可以称得上丰富多彩。它形成了自身的传统,也不乏各种思潮的论争和昂扬澎湃的激情。形形色色的理论和想法构成了它的核心,在此基础上派生出各种方法,并通过计算工具加以实践。这一领域也涌现了不少大师,不过他们和音乐家不一样,可能永远不会穿着燕尾服在观众面前表演,也很少受到公众的热烈追捧,尽管他们的成果改变了数百万人的生活。这些大师很可能相貌平平,穿着牛仔裤上班,平常喝了太多的软饮料或咖啡。
你要是向公众询问他们对计算机科学的看法,就会收到很有意思的回复。以下是几个例子:
计算机科学就是与硬件和软件有关的科学。
计算机科学就是捣鼓计算机的科学。
计算机科学主要涉及到编程、工程学和数学。
计算机科学的领域和食品工业一样广泛。
这些回答并没有错,而且读者朋友们可能会认同他们的观点,但是我希望你们在读完整本书以后,会给出稍微不同的答案。
计算机科学是一个神秘的领域,所有的计算机技术均发源于此。从业人员的工作场所往往是高校实验室或者科技公司,但也有一些令人意想不到的地方,比如癌症研究实验室、银行、计算机游戏公司、艺术工作室、汽车制造公司、出版公司等等。计算机科学家几乎可以在任何地方从事任何职业——这也是投身于这一行业的乐趣之一。
计算机科学历史太短,多样性太强,有些人甚至认为,应该将其称为工程学或数学的分支。计算机科学面临着自我定位的问题,或许作为一门专业学科,这一点令人意外。生物学家对自己的专业范围心知肚明,物理学家在这一问题上甚至知道得更精确。但是你要是向计算机科学的领军人物询问他们对这一学科的私人定义,结果就会有所不同。他们的答案五花八门,直观而引人入胜地反映出,计算机科学领域的研发工作门类多样。为了具体说明这一点,我给自己的邮箱联系人、各大社交网站及计算机科学家的聊天群发送了一个问题——“你个人对计算机科学是怎么定义的?”。(你要是想与计算机科学家交流,最好的方法就是使用计算机。)世界各地的计算机科学家都给出了热心的解答,以下仅举出部分例子。有些科学家的名字还会在后文的章节中出现。
安吉拉·萨斯教授来自伦敦大学学院,其研究领域是以人为本的技术和信息安全。她的回答是:“计算机科学是设计和制造特定系统的科学,这些系统功能实用、物有所值,且有利于个人和群体的福祉。”
巴里·费金教授来自美国空军学院(United States Air Force Academy),其研究领域是计算机硬件,包括机器人学。他表示:“计算机科学就是发现和创造特定事物的科学,这些事物要么可以计算,要么应该计算,要么本身就是高效计算的秘诀所在。”
德里克·希尔是IXICO公司的创始人和CEO。IXICO涉足医药行业,专业从事医疗成像服务。希尔的回答是:“计算机科学运用创新技术,挑战悬而未决的科学问题,将新的科学发现转化为改变人们生活的技术。”
佩雷·维勒兹是朴次茅斯大学(University of Portsmouth)的教师,其研究领域是音乐和音效技术。他的回答是:“计算机科学就是用技术引领新的社会风尚。”
迈克尔·菲尔曼是伦敦大学学院的博士,其研究领域是激光测距仪的数据处理。他的回答贴切地概括了计算机科学的多样性:“将医疗影像学、人工智能、生物信息学这类多样的学科统统归类为‘计算机科学’,就因为这些学科刚好需要用到计算机。这样的归类有时显得毫无逻辑。这就好比把英语、法学和社会学都归类为‘钢笔学’,就因为这些学科都需要用到钢笔。”
我们可以看到,专业人士对计算机科学的定义不仅五花八门,而且显然各有分歧。有些人可能会觉得这种情况很成问题,但事实上,这正是计算机科学大获成功的秘诀所在。实验室里并不像你们想象的那样,聚集了一堆脸上长满粉刺的极客,整天除了写一些只有他们自己才看得懂的代码之外,什么事也不做;能够留在实验室里的,都是世界各地百里挑一的顶尖人才,他们处理的是人类面临的实际问题。这些研究人员有的对癌症数据建模,预测新药对人体的效果;有的利用虚拟现实 帮助恐惧症患者走出阴霾;有的发明新的安全系统,便于人们使用网上银行、遥控车锁和信用卡;有的致力于完善新的医疗成像系统,让扫描的精度更上一层楼;有的专攻移动设备,让无线技术更可靠;有的着力于制造最好的接口 或外设 ,使用户操作起计算机来更加得心应手;还有的构建更完善的金融系统,推动经济的平稳运转。
计算机科学多样性强,而且这种多样性正与日俱增。计算机科学家可以是工程师、数学家或科学家;其专业领域可以是理论、实验或应用;辅助其工作的,可以是硬件、软件或人。但是无论他们怎么称呼自己,其工作内容是什么,没有他们的共同努力,就不会有造福于人类生活的各项技术。
本书是对计算机科学界的礼赞,这一行业日新月异,精彩多样,硕果累累。我们无法逐一细看每一个领域和每一次革新——我的笔头赶不上它们的发明速度,但是我会向大家展示自己觉得振奋人心的精彩瞬间。希望读者朋友们在这段探索的旅程圆满结束之际,能够理解为什么我等计算机科学家会对计算机如此心醉神迷。计算机科学对人类生活的影响积极、广泛而深远,在这一方面,没有任何技术可以与之匹敌。我们在这段未来主义 的旅程中需要探访的第一站,或许可以称得上是这一切的起源,是整个计算机科学的根基所在。我们必须探访支撑这座技术大厦的宏伟支柱,那里是自动计算器的发源地。
计算机的美妙之处并不在于其闪烁的灯光、旋转的磁盘、成排的芯片和电线,而在于,这些部件的背后隐藏着一个优雅而简单的想法。这个想法同晶体管、操作系统、网络和文字处理器毫无关联,也不可能有任何关联,因为它的诞生时间比这些设备都早。这一想法是24岁的艾伦·图灵在1936年提出的。