中文名 COBOL语言
外文名 COBOL
全 称 CommonBusinessOrientedLanguage
领 域 数据处理
属 性 程序设计语言
开发时间 1959年
面世时间 1961
开发国家 美国
开发公司 RearAdmiralGraceHopper公司
开发领导人 格雷斯·霍波(G.Hopper)博士
目录
1商业语言
COBOL(面向商业的通用语言,又称为企业管理语言、数据处理语言等,Common Business Oriented Language)是最早的高级编程语言之一,是世界上第一个商用语言。由COBOL之母Grace Hopperopper
以Flow-Matic为基础开发创建。
COBOL是一种面向数据处理的、面向文件的、面向过程(POL)的高级编程语言,是一种功能很强而又极为冗长的语言。
COBOL适合于具有循环处理周期的环境(例如打印工资支票)以及数据操纵量相当大的环境。COBOL主要应用于商业数据处理领域,对各种类型的数据进行 收集、存储、传送、分类、排序、计算及打印报表、输出图象是它的强项。COBOL语法与英文很接近,即使不懂电脑的人也能看懂程序。强大的文件处理功能,大量的数据通常以文件的形式存储在磁盘上。未来的COBOL将支持XML等Web时代的新技术。[1]
英文缩写:COBOL(Common Business Oriented Language) 中文译名: 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重要性
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语法与英文很接近,即使不懂电脑的人也能看懂程序。
强大的文件处理功能,大量的数据通常以文件的形式存储在磁盘上。
科学计算。
5应用领域
作为一种元老级的高级编程语言,COBOL拥有庞大的用户群和代码,据称用COBOL书写的程序超过了1000亿行。另有调查发现世界上目前使用的商业应用 软件之中的百分之七十是用COBOL代码编写的,并且以每年大约五十亿行代码的速度在增长。看来,历史赋予了COBOL语言特殊的使命。另外,只要大型机存 在,其上就还要运行COBOL程序,而且很多资深的程序员已经习惯于COBOL,加入大型机环境的新程序员(例如我)也不得不开始使用COBOL。其实 COBOL也有自身的一些优点,比如它对数据的显示格式有较强的控制。另外,我想最重要的是,即使对于具有相当经验的IT公司来说,重新编写可靠的应用软件也是不实际或是从商业角度上并不可行的,而且还要花上很长的时间。
如上介绍,Cobol主要是应用在商业数据处理领域。其中占最大百分比的是银行、金融和会计行业,其次是ComputerVAR/Retail/Consulting行业,这是美国的调查资料。Cobol在中国的应用应该也差不多。(或更少)
6编辑器
由于COBOL最初是用于主机系统,所以它和主机系统联系得非常紧密。主流的主机系统,例如IBM的大型机、中型机等都配备了相应的COBOL编译程序,例如VS COBOL II等。微机的广泛使用也对主机编程产生了一定的影响,比如它拥有漂亮的图形界面,不少编译器厂 家也推出了微机平台上的COBOL编译器产品,其中比较著名的有Fujitsu Power COBOL,Acu Cobol等。网上有一个Fujitsu COBOLV3,其编程界面类似于微机上常见的VisualBasic、VisualC等,不仅提供了GUI界面,也内置了许多常见的控件,当然其功能比 起VB、VC还是差了不少,有兴趣者可以下载去试用一下。
在Windows上开发的人都应该觉得很幸运,它那友好的界面就实在能改善开发者的心情,提高开发的效率。想想在DOS和UNIX等下面的黑屏环境,工作的心情实在好不起来。要是跟踪一段代码,简陋的调试环境真让人却步。主机环境既然不那么友好,调试环境也就可以想象了。当然了,如果舍得花钱,还是能买到凑合的调试环境的。即使没有那么多的投资,CICS也算是一个不错的东西,毕竟它还支持对其自己命令的调试。
7程序结构
COBOL程序由4部(DIVISION)组成:
IDENTIFICATION DIVISION.(标识部)
主要用来指定源程序名字,也可以写入其他用作备忘的某些信息(如日期、作者等)。
ENVIRONMENT DIVISION.(环境部)
DATA DIVISION.(数据部)
程序中所用到的全部数据(包括输入输出的数据和中间数据)都应在数据部中说明它们的类型和所占内存情况。
PROCEDURE DIVISION.(过程部)
用来给出程序要执行的指令,使计算机产生相应的操作,例如进行数学运算。
备注:
部(Division)一部可包括若干节
节(Section)一节可包含若干段
段(Paragraph)一段可包含若干句子
句子(Sentence)一个句子可包含若干语句
子句(Clause)制定完成某一方面的功能
8程序举例编辑
IDENTIFICATION DIVISION. 标识部
PROGRAM-ID. SAMPLE4.
AUTHOR. QXLU (WISTRON DALIAN).
DATE-WRITTEN. 04-07-07.
DATE-COMPILED. 04-07-07.
*
ENVIRONMENT DIVISION. 环境部
DATA DIVISION. 数据部
WORKING-STORAGE SECTION.
01 A PIC X(4). PIC子句进行数据定义
01 B PIC X(4).
01 C PIC X(4).
01 D PIC X(8).
*
PROCEDURE DIVISION. 过程部
*
MOVE 'FGH ' TO A. 赋值给A
MOVE 'KLM ' TO B.
MOVE 'XYZ ' TO C.
MOVE SPACE TO D.
STRING A, B, C DELIMITED BY SPACE INTO D
ON OVERFLOW DISPLAY 'OVERFLOW'.
DISPLAY 'A = ' A. 打印命令
DISPLAY 'B = ' B.
DISPLAY 'C = ' C.
DISPLAY 'D = ' D.
*
STOP RUN. 程序结束标识
显示如下:
OVERFLOW
A = FGH
B = KLM
C = XYZ
D = FGHKLMXY