1.1.2 程序设计语言的发展
程序设计的任务就是用程序设计语言编写程序,然后交给计算机去执行。在计算机应用的最初的十几年中,大多数计算机程序都是用机器语言编写的。这种“语言”虽然十分简单,机器可以“看”懂,但对于程序员来说却很不方便。于是,相继出现了汇编语言和高级语言。
1.机器语言
在20世纪50年代,计算机专家们直接使用计算机能识别的指令系统(称为机器语言)来编写程序。由于机器语言是由二进制代码组成的,人们编写或阅读程序都十分困难,又容易出错,而且不同机器的指令系统也不同,很难进行交流(在一种计算机上调试通过的程序不能到另外一种计算机上运行)。机器语言程序虽然执行效率很高,但花费在程序设计和调试程序上的时间太多,这样就降低了整个解决问题的效率。
2.汇编语言
人们为了解决二进制代码编程带来的困难,采用了助忆码和符号地址来代替机器语言中的二进制指令代码和指令地址,然后通过一个叫做汇编程序的翻译程序翻译成机器语言程序,再让计算机执行。这种采用助忆码和符号地址的语言称为汇编语言,汇编程序的翻译方式称为汇编。用汇编语言编写的程序的执行效率与机器语言程序一样高,且其可读性提高了,因此,到了20世纪60年代,用机器语言编程已经比较少了。但是,汇编语言也是面向机器的语言,同样不利于交流。
3.高级语言
随着计算机各种技术的发展,程序设计语言也在不断发展,为了脱离机器和便于非计算机专业人员的使用,人们开始用一种比较接近于自然语言(主要指英语)和数学语言的语言来编写程序,这样的语言称为高级语言。高级语言克服了面向机器语言的缺点,使得程序易读、易维护、易交流。高级语言发展很快,如今已达数百种之多,常用的高级语言如下。
① FORTRAN语言:诞生于20世纪50年代中期,是第一个算法语言,适合于科学和工程计算。
② BASIC语言:诞生于20世纪60年代中后期,简单易学,适合初学者学习。
③ Pascal语言:诞生于20世纪70年代初,是一门结构化程序设计语言,适合于教学、科学计算、数据处理和系统软件开发等。
④ C语言:诞生于20世纪70年代初,20世纪80年代开始风靡全世界,适合于系统软件、数值计算、数据处理等。
⑤ Java语言:诞生于20世纪90年代,是一种新型的跨平台分布式程序设计语言,具有简单、安全、稳定、可移植性强等特点,在网络环境中得到了广泛的应用。
一般地,人们把用高级语言或汇编语言编写的程序称为源程序。像用汇编语言编写的源程序必须经过汇编过程一样,用高级语言编写的源程序同样需要经过一个类似的过程翻译成计算机能识别的二进制代码程序,才能让计算机执行。翻译成二进制代码的方式通常有两种:编译方式和解释方式。目前,大多数常用的高级语言都采用编译方式。
编译方式是将源程序全部翻译成功能等价的机器语言程序(一般称为目标程序),然后经过连接程序将用户的目标程序与系统配置好的一些通用程序连接装配在一起,形成可执行程序,最后让计算机执行。编译方式经编译和连接得到的可执行程序可以重复执行无数次,其效率很高。
解释方式是通过解释程序逐句翻译、执行的,不产生目标代码程序,每次执行都要重新翻译,所以对那些重复执行的程序效率较低。