COBOL(;“面向商业的通用语言”的首字母缩写词)是一种经过编译的类英语计算机编程语言,专为商业用途而设计。自 2002 年以来,它是一种命令式、程序性和面向对象的语言。 COBOL 主要用于公司和政府的商业、金融和管理系统。 COBOL 仍然广泛用于部署在大型机上的应用程序,例如大规模批处理和事务处理作业。然而,由于其受欢迎程度的下降和经验丰富的 COBOL 程序员的退休,程序正在迁移到新平台,用现代语言重写或替换为软件包。 COBOL 中的大多数编程现在纯粹是为了维护现有的应用程序;然而,直到 2006 年,许多大型金融机构仍在使用 COBOL 开发新系统。COBOL 由 CODASYL 于 1959 年设计,部分基于 Grace Hopper 设计的编程语言 FLOW-MATIC。它是作为美国国防部努力创建用于数据处理的可移植编程语言的一部分而创建的。它最初被视为权宜之计,但国防部迅速强迫计算机制造商提供它,导致它被广泛采用。它于 1968 年标准化,此后经过四次修订。扩展包括对结构化和面向对象编程的支持。当前的标准是 ISO/IEC 1989:2014。COBOL 语句具有类似英语的语法,旨在实现自记录和高度可读性。但是,它很冗长,并且使用了 300 多个保留字。与 y = x; 之类的现代简洁语法相比,COBOL 具有更类似于英语的语法(在本例中为 MOVE x TO y)。
COBOL 代码分为四个部分(标识、环境、数据和过程),包含部分、段落和句子的严格层次结构。由于缺乏大型标准库,该标准规定了 43 个语句、87 个函数和一个类。
在创建 COBOL 并且不参与其设计时,学术计算机科学家通常对业务应用程序不感兴趣;它(有效地)从头开始设计为一种用于商业的计算机语言,重点是输入和输出,其唯一的数据类型是数字和文本字符串。
COBOL 一直因其冗长、设计过程和对结构化编程的支持不佳而受到批评。这些弱点导致难以理解的单一、冗长(旨在类似于英语)的程序。
多年来,COBOL 一直被认为是大型机业务运营的编程语言,尽管近年来人们对将 COBOL 运营迁移到云计算的兴趣日益浓厚。
Grace Brewster Murray Hopper(née Murray;1906 年 12 月 9 日 - 1992 年 1 月 1 日)是美国计算机科学家和美国海军少将。作为哈佛 Mark I 计算机的第一批程序员之一,她是计算机编程的先驱,她发明了最早的链接器之一。 Hopper 是第一个提出与机器无关的编程语言理论的人,她使用该理论创建的 FLOW-MATIC 编程语言后来被扩展为创建 COBOL,这是一种至今仍在使用的早期高级编程语言。
在加入海军之前,霍珀获得了博士学位。耶鲁大学数学博士,瓦萨学院数学教授。二战期间,霍珀曾试图加入海军,但因为她 34 岁而被拒绝。她反而加入了海军预备役。 Hopper 于 1944 年在 Howard H. Aiken 领导的哈佛 Mark I 团队工作时开始了她的计算生涯。 1949 年,她加入了 Eckert-Mauchly 计算机公司,并且是开发 UNIVAC I 计算机的团队的一员。在 Eckert–Mauchly,她管理了首批 COBOL 编译器之一的开发。她相信基于英语的编程语言是可能的。她的编译器将英语术语转换为计算机可以理解的机器代码。到 1952 年,Hopper 完成了为 A-0 系统编写的程序链接器(最初称为编译器)。在战时服役期间,她根据她在哈佛 Mark 1 上的工作与人合着了三篇论文。
1954 年,Eckert-Mauchly 选择 Hopper 领导他们的自动编程部门,她领导了一些第一批编译语言的发布,例如 FLOW-MATIC。 1959 年,她参加了 CODASYL 联盟,该联盟向 Hopper 咨询以指导他们创建一种与机器无关的编程语言。这导致了 COBOL 语言的出现,该语言的灵感来自于她关于基于英语单词的语言的想法。 1966 年,她从海军预备役退役,但在 1967 年,海军将她召回现役。她于 1986 年从海军退役,并在数字设备公司担任顾问,分享她的计算经验。
美国海军 Arleigh Burke 级导弹驱逐舰 USS Hopper 以她的名字命名,NERSC 的 Cray XE6 “Hopper”超级计算机也以她的名字命名。在她的一生中,霍珀获得了来自世界各地大学的 40 个荣誉学位。耶鲁大学的一所学院以她的名字命名。 1991年,她获得了国家技术奖章。 2016 年 11 月 22 日,她被美国总统巴拉克·奥巴马 (Barack Obama) 追授总统自由勋章。