关键词:
软件
数学
六十年代
五十年代
自动机理论
程序设计语言
计算机
计算机科学
摘要:
这篇论文探讨四种有影响的计算机科学的定义:1.计算机科学是研究与计算机有关现象的科学,Newell,Perlis和Simon,1967.2.计算机科学是研究算法的科学,Knuth,1968.3.计算机科学是研究信息结构的科学,Wegner,1968,课程68.4.计算机科学是研究和管理复杂性的科学,Dijkstra,1969.第一种定义反映一种经验传统,因为它断言计算机科学从事研究一类现象.第二和第三种定义反映一种数学传统,因为算法和信息结构是从计算机科学的现象中得到的两个抽象.第四种定义反映在管理复杂的软硬件系统构造中遇到的工程问题的极度复杂性.第一节内容为,在五十年代,计算机科学为经验研究态度所支配,在六十年代为数学研究态度所支配.在七十年代,为工程态度所支配.第二节说明这三个发展阶段如何反映在程序设计语言中.其余几节详细地考察经验的、数学的、工程的研究态度如何影响计算机科学的发展.第三节指出,虽然计算机科学的现象为人所创建,但是利用自然科学的经验技术,却可以研究它们.第四节把从事研究单个算法的"微计算机科学"和从事研究说明所有算法的机构和记号的"宏计算机科学"加以区分,把程序和计算系统在内涵上"如何做"说明和在外延上"做什么"说明加以区分.第五节将软件工程中使用术语"复杂性"和算法分析中使用术语"复杂性"加以区分,并建议用不同的术语表示这两类复杂性.最后一节指出,计算机科学中各种各样的研究态度可以解决在决定如何培养计算机科学家中的困难,也可以解决关于计算机科学研究性质的意见分歧.