不论是机器语言还是汇编语言都是面向硬件的具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称为高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。
目前被广泛使用的高级语言有BASIC、PASCAL(DELPHI)、COBOL、FORTRAN、LOGO、C、C++、C#、Java等。
计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。
编译方式是事先编好一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户由高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。
解释方式是源程序进入计算机时,解释程序边扫描边解释作逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。
PASCAL、FORTRAN、COBOL、C等高级语言执行编译方式,BASIC语言则以执行解释方式为主(它出现初期基本是解释方式,后期的发展出现了一些编译型的Basic,例如早期的TrueBasic、Quick Basic和近期的VisualBasic)。
每一种高级语言,都有自己人为规定的专用符号、英文单词、语法规则和语句结构(书写格式)。高级语言与自然语言(英语)更接近,而与硬件功能相分离(彻底脱离了具体的指令系统),便于广大用户掌握和使用。高级语言的通用性强,兼容性好,便于移植。下面介绍几种较有代表性的高级程序设计语言。
1.FORTRAN语言
FORTRAN,是由Formula Translation两个单词所组合而成,意思是“公式翻译”。它是世界上第一个被正式采用并流传至今的高级编程语言。
FORTRAN语言最初是由数值计算方面的需要而发展起来的。1953年12月,IBM公司编程员约翰·巴科斯(J.Backus)深深体会到编写程序的困难性,他写了一份备忘录给董事长斯伯特·赫德(Cuthbert Hurd),建议为IBM704系统设计一套全新的计算机语言,从根本上提高编程效率。当时在IBM公司的顾问冯·诺伊曼强烈反对这项建议,他认为巴克斯的建议是没有必要的,而且不切实际,但赫德批准了这项计划。1957年,IBM公司开发出第一套FORTRAN语言,运行在IBM704计算机上。
历史上第一支FORTRAN编程语言在马里兰州的西屋贝地斯核电厂进行试验。1957年4月20日星期五的下午,一位IBM编程员决定在电厂内编译第一支FORTRAN编程语言,当编程码输入后,经过编译,打印机(当时还没有显示器这种外部设备)列出一道讯息:“Source error...the right parenthesis is not followed by a comma”(“源程序错误……右侧括号后面没有逗号”),现场人员都感到讶异,这个错误经过修正之后,编程编译器再度执行,22分钟后,打印机输出正确结果。西屋电气公司意外地成为FORTRAN的第一个商业用户。
1958年推出FORTRAN Ⅱ,几年后又推出FORTRAN Ⅲ,1962年推出FORTRAN Ⅳ,并开始广泛被使用。
1966年,美国标准化协会制定了FORTRAN(x3.9-1966),也就是FORTRAN66标准。这时FOR-TRAN语言还不是结构化的程序设计语言。
1976年,美国标准化协会重新对FORTRAN(x3.9-1966)进行了评估,公布了新的FORTRAN标准,也就是著名的FORTRAN 77。FORTRAN 77是具有结构化特性的编程语言。FORTRAN77在短时间内取得了巨大的成功,广泛地应用于科学和工程计算,几乎统治了数值计算领域。
1980年,FORTRAN 77被ISO接纳为国际标准。
1991年发布的FORTRAN90对旧版FORTRAN进行了大幅改进,加入了对象导向的观念,提供了指针类型数据,并同时加强了数组的功能。
FORTRAN后来又陆续推出FORTRA N95、FORTRAN 2003等更新版本。
FORTRAN语言的最大特性是接近数学公式的自然描述,在计算机里具有很高的执行效率。另外还具有如下一些特点:
1)易学,语法严谨。
3)自诞生以来广泛地应用于数值计算领域,积累了大量高效而可靠的源程序。
4)很多专用的大型数值运算计算机软件针对FORTRAN做了优化。
5)广泛地应用于并行计算和高性能计算领域。
FORTRAN 90、FORTRAN 95、FORTRAN 2003的相继推出使FORTRAN语言具备了现代高级编程语言的一些特性。
2.BASIC语言
BASIC全称是Beginner’sall Purpose Symbolic Instruction Code,意为“初学者通用符号指令代码”,1964年由美国达尔摩斯学院的基米尼和科茨完成设计并提出了BASIC语言的第一个版本,经过不断丰富和发展,现已成为一种功能全面的中小型计算机语言。
BASIC语言易学、易懂、易记、易用,是初学者的入门语言,也可以作为学习其他高级语言的基础。BASIC有解释方式和编译方式两种翻译程序。
3.PASCAL语言
PASCAL是一种结构化程序设计语言,由瑞士苏黎世联邦工业大学的沃斯(N.Wirth)教授研制,于1971年正式发表。
PASCAL是在ALGOL60基础上衍生的,但功能更强且容易使用。目前,作为一个能高效率实现的实用语言和一个极好的教学工具,PASCAL语言在高校计算机软件教学中一直处于主导地位。帕斯卡(B.Pascal)是17世纪法国著名数学家,他于1642年曾发明现代台式计算机的雏形机——加减法计算机,PASCAL语言就是为了纪念他而命名的。
PASCAL具有大量的控制结构,充分反映了结构化程序设计的思想和要求,直观易懂,使用灵活,既可用于科学计算,又能用来编写系统软件,应用范围日益广泛。
PASCAL有5个主要的版本,分别是Unextended PASCAL、Extended PASCAL、Object-Oriented Ex-tensions to PASCAL、Borland PASCAL和Delphi Object PASCAL。其中,Unextended PASCAL、Extended PASCAL和Object-Oriented Extensions to PASCAL是由PASCAL标准委员会所创立和维护的,Unextended PASCAL类似于瑞士Niklaus Wirth教授和K.Jensen于1974年联名发表的PASCAL用户手册和报告,而Extended PASCAL则是在其基础上进行了扩展,加入了许多新的特性,它们都属于正式的PASCAL标准;Object-Oriented Extensions to PASCAL是由PASCAL标准委员会发表的一份技术报告,在Extended PASCAL的基础上增加了一些用以支持面向对象程序设计的特性,但它属于非正式的标准。Borland PASCAL和Delphi Object PASCAL是由Borland公司专门为其开发的编译工具设计的PASCAL语言,前者是用于DOS的Turbo PASCAL系列和Windows3.x的Turbo PASCAL for Windows的传统高级语言,后者是用于Windows的Delphi和Linux的Kylix的面向对象程序设计语言,它们都不是正式的PASCAL标准,具有专利性。但由于Turbo PASCAL系列和Delphi系列的功能强大并且广为流行,Borland PASCAL和Delphi Object PASCAL已自成为一种标准,为许多人所熟悉。
Turbo PASCAL是Borland公司一个很有代表性的软件开发产品。从语言角度说Turbo PASCAL是PASCAL语言的一个扩展。它扩展了标准PASCAL的功能特性。在语法上,Turbo PASCAL吸取了其他语言如C等的特性,简化了标准PASCAL的语法;在功能上,Turbo PASCAL提供了包括屏幕控制、图形处理、系统调用等有用的函数库(Turbo PASCAL中称为单元)。
TurboPASCAL包括CP/M、MS-DOS、Windows等不同操作系统上的版本。
1983年,Borland公司发布了Turbo PASCAL的第一个版本。该版本的编译器核心部分由安德斯·海尔斯伯格授权给Borland公司。同时,安德斯·海尔斯伯格也作为雇员加入了Borland公司,并且是后来所有Turbo PASCAL版本与Delphi前3个版本的架构师。在第一个版本的TurboPASCAL中,Borland公司的创始人Philippe Kahn为该版本的TurboPASCAL添加了用户界面与编辑器。第一版本Turbo PASCAL是个人计算机上编译器发展的一个里程碑。
1989年发布的Turbo PASCAL 5.5版是一个重要的版本,从这一版本起,Borland公司把OOP引入PASCAL语言,这就是大家所知道的Object PASCAL的开端。
TurboPASCAL6.0推出一个用OOP思想封装的DOS下的应用程序框架(Framework),叫做Turbo Vision,这个版本的IDE即是使用该Framework开发的。
TurboPASCAL的最后一个版本叫做Borland PASCAL7,它包含一个增强的DOS下的IDE和编译器,可以创建DOS和Windows3.x程序,后来为Delphi1.0代替。
Delphi在本质上应该归类为软件开发工具,而非程序语言,但由于Delphi几乎是目前市场上唯一使用并持续推出新版本的PASCAL商业产品。因此,有时人们会把Delphi视为Object PASCAL的代名词,Borland公司因而把Object PASCAL改称为Delphi。
4.COBOL语言(www.xing528.com)
COBOL的全称是Common Business Oriented Language,具体的意思是“通用商业语言”。
在企业管理中,数值计算并不复杂,但数据处理信息量却很大。为专门解决经企业管理问题,1959年,由美国的一些计算机用户组织特意设计了专用于商务处理的计算机语言COBOL,并于1961年由美国数据系统语言协会公布。经不断修改、丰富完善和标准化,COBOL已发展为多种版本。
COBOL语言使用了300多个英语保留字,大量采用普通英语词汇和句型,COBOL程序通俗易懂,素有“英语语言”之称。
COBOL语言语法规则严格。用COBOL语言编写的任一源程序,都要依次按标识部、环境部、数据部和过程部四部分书写,COBOL程序结构的“部”内包含“节”,“节”内包含“段”,段内包含语句,语句由字或字符串组成,整个源程序像一棵由根到干、由干到枝、由枝到叶的树,习惯上称之为树形结构。
目前COBOL语言主要应用于情报检索、商业数据处理等管理领域。
5.C语言
C语言是AT&T(美国电报与电话公司)为了实现Unix系统的设计思想而发展起来的语言工具。
C语言的主要特色是兼顾了高级语言和汇编语言的特点,简洁、丰富、可移植。相对于其他高级语言的子程序,函数是C语言的补充,每一个函数解决一个大问题中的小任务,函数使程序模块化。C语言提供了结构式编程所需要的各种现代化的控制结构。
C语言的原型为ALGOL60语言。
1963年,剑桥大学将ALGOL60语言发展成为CPL(Combined Programming Language)。
1967年,剑桥大学的Martin Richards对CPL进行了简化,于是产生了BCPL。
1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”,意思是将CPL煮干,提炼出它的精华,并且他用B语言写了第一个Unix操作系统。
1972年,美国贝尔实验室的D.M.Ritchie在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。
为了使Unix操作系统推广,1977年Dennis M.Ritchie发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。
1978年由AT&T公司贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchie合著了著名的《The C Programming Language》一书,通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准化协会(American National Standards Institute)在此基础上制定了一个C语言标准,于1987年发表,通常称之为ANSI C。
C语言发展迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件,如dBASEⅢPlus、dBASEⅣ等都是由C语言编写的。用C语言加上一些汇编语言子程序,就更能显示C语言的优势了,像PC-DOS、WORDSTAR等就是用这种方法编写的。
1990年,国际标准化组织(International Standard Organization,ISO)接受了87版ANSIC为ISOC的标准(ISO 9899:1990)。1994年,ISO修订了C语言的标准。目前流行的C语言编译系统大多是以ANSIC为基础进行开发的,但不同版本的C编译系统所实现的语言功能和语法规则有略有差别。
C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者正是计算机最基本的工作单元。
C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理,从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。
C语言的数据类型有整数型、浮点型(实数型)、字符型、数组型、指针型、结构体型、共用体型等,能用来实现各种复杂的数据结构的运算,并引入了指针概念,使程序效率更高。另外,C语言具有强大的图形功能,支持多种显示器和驱动器,且计算功能、逻辑判断功能强大。
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便地调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
虽然C语言也是强类型语言,但是它的语法比较灵活,允许程序编写者有较大的自由度。
C语言允许直接访问物理地址,可以直接对硬件进行操作,因此C语言既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。
C语言生成目标代码质量高,程序执行效率高,一般只比汇编程序生成的目标代码效率低10%~20%。
C语言适用范围大,可移植性好,C语言有一个突出的优点就是适合于多种操作系统,如DOS、Unix,也适用于多种机型,如IBMPC兼容机、DEC工作站、IBM大型机等。
6.C++语言
美国AT&T公司贝尔实验室的本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)博士在20世纪80年代初期发明并实现了C++语言(最初这种语言被称作“Cwith Classes”)。
一开始C++语言是作为C语言的增强版出现的,从给C语言增加类开始,不断地增加新特性。虚函数(Virtual Function)、运算符重载(Operator Overloading)、多重继承(Multiple Inheritance)、模板(Template)、异常(Exception)、RTTI、命名空间(Name Space)逐渐被加入标准。
1998年国际标准化组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC1488:1998。C++语言是具有国际标准的编程语言,通常称作ANSI/ISO C++。1998年是C++标准委员会成立的第一年,以后每5年视实际需要更新一次标准。遗憾的是,由于C++语言过于复杂,以及它经历了长年的演变,直到现在只有Visual C++2010 CTP开发环境的编译器完全符合这个标准。
C++语言发展大概可以分为三个阶段:第一阶段从20世纪80年代到1995年,这一阶段C++语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;第二阶段从1995年到2000年,这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C++语言中占据了越来越多的比重性,当然,同时由于Java、C#等语言的出现和硬件价格的大规模下降,C++语言受到了一定的冲击;第三阶段从2000年至今,由于以Loki、MPL等程序库为代表的产生式编程和模板元编程的出现,C++语言出现了发展历史上又一个新的高峰,这些新技术的出现以及和原有技术的融合,使C++语言已经成为当今主流程序设计语言中最复杂的一员。
7.Java语言
Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的Hot Java浏览器(支持Java Applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java Applet。
1991年,Sun Microsystems公司的James Gosling、BillJoe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个Oak(一种橡树的名字)软件,这就是是Java的前身。当时,Oak并没有引起人们的注意,直到1994年,随着互联网和3W的飞速发展,他们用Java编制了Hot Java浏览器,得到了Sun Microsystems公司首席执行官Scott McNealy的支持,得以研发和发展。为了促销和法律的原因,1995年Oak更名为Java。
8.C#语言
C#中的“#”意味着“++++”(4个加号),暗示其从C++的继承性。C#是一种安全的、稳定的、简单的、优雅的、由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#还综合了VisualBasic简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
C#已经成为ECMA与ISO标准规范。C#看似基于C++写成,但又融入其他语言如Delphi、Java、VisualBasic等的功能和特点。
9.其他语言
常用的高级程序设计语言,除了上述的几种之外,还有很多,如Ada语言[以英国著名诗人拜伦(G.N.G.Byron)的独生女艾达·拜伦(Ada Byron)的名字命名]、深受中小学生欢迎的LOGO语言、Lisp语言等,现在这些语言虽然影响力逐渐式微,但是都曾在历史上有过辉煌的一页。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。