计算机科学的知识体系

1.对计算机及计算机科学体系的理解

计算机科学与技术的体系计算机是本世纪最重大的科学技术成就之一,它已成为现代化国家各行各业广泛使用的强有力信息处理工具。

计算机使当代社会的经济、政治、军事、科研、教育、服务等方面在概念和技术上发生了革命性的变化,对人类社会的进步已经并还将产生极为深刻的影响。目前,计算机是世界各发达国家激烈竞争的科学技术领域之一。

电子计算机虽然叫做“计算机”,它的早期功能主要也确实是计算,但后来高水平的计算机已远远超越了单纯计算的功能,还可以模拟、思维、进行自适应反馈处理等等,把它叫做“电脑”更为合乎实际。由于电子计算机功能的飞跃性发展,应用于生产和生活的各个方面,直接和显著地提高了生产、工作和生活的效率、节奏和水平,在软科学研究和应用中它也起着关键作用,因此它已被公认是现代技术的神经中枢,是未来信息社会的心脏和录魂。

在这种背景下,从对计算机的技术研究,又上升到了对计算机的科学研究,于是,计算机科学逐渐建立起来了。尽管在1946年世界第一台电子计算机ENIAC就已经问世,但是直到1963年美国斯坦福大学Forsythe教授才引入“计算机科学”这个术语。

不过对于它的含义,在不同发展阶段的不同背景的人们常持有不同的理解。D.E.Knuth认为:“我中意的描计算机科学的办法是把它看作是算法的学问。

算法是精确定义的一系列规则:指出怎样从给定的输入信息经过有限步骤产生所求的输出信息”。关于算法的学问,主要涉及研究算法的理论、执行算法的机器、描述算法的语言以及对于具体算法的分析。

这种提法大体反映了50年代计算机硬软件取得的成就,包括了用物理形式实现的各种计算设备以及算法、程序和程序设计语言等。然而,仅从这些方面尚未能说明计算机科学的本质。

P.Wegner强调计算机科学是一种“关于信息结构转换的科学”,他认为“工业革命中起核心作用的是‘能量’;在计算机革命中它将被‘信息’反取代。”显然,把计算机科学看作是研究信息结构的表示、变换、传输、利用,这是很大的进步。

它反映了计算机实践的信息处理内函,强调了计算机科学的数学统一性。60年代对自动机理论、形式语言理论、运算语义和数学语义理论进行了抽象研究,这些都导致人们把计算机科学作为某种数学模型的抽象演绎来研究。

70年代后,人们又提出计算机科学是计算机工程技术的理论基础的观点。例如对软件工程的理论研究;对知识表示、存贮和利用的研究等。

这反映了对创新软件工艺所做的努力,从而把计算机科学当作技术科学来研究。总之,我们认为计算机科学正是在于寻求一个科学基础,在这个基础上可以从事包括计算机设计、计算机编程、信息处理、问题的求解算法、运算过程本身以及它们之间互相关系的研究。

近年来,人们逐渐意识到“计算机科学”一词不能概括社会信息化提出的要求。1986年10月在国际信息处理联合会召开的第十届世界计算机大会上,Bjoner、Nygaard等人提出用“信息学(Informatics)”代替“计算机科学”的观点。

他们认为“计算机科学”含义过窄,而“信息学”才是在计算机不断创新的环境中发展起来的,象数学、物理学那样的基础科学。这些观点值得我们充分注意。

事实上,计算机科学的萌发比这一术语在文献中出现的时间要早得多;它的产生发展都与计算机器的设计、制造、实践紧密相关。计算机的发展留下一些明显的里程碑,人们把计算机分成若干代。

不过关于划代的精确年份尚无一致意见。有人按器件演变来划分,有人则按第一个十年、第二个十年……来划分。

下面是文献上最新的划代情况。第一代计算机(1951-1958):硬件上以电子管(1906年发明)为逻辑元件。

鉴于ENIAC的使用范围比较窄,技术上还不能体现一代机的特征,所以以1951年出现的UNIVAC为标志。该机在1952年总统选举中通过分析5%选票就断定艾森豪威尔将击败中蒂文森,从而使美国舆论明显地意识到进入了“计算机时代”。

第一代计算机的系统软件还很少,不得不用机器语言或汇编语言编写程序。而不同计算机的这些语言又有较大差别。

此外,通常只允许一名专业人员操作机器,CPU的利用率还很低。第二代计算机(1959-1964):硬件上以晶体管(1948年发明)取代了电子管,机器体积减小而可靠性提高。

磁盘开始使用。软件开始用操作系统和高级语言。

因此非专业人员开始使用计算机,除数据处理外也用于过程控制。第三代计算机(1965-1970):硬件上用中小规模集成电路取代了晶体管,使计算机体积进一步缩小而可靠性更高。

操作系统更加完善,高级语言更加实用。数据通信把用户远程终端与远程计算机联系起来,出现了大范围网络。

第四代计算机(1971-现在):进入了大规模集成电路的微处理器时代。微型计算机大量涌现。

中大型机也从CPU为中心发展为以存贮器为中心的系统结构,并开发了多处理机系统。软件技术扮演越来越重要的角色,软件工程进入实用化。

数据库技术和网络技术都取得很大的发展。目前,美国、日本、西欧正集中人力物力开发新一代计算机,它将从数据处理转为知识处理,从存贮计算数据转为推。

%title插图%num