
1.1 计算机语言的发展历程
人类的语言是人们描述现实世界、表达个人思想观念的工具,而计算机语言是人与计算机交流的工具。一方面,人类使用各种计算机语言将现实世界映射到计算机世界;另一方面,人类又可以通过计算机语言创造现实世界中并不存在的虚拟世界。
计算机语言的发展历程可以简单划分为机器语言、汇编语言、高级语言三个阶段。
机器语言:
最初的计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机语言的基础。机器语言是机器能直接识别的简单语言或指令代码,无须经过翻译,每一个操作码在计算机内部都有相应的电路来完成它。机器语言使用绝对地址和绝对操作码。不同的计算机都有各自的机器语言,即指令系统,几乎没有程序的移植能力,如果要实现程序移植,时间成本、人力成本是十分昂贵的。从使用的角度看,机器语言是最低级的语言。
汇编语言:
汇编语言是在机器语言的基础上诞生的一门语言,用一些简洁的英文字母、符号来替代一些特定指令的二进制串,这也提高了语言的记忆性和识别性。对于程序的开发与维护起到了积极作用。但汇编语言是直接对硬件进行操作的,所以限制了它的移植性。而使用汇编语言针对计算机特定硬件而编制的汇编语言程序,对于计算机硬件的功能和特长的发挥已有了很大进步,它精炼而且执行效率极高,所以至今仍是一种常用的程序开发语言。
高级语言:
在与计算机的不断交流中,人们对计算机程序的移植性需求不断提高,此时急需一种不依赖于特定机型的通用计算机语言,用这种语言编写的程序在各种平台上都能正常运行。高级语言的发展也从最初的结构化语言发展成为面向过程语言和面向对象语言。
高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如面向过程语言设计的代表有C、FORTRAN、COBOL、Pascal等一系列语言,而面向对象语言设计的代表则有Java、C++、C#等。
面向过程编程就是编程者分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候依次调用就可以了。
面向对象编程就是编程者把构成问题的事务分解成各个对象,建立对象不是为了完成一个步骤,而是为了描述某个事务在整个解决问题的步骤中的行为。