计算机科学
出自 MBA智库百科(https://wiki.mbalib.com/)
计算机科学(computer science,CS)
目录 |
计算机科学是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现与应用的实用技术的学科。它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;有些强调特定结果的计算,比如计算机图形学;而有些是探讨计算问题的性质,比如计算复杂性理论;还有一些领域专注于怎样实现计算,比如编程语言理论是研究描述计算的方法,而程序设计是应用特定的编程语言解决特定的计算问题,人机交互则是专注于怎样使计算机和计算变得有用、好用,以及随时随地为人所用。
有时公众会误以为计算机科学就是解决计算机问题的事业(比如信息技术),或者只是与使用计算机的经验有关,如玩游戏、上网或者文字处理。其实计算机科学所关注的,不仅仅是去理解实现类似游戏、浏览器这些软件的程序的性质,更要通过现有的知识创造新的程序或者改进已有的程序。
早期计算机科学创建的基础得追溯到最近电子计算机的发明。那些计算固定数值任务的机器,比如算盘,自古希腊时期即已存在。Wilhelm Schickard在1623年设计了世界上第一台机械计算器,但没有完成它的建造。布莱兹·帕斯卡在1642年设计并且建造了世界上第一台可以工作的机械计算器Pascaline。埃达·洛夫莱斯协助查尔斯·巴贝奇在维多利亚时代设计了差分机。1900年左右,打孔机问世。然而以上这些机器都局限在只能完成单个任务,或者充其量是所有可能任务的子集。
到了20世纪40年代,随着更新更强大的计算机器被发明,术语“计算机”开始用于指代那些机器而不是它们的祖先。计算机的概念变得更加清晰,它不仅仅用于数学运算,总的来说计算机科学的领域也扩展到了对于计算的研究。20世纪50年代至20世纪60年代早期,计算机科学开始被确立为不同种类的学术学科。世界上第一个计算机科学学位点由普渡大学在1962年设立。随着实用计算机的出现,很多计算的应用都以它们自己的方式逐渐转变成了研究的不同领域。
虽然最初很多人并不相信计算机可能成为科学研究的领域,但是随后的50年里也逐渐被学术界认可。IBM公司是那段时期计算机科学革命的参与者之一。在那段探索时期,IBM(International Business Machines的缩写)发布的IBM 704以及之后的IBM 709计算机被广泛使用。“不过,使用IBM电脑工作仍然是一件很沮丧的事情。如果你弄错了一条指令中的一个字母,程序将会崩溃,而你也得从头再来。”20世纪50年代后期,计算机科学学科还在发展阶段,这种问题在当时是一件很常见的事情。
随着时间的推移,计算机科学技术在可用性和有效性上都有显著提升。现代社会见证了计算机从仅仅由专业人士使用到被广大用户接受的重大转变。最初,计算机非常昂贵,要有效利用它们,某种程度上必须得由专业的计算机操作员来完成。然而,随着计算机变得普及和低廉,已经几乎不需要专人的协助,虽然某些时候援助依旧存在。
虽然计算机科学被认定为正式学术学科的历史很短暂,但仍对科学和社会作出了很多基础贡献。包括:
- “数位革命”的开端:信息时代与互联网。
- 对于计算和可计算理论的正式定义,证明了存在计算上不可解及难解型问题。
- 提出程序语言的概念,作为一种使用不同的抽象层次来精确表达进程的工具。
- 在密码学领域,恩尼格玛密码机的破译被视为盟军在二战获取胜利的重要因素。
- 科学计算实现了高复杂度处理的实用价值,以及完全使用软件进行实验。同时也实现了对人类思想的深入研究,使得人类基因组计划绘制人类基因成为可能。还有探索蛋白质折叠的分布式计算项目Folding@home。
- 算法交易增长了金融市场的经济效益与市场流通性,通过人工智能,机器学习及大规模的统计和数值技术。
- 电脑成像广泛用于娱乐,包括电视、电影、广告、动画、电子游戏等。
- 自然语言处理,包括语音到文字(speech-to-text)转换、语言间的自动翻译。
- 对各种过程的模拟,包括计算流体力学、物理、电气、电子系统和电路,以及同人类居住地联系在一起的社会和社会形态(尤其是战争游戏,war games)。现代计算机能够对这些设计进行优化,如飞机设计。尤其在电气与电子电路设计中,SPICE软件对新的物理实现(或修改)设计具有很大帮助。它包含了针对集成电路的基本设计软件。