1.1.2 高级语言
高级语言提供大量的与人类语言相类似的控制结构,使程序设计者可以不关心机器的内部结构及工作原理,把主要的精力集中在解决问题的思路和方法上。这类摆脱了硬件束缚的程序设计语言的出现是计算机技术发展的里程碑,使得编程不再是少数专业人员的专利。由于高级语言不依赖具体的机器,所以用高级语言编写的程序可移植性好。
根据编程机制的不同,高级语言又分为面向过程的程序设计语言和面向对象的程序设计语言。
1. 面向过程的程序设计语言
面向过程的程序设计语言由一个入口和一个出口构成,程序每次执行都必须从这个入口开始,按照程序的结构执行到这个出口为止,属于过程驱动的编程机制,由过程控制程序运行的流向。编程人员要以过程为中心来考虑应用程序的结构,执行哪一部分代码和按何种顺序执行代码都由程序本身控制。它允许将程序分解为多个函数,这使得同一个程序可以由多人分工开发,大大提高了编程效率,从而能够开发出规模越来越大、功能越来越强的应用软件和系统软件。常用的面向过程的语言有C、Fortran、Pascal等。
2. 面向对象的程序设计语言
面向对象的程序设计语言将整个现实世界或者其中的一部分看作是由不同种类的对象构成的,同一类型的对象既有相同点又有不同点。各种类型的对象之间通过发送消息进行联系,消息能够激发对象作出相应的反应,从而构成一个运动的整体,属于事件驱动的编程机制,由事件控制着程序运行的流向。编程人员要以对象为中心来设计模块,代码不是按预定的顺序执行,而是在响应不同的事件时执行不同的代码。当前使用较多的面向对象的程序设计语言有Visual Basic、C++、C#、Java等。
高级语言也不能被机器直接识别,也需要翻译才能运行。高级语言的运行方式有解释和编译两种。所谓解释是指边解释边执行,不形成目标代码,执行速度不快,源程序保密性不强,Visual Basic属于解释方式;所谓编译是将源程序使用语言本身提供的编译程序编译为目标程序,再使用组建程序与库文件组建成可执行程序,可执行程序能够脱离语言环境独立运行。本课程所学的C++语言程序设计属于编译方式。