五。电脑先驱
许枫究竟是怎样一个人?他与柳倩是怎样结下冤仇的?其实,最初,他们不仅不是仇人,还是并肩战斗的战友。
事情还要从文化革命说起。1966年,文化大革命以不可思议的方式发动,展开。但不久,也陷入了不可收拾的局面。运动以这样的方式开始,的确气魄非凡。不同于以往任何运动,事先下达文件,各级领导层层布置,有计划,有步骤进行。相反,这次运动的目标是打倒各级领导,让年轻人起来“造反”,乱打乱砸。没有章法就是章法。整个国家就靠“最高指示”以及中央文革几个人指挥,让人觉得匪夷所思。虽然打倒国家主席的目的达到了,但各单位群众分成对立的两派,争吵越来越激烈,文化革命发展为”武化革命“。群众分派的原因就是因为是非没有标准。一部分人响应造反有理的号召,打倒一切。另一部分人觉得不能什么都否定,一些基本原则不能反对。事实也这样,有些干部先被打倒了,以后又起用了,说明原来保他没有错。可是,这次运动的特点,是阴谋诡计,是突然袭击,就是要瘫痪党政系统,让对手无法利用合法手段来控制局势。不然,国家主席无法打倒。所以,不管好人坏人,先都打倒,好人以后再落实政策。但这是不能公开说的。所以,许多群众无法理解。中央文革也不可能对每一件具体事表态,裁决。中央文革本身在许多方面是无理的,强行支持一派,压制另一派,只是使中央文革自己丧失威信。后来靠知识青年上山下乡,以及派工宣队,军宣队到各高校,才使局势稳定下来。文革派反对政府部门维持正常生产活动,认为这是反对突出政治。其实他们也知道,人不能不吃饭,社会不能不生产。他们反对抓生产其实是整人手段,他们掌权也要抓生产。派工宣队,军宣队,是以首都大学等为样板。抓生产他们也想以首都大学为样板。尽管天天批判知识分子,搞科技还要靠知识分子。
为了与国务院对着干,文革派要求首都大学研制先进的计算机。尽管那些年科技基本停顿,文革派也知道计算机是非常有用的。于是,1969年底,首都大学在军宣队的领导下,从无线电系,数学系,物理系等抽调教员,组建电子计算机厂。无线电系教员负责计算机硬件的研制,数学系教员负责计算机软件的研制,物理系教员负责大规模集成电路的研制。电子工业部(当时叫第四机械工业部)所属全国主要计算机工厂837厂也派工程师和技工来协助。这个项目的代号叫051工程。任务是制造一台为石油勘探进行数字分析的大型计算机。技术指标是主机每秒能进行100万次四则运算。当时是一个先进的指标。工程的特点是:政治挂帅。强调革命加拼命的奋斗精神。技术上的不足,各种困难,都用这种精神来克服。经过全体人员三年半的日夜苦干,项目终于获得了成功。这无疑是一个成就。尤其在全国科技基本停顿的情况下,能有这样一个成绩,总是好事。不过,这不等于这种搞法没有问题,是应该坚持和推广的。首先,这种搞法效率不高。集中那么多教员搞一台计算机,代价太大。这在当时普遍无所事事的情况下,是好的。但正常情况不能这么干。这种搞法是不可能赶上发达国家的。精神动员是有效果的,尤其在战场上,勇敢是非常重要的。但对科技,要强调尊重规律,搞成了不等于最佳的。问题还在于,把学校变成了工厂。学校不是工厂,学校要搞教学,科研。当时,教学,科研都停止了,只有校办工厂有事干。这是短视,是杀鸡取蛋。
文化革命结束后,学校当然要恢复到传统形态。其它系的恢复相对容易一些,因为这些学科有多年历史。当然也有如何赶上现代步伐的问题,但基础课程不会根本变化。计算机就不同了,它是一个新兴学科,而且发展迅速,影响巨大。我们在搞文化革命,国外正是软件大发展时期。到文化革命结束,国外大学已经普遍设立了计算机科学系,而国内绝大多数高校连什么是软件都不知道,更没有计算机科学的概念,更不用说一般人了。首都大学因为搞了051工程,在这方面独占先机, 对软件的理解上,在文化革命结束时远远领先于其它院校。但是,对整个计算机科学的了解还是极为有限。中国的计算机发展起步还是很早的。1957年首都大学在全国首次招收计算机专业学生。当时,对计算机的理解只是用来进行科技计算,即解数学方程。当时没有软件概念,只有程序概念。计算机的利用过程是这样的:对一个科学或工程问题,列出数学方程,确定解题算法,编写程序。然后上计算机求解。当时,其实是有软件的,即编译。不过不叫编译软件,而叫编译程序,或编译系统。它的功能是把用计算机“高级语言”写的程序转化为计算机能执行的代码(“低级语言”)。文化革命期间,通过051工程的开展,了解了一些国外情况,知道了软件概念。并且自己开发编译系统和操作系统。编译系统是已知的,操作系统是新的。它的作用是管理计算机自身资源。由于计算机硬件结构的复杂化,计算机外围设备的多样化,以及计算机使用中人机界面的改善,需要有专门软件来管理,以提高系统效率,和方便使用,这就是操作系统的任务。文化革命结束后,工厂结构显然不适合发展学科。按照原来学科体系,搞硬件的应该回到无线电系。搞软件的应该回到数学系。搞集成电路的应该回到物理系。但有些人已经意识到,应当成立计算机科学系。其中,柳倩和许枫是最积极的鼓吹者。所以,当时他们是密切合作的。柳倩是建立首都大学计算机专业最早的几个人之一。051工程她是软件组负责人。许枫是首都大学计算机专业成立后招收的首届学生,毕业后留校。051工程他参加了操作系统组。
虽然柳倩和许枫都在呼吁计算机科学,其实许枫对计算机科学的理解远比柳倩深刻。文化革命中,虽然国内教育和科技基本停止了,但还是经常有来自国外的专家学者访问首都大学。访问者几乎都谈计算机,包括一些其它学科的访问者。如化学家,他们的接待单位是化学系,但来访者大谈计算机对化学的意义。化学系的教师对计算机一无所知,只好找计算机系的教员帮忙。许枫参加过多次这样的接待。从而对软件的重要性有着深切的体会。所以文化革命结束后,虽然对什么是计算机科学,他还说不清楚,但有一点他清楚,计算机科学系要以软件为中心。在今天,这已是众所周知的了,在当时,没有什么人理解。两年以后,他得到了一个计算机科学的定义。也就是对计算机科学已经有了一个全局的,明确的认识。当时没有地方发表。为了宣传他的观点,他自己邀请了几个学生,做报告。题目是“从冯.诺意曼到计算机科学”。冯.诺意曼是计算机发明思想奠基人之一。报告的意思就是,计算机从发明,作为一种计算工具,到今天,已经形成一门独立的学科,有着丰富的内容和广泛的应用。计算机所以迅速发展,除了由于技术指标的不断更新,包括存储容量和处理速度的突飞猛进,主要还是因为它突破了仅仅是一种计算工具,而是有着逻辑分析能力,从而使它有着广泛应用。
几年以后,他开设了”计算机科学概论”这门课。在这门课中,他全面介绍了计算机科学的研究领域,计算机的广泛应用,以及这些应用对各个领域的深远影响。他还谈到计算机对整个人类社会的影响,话题涉及经济,法律,哲学,道德,等等。指出了,人类正在经历一场信息革命,正在走向向信息化社会。
一位学生,写下了如下对这门课的感想:
“。。。大大出乎我的意料,我竟被这门概论课强烈地吸引,而且兴趣之高也是前所未有的。课堂上的讲授方式,讲课内容都合我的口味。这曾经导致几场几个同学的舌战,中心论题是“讲课印象”。
他们认为“散、乱、浅”,而我的观点是“形散神不散,通俗蕴含着深刻”。当然首都大学学生顽强,心服口不服,舌战结果仍是愤愤然各执已见。总之我的体会是这门课使我认识到过去对计算机的理解太肤浅,太低级了,或者干脆说原来根本不了解计算机。自以为懂两门高级程序语言就说懂计算机了的幼稚想法现在看来是多么的荒谬可笑,把计算机与算盘等同起来多么浅薄无知。为什么计算机导致信息时代的出现也
有了答案。“散”的确“散”,不过正是因为散才视野开阔,充实饱满,哲学高度的概念定义,通俗易懂的生动实例,巧妙的类比为你绘出一幅幅高雅而又亲切的图画,把计算机的发展过程,各过程的特点,目前的状况,未来的展望等等有机地组织起来。其中穿插着哲学、道德、法律、经济等社会问题,使你形成这样一个概念:计算机果真引起了一场革命,它一经社会所发明创造社会就怎么也摆脱不掉逃脱不了它,从而使你认识到中国发展计算机事业的迫切性。”
另外,051工程的实践中,整个项目,大家处于边学边干状态。但在后期,许枫已经对这种人海战术的搞法不满意了,认为不科学。许枫感到这种实践缺乏理论指导,效率太低。国外传来软件工程概念,正是针对这种情况。在软件开发上,国外也走过弯路。许枫总结了051工程和以后自己软件开发项目的经验,总结了一整套软件工程原理。
为了掌握软件开发规律,他与中国旅游局合作,开发旅游管理软件系统。通过两年多的开发实践,他总结了一整套经验。当时,中央各部委还没有开始信息系统的开发。他在一次有中央五十几个部委计算机负责人参加的会议上,介绍了自己的经验。
当时,国际上,由于计算机应用大发展,理论跟不上,软件开发出现许多问题,如进度推迟,经费超支,产品错误很多,项目半途而废。被称为“软件危机”。许枫根据自己的开发实践,他认为,除了软件开发技术不成熟以外,所谓软件危机其实是管理问题。在他领导的开发项目中,始终有效控制着项目的进展。有困难,但没有危机。困难主要不是来自技术,而是来自人。一是来自用户,一是来自开发者。用户普遍不理解软件和软件工程,不支持,不配合。针对这种情况,他在开发过程中,始终对用户作宣传工作,宣传计算机的意义,宣传软件开发规律。当用户因为不理解,不习惯,从而对使用计算机怀疑时,他对用户说,计算机是好东西,但也要化代价。火车是好东西。但火车也会出轨。一旦出轨,人们想的是追查原因,改进管理,没有人因此要取消火车。为什么使用计算机有问题,要取消计算机呢?开发者当时主要是大学师生,普遍不懂软件开发规律,不懂软件工程。他们只有过去在实验室写小程序经验。针对这种情况,他积极向开发者宣传软件工程概念,说明软件工程不等于程序设计。他指出软件开发失败在开发者方面的原因。软件已经是一种产品,他们还当在作实验室做试验;软件已经是一种大规模的生产活动,需要一个团队,相互配合,他们还停留在单干时代;软件已经是一种工程,要有一系列概念,方法,技术和工具,他们还只有“写程序”概念。他用传统的建筑工程作比喻。在农村盖几间土房,要有些经验,但不需要多少理论。但盖一栋大楼,就不同了,有一整套理论,方法,技术和工具。他到一个大学去讲软件工程。当时人们根本不知道什么软件工程。他对听众说,当一架飞机掉下来时,当一栋大楼倒塌时,人们惊呼,报纸上头条新闻。但当一项软件工程失败时,没有人震惊。其实 ,大型软件工程项目的工作量涉及几千人年,代价可能大于一架飞机,一栋大楼。只是因为没有直接死人,没有轰然巨响,人们不以为然。那时,中国人工很便宜,对完全由脑力劳动构成的软件的代价不体会。其实,时间就是生命。1000人年的工作量,相当于一个人工作1000年,或者,1000个人工作一年,或者,20个人工作50年,等于20人的生命。这样的讲演对听众是闻所未闻,大开眼界。他把软件工程的特点总结为三多,即多学科,多目标,多阶段。所谓多学科,指软件开发不仅涉及与程序有关的论题,而且涉及管理科学、系统科学、人类工程学、经济、法律等多种学科。所谓多目标,指软件开发不仅关心项目或产品的功能,也必须注意成本、进度、可靠性,安全性,通用性,维护性、有效性,以及用户界面等。所谓多阶段,指软件开发不仅是编码,而是由可行性研究,计划和组织、要求定义、初步设计、详细设计、编码、调试、试运行、安装、维护等阶段构成的完整过程。这个提法,国外学者也没有提出过。国外软件工程的概念,主要是指多阶段。许枫认为,这还不够。许多软件开发失败,是因为失败于某一个学科,或者失败于某一个目标。
由于对计算机本质的深刻理解,许枫已经看到计算机广泛应用的前景。但社会还普遍对此缺乏认识。就像当年美国加州发现了金矿,他是第一个到达的。他想,如果有30名助手,他可以把计算机主要研究和应用领域都占领。可惜一个也没有。直到多年以后,他才有第一个研究生,可惜他不得不离开中国了。为什么是30名,不是300名,3000名?是的,按理30000名也不够,今天多少人搞电脑?他不可能同时带领更多的人。不过,他向社会积极宣传计算机应用的意义,并且亲自实践开辟计算机应用领域。当时开辟计算机应用困难很大,阻力重重。他告诉学生,你们要当信息革命的先锋。你们要像当年西方传教士那样,坚定不移,不辞劳苦,穷乡僻壤,传播福音。不过,你们不必到穷乡僻壤,就在城市,传播计算机文明。虽然目前推广计算机应用还有困难,但你们要相信,计算机必将象电力、交通等现代化工业技术一样普及。一个计算机应用的高潮正在到来。计算机必将用于各行各业,计算机必将进入千家万户。这是历史潮流,无论是部长,总理,总统,国王,都阻挡不住。只要人们用上了,就再也离不开它。
他也动员许多人投入计算机领域。因为计算机会带来社会革命,许多领域,许多行业,将会发生巨大改变,有些要淘汰,有些要全面更新。
经过一段时间的努力,当然也是由于计算机发展的客观必然性,首都大学准备建立计算机科学系。许枫是不喜欢出头露面的,对当官是没有兴趣的,对谁当系主任也不大在意,只要发展计算机科学就行。柳倩对当官是非常感兴趣的。不过,当时她的资望有限,那时的系主任也不像以后强调年轻化,都是老教授担任。所以她还不敢指望直接当系主任。于是与许枫一起去数学系请陈德教授,希望他出面主持计算机科学系。陈德教授德高望重。但柳倩知道,陈教授对计算机不熟悉,只是要他挂名,实际自己可以作主,是事实上的主任。不过陈教授没有允诺。学校考虑从中国科学院调宋清先生来当系主任,也征询宋清先生本人意见。宋先生找首都大学的苏贞教授商量。苏先生无意中把这件事告诉了柳倩。柳倩明白,宋先生的资历比自己高,学术造诣也高,如果他来,自己就不可能操控这个系了。于是她就到处宣传,宋清到来会从中国科学院带一批人,替换首都大学的人,搞得人心惶惶,学校只好作罢。几经周折,柳倩终于如愿以偿当上了计算机科学系主任。许枫是一个清高的人,对柳倩那种爱出风头,一心想当官十分看不惯。尤其看到,当柳倩听说学校要调宋清来当系主任时那种着急的样子,丑态毕露,庸俗不堪。不过,他当时以为,也许她为了发展学科,或者她有领导和管理才能,希望能得到发挥。没有意识到她当上系主任以后的后果。从柳倩当上系主任以后,许枫就与她保持距离。不想因为自己鼓吹成立计算机科学系的“功劳”要回报,也不想利用柳倩当系主任而沾权力之光。
柳倩的系主任是怎么当的呢?她关心的不是学术,而是权力。为了巩固权力,她拉帮结派,培植亲信,欺上瞒下,排除异己。在用人上,谁紧跟她,吹捧她,她就重用。反之,则不用。在学术资源上,对亲信,给予种种优惠,照顾。反之,则百般刁难。在学术成果,学术职称评定上,对亲信,低水平说成高水平。反之,高水平说成低水平。她的心思,她的才能,不是用在搞学术上,而是用在搞权术上。搞学术,她才能平庸,但搞权术,她很有一套。许枫曾经向柳倩提过意见,希望她能够公正对待所有人,一视同仁,团结大家搞好这个系。柳倩根本不听,他也就不提了。因为许枫原来是数学系的,又与她共同为建立计算机科学系而奋斗过,被看作“自己人”,许枫也完全没有争权意愿,对柳倩没有威胁,所以开始柳倩对他还是尊重的,不来干涉他的工作。他的处境还是不错的。许枫没有想到的是,柳倩的这一套越演越烈,终于搞到他头上,以致被迫与她决裂,最后不得不离开中国。为什么会走到这一步,不仅许枫本人没有想到,周围的人也没有想到。他们分别走在两条看来不相交的路上,怎么会撞车的 ?