计算机语言的发展
张建中
2014年04月16日
3. 计算机语言的发展简史
计算机在二十世纪四十年代刚刚问世时,要手动控制,价格极其昂贵,程序员只能使用机器语言编写程序,须要考虑大量计算机上的细节问题,还要处理许多计算机应用者不该管的事情并熟记很多计算机的编码,如有计算机运算符号的编码:01代表“+”、02代表“-” 、03代表“*”等等,程序因机而异,难编、难写、难记,编程效率低,极其单调乏味。随着计算机技术的发展,计算速度越来越快,价格越来越低,而计算机程序越来越复杂,开发时间已经远比运行时间长和宝贵,于是,新的集成、可视的开发环境发展起来,并越来越流行,减少了所付出的时间,降低了编程的困难。为让编程工作变得容易些,20世纪50年代初出现了汇编语言,用助记符解决机器语言难记、难认、编程效率低等问题,但它还是因机而异,掌握起来仍限制较多、困难较大.
随着程序规模不断扩大,60年代末期出现了软件危机。在当时的程序设计模型中,无法克服程序中出现的错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这时,人们就想到能不能用计算机编程。于是,1957年IBM的约翰 巴库斯(John Warner Backus)完成了Fortran编译程序;1961年在霍普领导下出现了Cobol编译程序;在人工智能领域,1958年MIT的麦卡锡发明了Lisp语言;1964年5月由美国达特茅斯学院的凯梅尼和卡茨两位教授发明了Basic语言。现在出现了许多其他高级语言,如在商业领域应用的Cobol、PL/1语言;在科技领域应用的Fortran、C/C++和Basic语言;在系统领域应用的C/C++、Basic语言;在人工智能领域应用的Lisp、Prolog语言,数据库查询用到的SQL语言和在网络上应用的Java语言等。它们以新的观点去看待问题,用新的方法去解决问题,形成了“软件工程”等新的学科分支和学术领域。
早期发展的高级语言Fortran、Algol、Cobol 和Lisp,它们都是二十世纪五六十年代出现的。目前流行的多数计算机语言,几乎都是上述四种古老语言的发展、改进并通过综合演变而成的。如果看看 TIOBE的世界编程语言排行榜,你就会发现这四种语言都好端端地还在应用。根据多年编程语言排行榜TIOBE的统计,C/C++和Java语言多在前几名,Fortran、Cobol和Lisp也都没有掉出前五十。
后来计算机逐步小型化并变得廉价,应用范围大幅度扩展到各种产业,工程方面也不断有新的应用出现,发现编程语言还有许多可以发展与改进的地方,从而产生新的语言特性要求。这种进程如此之快,语言设计者们不可能一下子追踪、汇总所有的需求,总要有所侧重,好在此时语言的种种可能特性都差不多尝试过一遍了,所以新发明的语言往往会侧重于一种特定的方法、制作特定的语言功能,来使得编写某种特定形式的程序特别便利。许多现今很流行的语言从一开始的设计目标,都是支持一种或几种主要应用,因为许多设计者的最初目的仅仅是想要满足一个小圈子,甚至就是他自己在某个领域的需要,因此并不特别在意该语言日后是走红或是淘汰。除此之外,语言设计者对于代码的态度也是一个决定因素,比如强调代码应该易读、好维护呢,还是易写、好编译?不同的选择会催生完全不同的语言。由于上述种种原因,在计算机上出现了大批不同的编程语言。
面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,未来计算机语言的发展将不再是一种单纯的语言标准,将会以一种完全面向对象,更易表达现实世界,更易进行编写和改造,其使用将不再只是专业的编程人员,人们完全可以用订制真实生活中一项工作流程的简单方式来完成编程,且具有如下一些特点:
简单性:提供最基本的方法来完成指定的任务,只需理解问题的一些基本概念,就可以用它编写出适合于各种情况下的应用程序;
面向对象:提供简单的类机制以及动态的接口模型,实现模块化和信息隐藏;提供一类对象的原型,并且通过继承机制,实现代码复用;
安全性:用于网络、分布环境下有安全机制保证;
平台无关性:与平台无关的特性使程序可以方便地被移植到网络上的不同机器、不同平台上。
4. 常用的计算机高级语言
高级语言是绝大多数编程者的选择。和机器语言、汇编语言相比,将许多相关的机器指令合成为单条指令并且去掉了与具体操作有关但与完成工作无关的细节,大大简化了程序中的指令。由于省略了很多计算机的细节,编程者也不再需要具备太多的计算机方面的专业知识,极大的推动了计算机应用、发展和普及。
高级语言主要是相对于机器语言、汇编语言而谈的,它并不是特指某一种具体的语言,而是包括了种类众多的编程语言。这些语言的语法、命令格式各不相同,以适应不同的应用领域、不同人群和不同的计算环境的需要。高级语言有数百种之多,几十年来,有增有减,有生有灭,淘汰的也不在少数,即使是常用的也有数十种之多。随着计算机技术的发展和应用的普及,计算机语言还会有新的发展和变化及新的语种出现,使用情况是动态的。
不同编程语言使用的情况,可参考每月更新一次的TIOBE计算机编程语言排行榜给出的榜单。对现在常用的编程语言,根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo、百度)以及Wikipedia、Amazon、YouTube统计出TIOBE排行榜上的排名数据。TIOBE的排名结果只反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。
根据多个指标,当前可选出最常用的重要高级语言有:
1、面向过程、用于数值和工程技术计算的高级语言Fortran;
2、设计给初学者使用的大众编程语言Basic;世界上使用人数最多、简记为VB的编程语言Visual Basic;
3、灵活多样、兼有汇编语言和高级语言特性的C语言;具有面向对象特性的C语言继承者C++;
4、语法严谨,层次分明,程序易写,具有很强的可读性结构化的编程语言Pascal;
5、可撰写跨平台软件、面向对象的网络程序设计语言Java;
6、用于统计分析、绘图的自由、免费、源代码开放的R语言。
7、结构化查询语言(Structured Query Language) SQL。
下面将分别对它们进行一些简略介绍。