介绍
高级程序设计语言(简称高级语言,相应地,机器语言和汇编语言称为低级语言,低级意味着程序员要从机器的层面上考虑问题)的指令形式类似于自然语言和数学语言,不仅容易学习,方便编程,也提高了程序的可读性。20世纪50年代中期出现了第一个高级语言FORTRAN,后来又相继出现了COBOL、ALGOL、BASIC等高级语言。目前,高级语言已形成一个庞大的家族,包括结构化程序设计语言、面向对象程序设计语言、可视化程序设计语言、网络程序设计语言等。
1968年,荷兰计算机科学家Edsgar W.Dijkstra发表了论文《GOTO语句的害处》,指出调试和修改程序的难度与程序中包含GOTO语句的数量成正比,从此,各种结构化程序设计理念逐渐确立起来。Pascal语言是采用结构化程序设计规则制定的,BASIC语言被升级为具有结构化的版本,此外,还出现了灵活且功能强大的C语言。
面向对象程序设计最早是在20世纪70年代提出的,其出发点和基本原则是尽可能地模拟现实世界中人类的思维进程,使程序设计的方法和过程尽可能地接近人类解决现实问题的方法和过程。随着面向对象程序设计方法和工具的成熟,从20世纪90年代开始,面向对象程序设计逐渐成为最流行的程序设计技术,Java、C++、C#等都是面向对象程序设计语言。
可视化程序设计是在面向对象程序设计基础上发展起来的,可视化程序设计语言把设计图形用户界面的复杂性封装起来,编程人员只需使用系统提供的工具在屏幕上画出各种图形对象,并设置这些图形对象的属性,系统就会自动产生界面代码,从而大大提高程序设计的效率。Visual Basic、Visual C++等都是可视化程序设计语言。
1989年,Tim Bemers—Lee发明了WWW,推动了计算机网络的发展,程序设计语言又呈现出网络化的发展趋势。网络程序设计是在网络环境下进行程序设计,包括服务器端程序设计和客户端程序设计,常用的服务器端程序设计语言有JSP、PHP、ASP和.NET等,常用的客户端程序设计语言有JavaScript和VBScript等。1
分类当计算机语言发展到第三代时,就进入了“面向人类”的语言阶段。第三代语言也被人们称之为“高级语言”。高级语言是一种接近于人们使用习惯的程序设计语言。它允许用英文写解题的计算程序,程序中所使用的运算符号和运算式子,都和我们日常用的数学式子相似。高级语言容易学习和掌握,一般人都能很快学会并使用高级语言进行程序设计,并且完全可以不了解机器指令,也可以不懂计算机的内部结构和工作原理,就能编写出应用计算机进行科学计算和事务管理的程序。
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的C语言、C++、VB、VFP、Java等,这些语言的语法、命令格式都各不相同。
高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类。
解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。BASIC语言属于解释类高级语言。
编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*.obj)才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的,例如C语言、C++等属于编译类高级语言。
C语言C语言是一种通用的编程语言,它具有高效、灵活、功能丰富、表达力强和移植性好等特点。它既可用于编写系统软件也可用于编写应用软件,当前最有影响、应用最广泛的Windows、Linux和UNIX三个操作系统都是用C语言编写的。
C语言是由丹尼斯·里奇(Dennis Ritchie)和肯·汤普逊(Ken Thompson)于1970年在研制出的B语言的基础上发展和完善起来的。C语言可以广泛应用于不同的操作系统,例如UNIX、MS—DOS、Microsoft Windows及Linux等。C语言是一种面向过程的语言,同时具有高级语言和汇编语言的优点,是一门十分优秀而又重要的语言,当前应用广泛的C++语言、Java语言、C#语言等都是在C语言的基础上发展起来的。
C语言程序设计是面向过程的程序设计,它蕴含了程序设计的基本思想,囊括了程序设计的基本概念,所以它是理工科高等院校的一门基础课程。
C++C++程序设计语言是由来自AT8LT Bell Laboratories的Bjarne Stroustrup设计和实现的,它兼具Simula语言在组织与设计方面的特性以及适用于系统程序设计的C语言设施。C++最初的版本被称作“带类的C(C with classes)”.在1980年被第一次投入使用;当时它只支持系统程序设计和数据抽象技术。支持面向对象程序设计的语言设施在1983年被加入C++;之后,面向对象设计方法和面向对象程序设计技术就逐渐进入了C++领域。
C++是一种使用非常广泛的计算机编程语言。它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。它是一种静态数据类型检查的、支持多种程序设计风格的通用程序设计语言。它支持过程式程序设计、数据抽象、面向对象程序设计等多种程序设计风格。C++以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C++完美地体现了面向对象的各种特性。
JavaJava是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持JavaApplet。另一方面,Java技术也不断更新(2010年Oracle公司收购了Sun)。
Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。
Java分为三个体系Java SE(J2SE)(Java 2 Platform Standard Edition,Java平台标准版),Java EE(J2EE)(Java 2 Platform,Enterprise Edition,Java平台企业版),JavaME(J2ME)(Java 2 Platform Micro Edition,Java平台微型版)。
与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。
Sun公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
Java编程语言的风格十分接近C、C++语言。Java是一个纯粹的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(Operator Overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间.使得程序员不用再为内存管理而担忧。在Java 1.5版本中,Java又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(Bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。2