第一章 科学之翼
我们永远不可能知道,第一个仰望星空的人类成员在抬起头颅的那一刻,那比地球历史久远得多的银河在他内心激起了怎样的涟漪。
好奇心是人类的本能,尽管在被傲慢与偏见占据的岁月里,我们曾为这一点付出巨大代价。第一个证实太阳是宇宙中心的哥白尼生前始终没有机会出版自己的作品,他的学生布鲁诺被烧死在罗马的鲜花广场上,被誉为“现代科学家之第一人”的伽利略大半生在教会监视下度过,质疑“上帝造人”的达尔文在每个讲台上都被当作人类公敌而谩骂。
这一切,无法阻挡科学浩浩荡荡的前行。对于从宇宙到微观世界、从远古历史到未来社会的一切,我们像先驱者们一样充满好奇,并努力创造条件满足好奇。于是,在漫长的科技发展进程中,实验和理论成为探索世界的两种基本方式。随着科学问题越来越复杂,电子计算机的诞生又为人类提供了科学发现的第三种手段——计算。
作为珠算这一古老计算工具的发明地,中国见证了人类不断加速计算的历程。发展速度超级快、存储容量超级大、耗电超级多的超级计算机,无疑是众多计算工具中的“珠穆朗玛峰”。建设创新型国家的巨大驱动下,中国这个世界第二大经济体正在迎来大力发展科学计算的新时代。
在这样一个以数字化为基本特征的新时代,哪个国家拥有最强的科学计算和数据处理能力,已经变得比工业时代年产多少吨钢更为重要。
1.那些古老的计算工具
几根木头一把木珠,默念口诀噼噼啪啪上下拨动,就拨出了答案。这一将计算过程形象化的工具叫作算盘,中国人再熟悉不过。作家谢尔顿(Sidney Sheldon, 1917—2007)在小说《假如明天来临》里讲有人兜售袖珍计算机,声称“价格低廉、绝无故障、节约能源、10年中无须保养”,买家打开包装盒一看,原来是一把来自中国的算盘。
2013年12月4日,联合国教科文组织保护非物质文化遗产政府间委员会第八次会议在阿塞拜疆巴库通过决议,正式将中国珠算项目列入教科文组织人类非物质文化遗产名录。联合国教科文组织介绍说,珠算伴随中国人经历了1800多年的漫长岁月,它以简便的计算工具和独特的数理内涵,被誉为“世界上最古老的计算机”。
发明珠算的中国,见证了人类不断寻求更快、更方便计算工具的历程。
中国最早的记数方法是结绳,通过在一根绳子上打结来表示事物的多少。稍晚一些,古代先民发明了契刻记数,即在骨片、木片或竹片上用刀刻上口子,以此代表数目。现代社会仍在使用的画“正”字方法简单、直观,与古老的记数方式异曲同工。
结绳记数和契刻记数大约使用了几千年,到新石器时代晚期,才逐渐被数字符号和文字记数所代替。最晚到商朝时,我国已经有了比较完备的文字系统,同时也有了比较完备的文字记数系统。在商代的甲骨文中,出现了一、二、三、四、五、六、七、八、九、十、百、千、万这13个记数单字。这13个单字的发明,让记录十万以内任何自然数成为可能,也推动了人类的数字认知从“记数”到“计算”的跨越。
大约在春秋晚期、战国初年,“算筹”诞生。根据史书记载和考古发现,古代的算筹是一根根用竹子、木头、兽骨、象牙、金属等材料制成的小棍子,长短和粗细一致如中国人吃饭离不开的筷子,二百七十几枚为一束放入布袋,系在腰间随身携带——由此可见,古人的记数和计算需求就像我们现代人的移动通信一样,是便携式的、随时随地的。
在算盘发明、推广之前,算筹一直是中国最重要的计算工具。古代科学家祖冲之(429—500年)正是在算筹的辅助下不可思议地最先算出了圆周率小数点后第6位。随着手工业、商业的发展,数学计算日益复杂,拨珠的速度远比摆弄算筹棍子更方便、快捷,于是有了珠算。关于珠算最早的文字记载来自汉末三国时期徐岳(? —220年)撰《数术记遗》:“珠算,控带四时,经纬三才。”取代了算筹的算盘15世纪起普遍应用,成为阿拉伯数字20世纪初在中国推广使用之前最常见的计算工具。
算盘从中国流传至朝鲜、日本、越南等亚洲国家,后来又被商人带到西方。很多文明古国都曾出现过类似的计算工具,如古罗马算盘、日本算盘和俄罗斯算盘。算盘帮助中国古代数学家取得了不少重大的科技成果,对中国文化的影响同样是巨大的,以至于我们今天形容心思繁多者时仍然会说,他在打什么小算盘?
世界各国还发明过各种各样的计算工具,例如古希腊人的“算板”,印度人的“沙盘”,英国人的“刻齿本片”等。它们的原理大致相同,都是以某种物件来代表数字,并通过对物件的机械操作来进行运算、得出结果。这一原理包含了把抽象事物形象化的思维过程和解决方案。
15世纪以后,随着天文、航海的发展,计算工作日趋繁重,迫切需要改进工具。很快,“格子算法”在中亚细亚及欧洲流行起来。这种把格子和数字刻在竹片或木片上、进而根据需要进行组合的计算方法,能够把乘法运算转为加法、把除法运算转为减法,甚至可以开平方根。
在约翰·纳皮尔(John Napier, 1550—1617)对数概念发表后不久的17世纪二三十年代,牛津的埃德蒙·甘特(Edmund Gunter, 1581—1626)发明了一种使用单个对数刻度的计算工具,配合以其他测量工具,可以用来做乘除法。1630年,剑桥的威廉·奥特雷德(William Oughtred, 1575—1660)发明了圆算尺,可以视为现代计算尺的雏形。
战争放大了计算需求。第二次世界大战中,执行兵力投送、火力打击等任务的人们拿计算尺快速计算武器射程、燃料使用或飞行器高度。正如显微镜代表了医学行业一样,计算尺成为工程师身份的象征。20世纪五六十年代的专业人士常把这种工具穿在皮带上,跟手机流行之初把“大哥大”别在腰间的现代人一样,既方便使用,也是一种显摆。
机械式计算机几乎与计算尺同时出现。天才科学家帕斯卡(Blaise Pasca, 1623—1662)在1642年成功研制第一台能计算加减法的计算机,并把机器复制了50台,其中的大多数成了富人家客厅里新奇的摆设。帕斯卡的机器是人类历史上第一台真正的计算机,其中保存至今的几台珍藏在法国巴黎工艺学校、英国伦敦科学博物馆等地。
德国数学家戈特弗里德·莱布尼茨(G.W.Leibniz, 1646—1716)在1671年发明了一种能进行四则运算的手摇计算机,后用于人口计算。这位博学多才的科学家在当时已经认识到,人口红利是一个国家最重要的资源之一,而他“可以用机械代替人进行繁琐重复的计算工作”思想至今仍在激励着一代代后来者们不断探索研制新的计算机。
帕斯卡与莱布尼茨的发明并不是现代意义上的计算机,但它们点燃了人类计算机史上的第一支火炬。这一时期,计算工具的运行方式从手工摆弄进入机械操作,全世界出现了多种多样的手摇计算机,并在17世纪末传入中国。
实现“机械化”后,人们开始思考计算工具的“自动化”。1822年,英国的查尔斯·巴贝奇(Charles Babbage, 1792—1871)制成了一部能执行计算程序的差分机,并于1834年设计出完全程序控制的分析机。受当时的机械制造技术限制,这台分析机仅仅停留在图纸上,但它已经包含了现代计算机的基本思想。为计算机研制穷尽毕生财力、精力的巴贝奇离开人世后,有人把他的大脑用盐渍方法保存起来,希望经过若干年后,有更先进的技术能够研究、实现他大脑里的构想。
19世纪初期,电力从一种神奇的自然力量逐渐走向人类应用。尽管早在公元前600年左右的古希腊,人们已经从吸附灰尘的琥珀上发现了“电”,直到1800年,意大利物理学家伏特(A. Alessandro Volta, 1745—1827)才发明了世界上第一块电池,1821年英国物理学家法拉第(Michael Faraday, 1791—1867)发明了世界上第一台电动机。
在电力技术的推动下,电动式计算机逐渐取代人工动力计算机。1880年,美国的霍勒里斯(H.Hollerith, 1860—1929)与比林斯(S.Billings, 1838—1913)发明了电动穿孔卡片式计算机,这一机器在1890年的美国第12次人口普查中使用,实现了人类历史上第一次大规模数据处理。后来他们开创了第一家制造电子计算机的公司——国际商业机器公司即IBM。
进入20世纪,电子技术与数学的蓬勃发展为计算机的改进奠定了物质和概念基础,采用电子管和二进制研制电子计算机成为热门话题。
1941年,德国的楚泽(Konrad Zu Se, 1910—1995)采用继电器制成第一部通用程序控制计算机,实现了100多年前巴贝奇的理想——电脑史学家认为,如果楚泽不是生活在法西斯统治下的德国,他可能早就研制出了电子计算机,从而改写世界计算机的历史。3年后,美国的艾肯(Howard Hathaway Aiken, 1900—1973)也用同一方法制成了一台程序控制的自动数字计算机。在第二次世界大战迫切的军事需求推动下,美国宾夕法尼亚大学于1946年制造出ENIAC (Electronic Numerical Integrator And Computer)电子计算机。
这台庞大的机器占地面积170平方米,重约30吨,耗电量150千瓦,造价高达48万美元。它每秒能执行5000次加法或400次乘法,是继电器计算机的1000倍、手工计算的20万倍,它还能进行平方和立方运算,计算正弦和余弦等三角函数的值及其他一些更复杂的运算。
与今日超级计算机动辄每秒亿亿次的计算速度相比,这个庞然大物的能力似乎微不足道,但在当时已经是了不起的成就。ENIAC问世后立即投入美国军事应用,原来需要20多分钟时间才能计算出来的一条弹道只要30秒,极大缓解了计算速度大大落后于实际要求的矛盾。更重要的是,著名科学家冯·诺依曼(V. N Weumann, 1903—1957)带着原子弹研制过程中的计算问题加入了这研制小组,因此可以说,ENIAC为世界上第一颗原子弹的诞生和战争的迅速结束也立下了功劳。
然而,ENIAC被称为世界上第一台电子计算机并不准确。早在它问世前两年,为破译德国“洛伦茨(Lorenz)”加密机密码而生的“科洛萨斯(Colossus)”电子计算机已经在英国投入情报工作。
这台计算机部署在英国军情六处密码破译中心,位于剑桥和牛津两大学府之间的布莱奇利庄园(Bletchley Park)。久负盛名的“恩尼格玛”(ENIGMA)密码被破译之后,采用更复杂密码算法、希特勒认为不可战胜的“洛伦茨”成为盟军在情报战线上的新对手。
使用了1500个电子管、质量约1吨的“科洛萨斯”,可谓雪中送炭。破译“洛伦茨”,其他手段需要6~8星期,而使用“科洛萨斯”计算机仅需6~8小时。1944年6月,在诺曼底登陆前几天,它的升级版破译电文显示:希特勒认为盟军的登陆地点为加莱,盟军针对诺曼底地区的军事准备行动只是佯攻,因此德军不必增加诺曼底地区的兵力部署。
战争至此,胜负已定。立下赫赫战功的“科洛萨斯”在战争结束后拆卸销毁。作为最高军事机密,它所完成的历史使命直到20世纪70年代才为人们所知。被业内人士誉为现代计算机发源地的布莱切利庄园门前立了一块石碑,上面刻着丘吉尔向情报人员致敬的那句名言:“在人类历史上,从未有如此多的人对如此少的人亏欠得如此多。(Never in the field of human conflict was so much owed by so many to so few.)”
成也战争,误也战争。军事需求催生了电子计算机,但首先研制出计算机的英国人仅仅把它作为战争工具来使用,没能抓住大力推动计算机技术发展的契机,而是把历史机遇拱手相让给了美国人。
对于后者,一个属于ENIAC的时代很快到来了。不过,它的历史还必须追溯到5年前的ABC计算机。。
20世纪30年代中期,美国艾奥瓦州立大学数学系和物理系教授约翰·文森特·阿塔纳索夫(John Vincent Atanasoff, 1903—1995)决定研制电子计算机。他的初衷很简单——教学上经常不得不进行大量复杂枯燥的计算,而当时最快的机械计算机还是太慢且误差偏大,他需要更好的计算工具。
阿塔那索夫的设计包含三个关键性设想:使用二进制代替十进制表示数据,以保证精度;使用电子器件取代机械部件进行计算操作,以保证计算速度;机器采用把计算功能和储存功能相分离的结构,这就是著名的“计算机三原则”。
这些设想渐渐成为现实。在工程师克利福特·贝瑞(Clifford E. Berry,1818—1963)的协助下,机器于1941年基本研制成功,根据他们两人的名字命名为阿塔纳索夫-贝瑞计算机,简称ABC计算机。这台机器重约320千克,像一张桌子那么大,有300个电子管,能做加法和减法运算,以鼓状电容器来存储数字。它的运算速度比原来的机械计算器快得多,而且能做线性代数方程的计算。
但是,由于还有一些小问题没能解决,ABC计算机并未立即推广使用。比方说,如果打孔机发生故障,机器就会失控从而得出错误答案。艾奥瓦大学地理位置比较偏僻,这一发明也没有引起科学界的关注。由于珍珠港事件的爆发,包括两位发明者在内的许多科学家投入战争科研工作,ABC研制工作不得不束之高阁,连他们离开时留在地下室的两台样本机器后来也因为战时物品短缺而被拆除。
1940年,阿塔纳索夫在参加美国科学进步协会年会时,向宾夕法尼亚大学物理教授莫齐利(John Mauchly, 1907—1980)讲述了自己的思想,并把自己有关电子计算机的笔记本交给了后者。基于阿塔那索夫的方案,莫齐利与研究生埃克特(J.Presper Eckert, 1919—1995)开始合作研制电子计算机。当时的美国军方急需一种高速计算器来解决弹道的复杂计算问题,马上拨款大力支持。
ENIAC生而逢时。1946年2月10日,美国陆军军械部和宾夕法尼亚大学联合向全世界宣布了ENIAC的诞生。多年来,它被认为是世界上第一台电子计算机。
阿塔纳索夫似乎对此并不在意。直到一场官司听取他的证词,他才解释了ABC计算机的研制过程。1973年10月19日,美国明尼苏达地区法院判决莫齐利和埃克特的专利无效——“莫齐利和埃克特没有发明第一台电子计算机,只是利用了阿塔纳索夫发明中的构思”。
尽管如此,ENIAC的贡献仍然是划时代的。作为世界上第一台投入实际应用的电子计算机,它宣告了电脑时代的到来,开启了科学计算的大门。
被人们普遍认为是世界上第一台电子计算机的ENIAC,解决了二战中美军计算速度落后于实际需求的问题。然而,在它诞生的1946年,曾有人预测,全世界的电脑不会超过10台。