计算机导论
上QQ阅读APP看书,第一时间看更新

1.2.2 计算机科学与技术学科的根本问题

计算机科学与技术学科来源于对数理逻辑、计算模型、算法理论、自动计算机器的研究,早期学科研究与发展的主要目标是围绕大量科学计算问题研制自动计算机器,然后开展各种以科学计算为主的应用研究工作,研究对象大多集中在寻求解决问题的各种算法上,因此,许多人认为计算机科学与技术是算法的学问。

但20世纪30年代之后,“能行性”取代了算法的地位,成为学科定义性描述中占有突出重要地位的名词。简单地讲,计算机科学与技术学科的根本问题是,什么能被有效地自动化,即对象的能行性问题。一个问题在判定为可计算后,从具体解决这个问题着眼,必须按照能行可构造的特点与要求,给出实际解决该问题的具体操作步骤,同时还必须确保这种过程的成本是能够承受的。围绕这一问题,计算学科发展了大量与之相关的研究内容与分支学科方向。例如,数值与非数值计算方法、算法设计与分析、结构化程序设计技术与效率分析、以计算机部件为背景的集成电路技术、密码学与快速算法、演化计算、数字系统逻辑设计、程序设计方法学(主要指程序设计技术)、自动布线、RISC技术、人工智能的逻辑基础等分支学科的内容都是围绕这一基本问题展开和发展形成的。

计算学科所有分支领域的根本任务是进行计算,那什么是计算呢?数学家图灵(A. M. Turning) 1936年在其论文“On Computable numbers,with an Application to the Entschidungsproblem”(《论可计算数及其在判定性问题上的应用》)中揭示了“计算的本质”。图灵通过构造理论的图灵机(见图1-8),形象化地阐述了计算的本质:所谓计算就是计算者(人或机器)对一条两端可无限延长的纸带上的一串0和1执行指令,一步一步地改变纸带上的0或1,经过有限步骤,最后得到一个满足预先规定的符号串的变换过程。

图1-8 图灵机

计算机科学与技术学科除了具有较强的科学性外,还具有较强的工程性,因此,它是一门科学性与工程性并重的学科,表现为其理论性和实践性紧密结合。计算学科包含了计算机科学、计算机工程、软件工程、信息工程等领域。计算机科学技术的迅猛发展,除了源于微电子学等相关学科的发展外,主要源于其应用的广泛性与巨大的需求,已经渗透到人类社会的各个领域,成为经济发展的助推器。