IBM的COBOL编译器。 COBOL(面向商业的通用语言,又称为企业管理语言、数据处理语言等,Common Business Oriented Langauge)是最早的高级编程语言之一,是世界上第一个商用语言。 COBOL的历史 1959年5月,五角大楼委托葛丽丝·霍普博士领导一个委员会并由Rear Admiral Grace Hopper公司主持开发,并于1961年由美国数据系统语言协会公布。正式发布于1960年4月,称为Cobol-60,现在最新的版本是Cobol-2002。 1963年,美国国家标准学会(ANSI)进行了标准化,但是ANSI标准很少被遵循;因此,COBOL程序只是部分可移植的。 COBOL的重要性 经过40多年的不断修改、丰富完善和标准化,COBOL已发展为多种版本的庞大语言,在财会工作、统计报表、计划编制、情报检索、人事管理等数据管理及商业数据处理领域,都有着广泛的应用。 COBOL的重要性可以用这句话来描述:世界上70%的数据都是用COBOL语言处理的,并且90%的ATM事务处理用的都是COBOL语言。每天在线处理的COBOL事务有300亿次。500强中有492家(包括全部的100强)使用了COBOL语言,目前在COBOL方面的投资已经超过3万亿美元,据称用COBOL书写的程序超过了2000亿行[1],并且以每年大约50亿行代码的速度在增长。 由于COBOL在商业领域的雄厚基础,而且COBOL主要是应用于银行、金融和会计行业等非常重要的商业数据处理领域。所以,即使对于具有相当经验的IT公司来说,重新编写COBOL语言的可靠的应用软件也是不实际或是从商业角度上并不可行的,而且还要花上很长的时间,只要大型计算机(Mainframe computer)存在,COBOL就不会消失,即使是对电脑界产生巨大影响的“千年虫”(Y2K)也没有改变COBOL的命运。 由于重新编写COBOL程式从许多角度上都不可行,因此有自由软件OpenCOBOL的诞生。[2]另外透过自由软件 NACA,COBOL程序码可以自动转译成Java程序码。[3] COBOL的特点 COBOL是一种面向数据处理的、面向文件的、面向过程(POL)的高级编程语言,是一种功能很强而又极为冗长的语言。 COBOL适合于具有循环处理周期的环境(例如打印工资支票)以及数据操纵量相当大的环境。COBOL主要应用于商业数据处理领域,对各种类型的数据进行 收集、存储、传送、分类、排序、计算及打印报表、输出图象是它的强项。 COBOL语法与英文很接近,即使不懂电脑的人也能看懂程序。 强大的文件处理功能,大量的数据通常以文件的形式存储在磁盘上。 仅提供了加、减、乘、除及乘方这五种简单的算术运算,因而不适于进行科学计算。 未来的COBOL将支持XML等Web时代的新技术。 COBOL的程序结构 COBOL程序由4部(DIVISION)组成:IDENTIFICATION DIVISION.(标识部)、ENVIRONMENT DIVISION.(环境部)、DATA DIVISION.(数据部)、 PROCEDURE DIVISION.(过程部),而每个部又由若干节 (SECTION)组成。 IDENTIFICATION DIVISION. “PROGRAM-ID”(程序识别ID)、“AUTHOR”(作者名)、“DATE-WRITTEN”(编写日期),这些并直接不影响程序的执行,而是程序的注释 信息。程序注释可以采用任何语言书写,COBOL编译器可以接受。 ENVIRONMENT DIVISION. 用于记载程序可以被运行的计算机环境。“ENVIRONMENT DIVISION.”部包括“CONFIGURATION SECTION”环境节和“INPUT-OUTPUT SECTION”输入输出节。 DATA DIVISION. 用于定义和声明程序所要使用的变量及其他数据。程序要使用的全部变量和数据必须在这里定义。“DATA DIVISION.”部主要包含“FILE SECTION.”和“WORKING-STORAGE SECTION.”节。 如果程序要通过参数接收数据,那么使用“LINKAGE SECTION”来声明。 COBOL的数据种类 COBOL程序的数据,主要有以下3种: 变量(Variables) 常量(Literals) 表意常量(FigurativeConstants)变量和常量自不必说,说说表意常量。使用有特定意思的多个词组合成一个常量的代名词。好处是便于编码人员识别。比如:HIGH-VALUES、LOW-VALUES等可以表达一定意思的名称作为常量代名词。 COBOL变量类型 COBOL的基本变量类型,有以下三种: 数值型(Numeric) 英文字符型(AlphaNumeric) 英文字符串型(Alphabetic) PROCEDURE DIVISION 用于容纳程序的实际处理代码。需要传入参数时,采用“PROCEDURE DIVISION USING 引数名[,参数名...]”的方式。 因为前3个DIVISION都是注释,却又必须,只到第4个DIVISION“PROCEDURE DIVISION”才真正涉及程序代码,这样的繁琐规定使得COBOL被批评为开场白像老太太裹脚布。但是,基于这样的4个DIVISION的明确记述等的严格形式,COBOL也被公认是可读性强的语言。另外,COBOL的保留字数量庞大,字数过长的保留字太多是COBOL的特征之一。
|