|
|
1商业语言
COBOL(面向商业的通用语言,又称为企业管理语言、数据处理语言等,CommonBusinessOrientedLanguage)是最早的高级编程语言之一,是世界上第一个商用语言。由COBOL之母GraceHopperopper以Flow-Matic为基础开发创建。
COBOL是一种面向数据处理的、面向文件的、面向过程(POL)的高级编程语言,是一种功能很强而又极为冗长的语言。
COBOL适合于具有循环处理周期的环境(例如打印工资支票)以及数据操纵量相当大的环境。COBOL主要应用于商业数据处理领域,对各种类型的数据进行收集、存储、传送、分类、排序、计算及打印报表、输出图象是它的强项。COBOL语法与英文很接近,即使不懂电脑的人也能看懂程序。强大的文件处理功能,大量的数据通常以文件的形式存储在磁盘上。未来的COBOL将支持XML等Web时代的新技术。[1]
英文缩写:COBOL(CommonBusinessOrientedLanguage)中文译名:COBOL语言
解释:一种适合于商业及数据处理的类似英语的程序设计语言。这种语言可使商业数据处理过程精确表达。
2历史发展
COBOL(CommonBusinessOrientedLanguage)是第一个广泛使用的高级编程语言。在企业管理中,数值计算并不复杂,但数据处理信息量却很大。为专门解决经企管理问题,1959年5月,五角大楼委托格雷斯·霍波(G.Hopper)博士领导一个委员会并由RearAdmiralGraceHopper公司主持开发,并于1961年由美国数据系统语言协会公布。经不断修改、丰富完善和标准化,已发展为多种版本。
COBOL重视数据项和输入/输出记录的处理,对具有大量数据的文件提供了简单的处理方式。从名字可以看出,它主要用于解决商业和企业管理等领域的大量数据处理问题,又称为企业管理语言、数据处理语言等。Cobol语言的研制始于50年代末,当时计算机的生产已进入第二代,计算机应用领域开始从数值计算扩大到数据处理。商业和企业事务管理中需要进行处理的数据量急剧增加,迫切需要有适用于这个领域的程序设计语言,以提高编制程序的质量和速度。Cobol语言就是在这种社会背景下应运而生的。也就是说,Cobol已经年过半百了。Cobol正式发布于1960年4月,称为Cobol-60。现在最新的版本应该是Cobol-2002了,而且还在不断改进中,未来的Cobol将支持XML等Web时代的新技术。换言之,Cobol还将继续发展与应用,但与C语言或FORTRAN语言相比,COBOL的数值运算、逻辑运算能力比较弱。
1959年,美国国防部召开了一个有政府机关、企业、计算机厂商参加的会议,大家认为有必要设计一种数据处理专用的语言,这就是著名的数据系统语言会议CODASYL(CongferenceonDataSystemsLanguages)。1959年12月出现了第一个COBOL语言文本,并于1960年4月正式发表,因此也被称为COBOL-60。1968年美国国家标准委员会ANSI又通过了新的标准ANSICOBOLX.3.23-1968。1972年国际标准化组织ISO将其作为ISOCOBOL-72。1974年ANSI对COBOL-68作出了修订扩充,形成了ANSICOBOLX3.23-1974,随后1978年ISO采用其形成ISOCOBOL-78Monday,2004-09-06ANG="ZH-CN">又提出了ANSIX3.23-85,增加了很多结构化程序设计的内容,ISO标准ISO1989:1985也采用了该标准。COBOL标准还在不断地改进和完善,最新的标准COBOL2002主体已经于2002年12月出版,其他部分还在不断地完善之中,具体内容请参考NCITS和COBOLStandards。
3重要性能
经过40多年的不断修改、丰富完善和标准化,COBOL已发展为多种版本的庞大语言,在财会工作、统计报表、计划编制、情报检索、人事管理等数据管理及商业数据处理领域,都有着广泛的应用。
COBOL的重要性可以用这句话来描述:世界上70%的数据都是用COBOL语言处理的,并且90%的ATM事务处理用的都是COBOL语言。每天在线处理的COBOL事务有300亿次。500强中有492家(包括全部的100强)使用了COBOL语言,目前在COBOL方面的投资已经超过3万亿美元,,据称用COBOL书写的程序超过了1000亿行,并且以每年大约50亿行代码的速度在增长。
由于COBOL在商业领域的雄厚基础,而且COBOL主要是应用于银行、金融和会计行业等非常重要的商业数据处理领域。所以,即使对于具有相当经验的IT公司来说,重新编写COBOL语言的可靠的应用软件也是不实际或是从商业角度上并不可行的,而且还要花上很长的时间,只要大型机存在,COBOL就不会消失,即使是对电脑界产生巨大影响的“千年虫”(Y2K)也没有改变COBOL的命运。
4主要特点
COBOL是一种面向数据处理的、面向文件的、面向过程(POL)的高级编程语言,是一种功能很强而又极为冗长的语言。
COBOL适合于具有循环处理周期的环境(例如打印工资支票)以及数据操纵量相当大的环境。COBOL主要应用于商业数据处理领域,对各种类型的数据进行收集、存储、传送、分类、排序、计算及打印报表、输出图象是它的强项。
COBOL语法与英文很接近,即使不懂电脑的人也能看懂程序。
强大的文件处理功能,大量的数据通常以文件的形式存储在磁盘上。
科学计算。
未来的COBOL将支持XML等Web时代的新技术。
5应用领域
作为一种元老级的高级编程语言,COBOL拥有庞大的用户群和代码,据称用COBOL书写的程序超过了1000亿行。另有调查发现世界上目前使用的商业应用软件之中的百分之七十是用COBOL代码编写的,并且以每年大约五十亿行代码的速度在增长。看来,历史赋予了COBOL语言特殊的使命。另外,只要大型机存在,其上就还要运行COBOL程序,而且很多资深的程序员已经习惯于COBOL,加入大型机环境的新程序员(例如我)也不得不开始使用COBOL。其实COBOL也有自身的一些优点,比如它对数据的显示格式有较强的控制。另外,我想最重要的是,即使对于具有相当经验的IT公司来说,重新编写可靠的应用软件也是不实际或是从商业角度上并不可行的,而且还要花上很长的时间。
如上介绍,Cobol主要是应用在商业数据处理领域。其中占最大百分比的是银行、金融和会计行业,其次是ComputerVAR/Retail/Consulting行业,这是美国的调查资料。Cobol在中国的应用应该也差不多。(或更少)
6
由于COBOL最初是用于主机系统,所以它和主机系统联系得非常紧密。主流的主机系统,例如IBM的大型机、中型机等都配备了相应的COBOL编译程序,例如VSCOBOLII等。微机的广泛使用也对主机编程产生了一定的影响,比如它拥有漂亮的图形界面,不少编译器厂家也推出了微机平台上的COBOL编译器产品,其中比较著名的有FujitsuPowerCOBOL,AcuCobol等。网上有一个FujitsuCOBOLV3,其编程界面类似于微机上常见的VisualBasic、VisualC等,不仅提供了GUI界面,也内置了许多常见的控件,当然其功能比起VB、VC还是差了不少,有兴趣者可以下载去试用一下。
在Windows上开发的人都应该觉得很幸运,它那友好的界面就实在能改善开发者的心情,提高开发的效率。想想在DOS和UNIX等下面的黑屏环境,工作的心情实在好不起来。要是跟踪一段代码,简陋的调试环境真让人却步。主机环境既然不那么友好,调试环境也就可以想象了。当然了,如果舍得花钱,还是能买到凑合的调试环境的。即使没有那么多的投资,CICS也算是一个不错的东西,毕竟它还支持对其自己命令的调试。
7程序结构
COBOL程序由4部(DIVISION)组成:
IDENTIFICATIONDIVISION.(标识部)
主要用来指定源程序名字,也可以写入其他用作备忘的某些信息(如日期、作者等)。
ENVIRONMENTDIVISION.(环境部)
主要用于指出程序中用到的数据文件名与计算机系统的设备的对应关系,即把某一文件名与一个外部设备联系起来。
DATADIVISION.(数据部)
程序中所用到的全部数据(包括输入输出的数据和中间数据)都应在数据部中说明它们的类型和所占内存情况。
PROCEDUREDIVISION.(过程部)
用来给出程序要执行的指令,使计算机产生相应的操作,例如进行数学运算。
备注:
部(Division)一部可包括若干节
节(Section)一节可包含若干段
段(Paragraph)一段可包含若干句子
句子(Sentence)一个句子可包含若干语句
语句(Statement)制定计算机完成一定的操作
子句(Clause)制定完成某一方面的功能
8程序举例
IDENTIFICATIONDIVISION.标识部
PROGRAM-ID.SAMPLE4.
AUTHOR.QXLU(WISTRONDALIAN).
DATE-WRITTEN.04-07-07.
DATE-COMPILED.04-07-07.
*
ENVIRONMENTDIVISION.环境部
*
DATADIVISION.数据部
WORKING-STORAGESECTION.
01APICX(4).PIC子句进行数据定义
01BPICX(4).
01CPICX(4).
01DPICX(8).
*
PROCEDUREDIVISION.过程部
*
MOVE'FGH'TOA.赋值给A
MOVE'KLM'TOB.
MOVE'XYZ'TOC.
MOVESPACETOD.
STRINGA,B,CDELIMITEDBYSPACEINTOD
ONOVERFLOWDISPLAY'OVERFLOW'.
DISPLAY'A='A.打印命令
DISPLAY'B='B.
DISPLAY'C='C.
DISPLAY'D='D.
*
STOPRUN.程序结束标识
显示如下:
OVERFLOW
A=FGH
B=KLM
C=XYZ
D=FGHKLMXY
9词条图册
评论