首页 > 代码库 > cobol语言

cobol语言

COBOL(CommonBusinessOrientedLanguage)——是数据处理领域最为广泛的程序设计语言,是第一个广泛使用的高级编程语言。在企业管理中,数值计算并不复杂,但数据处理信息量却很大。为专门解决经企管理问题,于1959年,由美国的一些计算机用户组织设计了专用于商务处理的计算机语言COBOL,并于1961年美国数据系统语言协会公布。经不断修改、丰富完善和标准化,目前COBOL已发展为多种版本。
中文名   COBOL语言
外文名   COBOL
全    称  CommonBusinessOrientedLanguage
领    域  数据处理
属    性  程序设计语言
开发时间  1959年
面世时间  1961
开发国家  美国
开发公司   RearAdmiralGraceHopper公司
开发领导人   格雷斯·霍波(G.Hopper)博士

目录

1商业语言

2历史

3重要性

4特点

5应用领域

6编辑器

7程序结构

8程序举例

1商业语言

COBOL(面向商业的通用语言,又称为企业管理语言、数据处理语言等,Common Business Oriented Language)是最早的高级编程语言之一,是世界上第一个商用语言。由COBOL之母Grace Hopperopper
Grace Hopper

Grace Hopper

以Flow-Matic为基础开发创建。
COBOL

COBOL

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重要性

经过40多年的不断修改、丰富完善和标准化,COBOL已发展为多种版本的庞大语言
COBOL程序

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编译程序,例如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)一个句子可包含若干语句
语句(Statement)制定计算机完成一定的操作
子句(Clause)制定完成某一方面的功能

8程序举例编辑

IDENTIFICATION DIVISION. 标识部
PROGRAM-ID. SAMPLE4.
AUTHOR. QXLU (WISTRON DALIAN).
DATE-WRITTEN. 04-07-07.
DATE-COMPILED. 04-07-07.
*
ENVIRONMENT DIVISION. 环境部
*[2]
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