克兰德·楚泽 ——数字计算机之父
1945年,就在盟军攻陷法西斯德国的首都柏林后不久,从阿尔卑斯山区偏僻小镇欣特斯泰因传来一个惊人的消息:一个粮仓地窖里发现了德国研制的先进计算机。 两名英国情报官闻讯匆匆赶到了欣特斯泰因。在攻占该镇的法国士兵带领下,打开了粮仓地窖大门。地窖里面确实存放着一台机器。情报官凑上前仔细打量,这机器怎么看也不像是德国的“先进计算机”,充其量是某个印刷厂遗弃的排字机。两人互相对视着苦笑了一阵:“德军再傻,也不会把这么重要的设备放在交通极为不便的山区。”
过了很长时间之后,西方计算机界终于认识到,这台貌不惊人的机器,的确是当时最先进的计算机,它研制成功的时间,要比美国、英国的同类发明更早;更重大的意义还在于,它是最先采用程序控制的数字计算机。这台机器的名称是Z-4,它的发明人叫克兰德·楚泽(Konrad Zuse,1910-1995),一位靠自费起家的土木建筑工程师。
楚泽需要完成许多力学计算的功课,诸如桥梁、材料强度设计等等,必须自己动手根据公式算出结果,往往一整天都算不完一道强度核算题目。一天,在疲惫不堪完成老师布置的作业后,楚泽突然发现,写在教科书里的力学公式是固定不变的,他们要做的只是向这些公式中填充数据,这种单调的工作,应该可以交给机器做。 1935年,楚泽获得了土木工程学士学位,在柏林一家飞机制造厂找到了工作,主要任务恰好是他最挠头的飞机强度分析,繁琐的计算现在变成了他的主要职业,而辅助工具只有计算尺可用。楚泽想制造一台计算机的愿望愈来愈强烈,他在这家工厂里只呆了短短的几个月,便辞职回家做他的“发明梦”。
在父母的帮助下,他把家中的起居室隔出一间,改造成“实验室”兼“制造厂”,孤身一人开始了漫长的研制生涯。楚泽生活在法西斯统治下的德国,无从得知美国科学家研制计算机的消息,甚至没有听说巴贝奇和霍列瑞斯的名字。在这一点上,他远没有美国发明家幸运,无法得到大学或政府机构的任何资助,只有几个朋友“赞助”了很少的一点钱。 几乎用了两年时间在黑暗中摸索,楚泽凭着顽强的毅力独自奋斗。他认为,计算机最重要的部分不一定是计算本身,而是过程和计算结果的传送和储存。因此,他把研究的重点放在存储器上,设计了一种可以存储64位数的机械装置——数千片薄钢板用螺栓拧在一起的笨重部件,体积约1立方米——然后与机械运算机构连接起来。朋友们都不太懂他想干什么,只能提供有限的帮助,例如,帮他用切割设备加工了数以百计的金属片。其它的薄钢板,只好靠手锯在圆钢上一片一片锯下来。以这种简陋的条件,1938年,楚泽居然完成了一台可编程数字计算机Z-1。他花光了仅有的几千马克,还是无法买到更合适的零件。因此,Z-1计算机实际上是一台实验模型,虽然可以完成3×3矩阵运算过程,但始终未能投入实际使用。
最大的贡献是楚泽第一次采用了二进制数,在薄钢板组装的存储器中,楚泽用一个在细孔中移动的针,指明数字“0”或“1”。他的这种选择,明显地受到莱布尼茨著作的启发,他后来发表的研究报告,副题就是“向莱布尼茨致敬”。这台机器也采用了“穿孔带”输入程序,不过不是纸带,而是35毫米电影胶片;数据则由一个数字键盘敲入,计算结果用小电灯泡显示。 由于纯机械式Z-1计算机性能不理想,第二年,楚泽的朋友给了他一些电话公司废弃的继电器,楚泽用它们组装了第二台电磁式计算机Z-2, 这台机器已经可以正常工作。这时,他的工作引起德国飞机实验研究所的关注,使他得到了一笔资助。 1941年,第三台电磁式计算机Z-3完成,使用了2600个继电器,用穿孔纸带输入,实现了二进制数程序控制。程序控制思想虽然过去也有人提倡,但楚泽是把它付诸实施的第一人。Z-3能达到每秒3~4次加法的运算速度,或者在3~5秒内完成一次乘法运算。1942年,在紧张研究的间隙里,他写作了世界上第一个下国际象棋的计算机程序。 Z-3计算机正常工作了3年。1944年,美国空军对柏林实施空袭,楚泽的住宅连同Z-3计算机一起被炸得支离破碎。在德国法西斯即将毁灭前夕,楚泽于1945年又建造了一台比Z-3更先进的电磁式Z-4计算机,存储器单元也从64位扩展到1024位,继电器几乎占满了一个房间。为了使机器的效率更高,楚泽甚至设计了一种编程语言Plankalkuel ,这一成果使楚泽也跻身于计算机语言先驱者行列。 因害怕再次被炸,楚泽把Z-4搬来搬去,四处转移,最后带着它飞往德国南部,搬到了阿尔卑斯山区欣特斯泰因小镇,于是才有了前面那一幕。