有60年历史的编程COBOL正在经历一次复兴。许多**系统大型机运行COBOL,一直在努力应对需求激增。特别是,新泽西州的失业系统是由一个有40年历史的COBOL主机管理的。
随着与COVID-19相关的失业率激增,该体系正努力跟上。墨菲州长认为COBOL程序员是一种不受重视的必需品。
1959年,数据系统语言委员会设计了COBOL。他们想设计一种标准的编程语言来运行在许多不同的大型机上。
当时,许多新的编程语言正在开发中,将编程语言翻译成在新的硬件上运行变得过于昂贵。COBOL或面向业务的通用语言就是这个问题的解决方案。
COBOL基于Grace Hopper创建的编程语言FLOW-MATIC。它是第一种用英语术语代替数学符号来处理数据的编程语言。格雷斯·霍珀解释说:
“I used to be a mathematics professor. At that time I found there were a certain number of students who could not learn mathematics. I then was charged with the job of making it easy for busines**en to use our computers.” (The Early Development of Programming Languages pg. 29)
同样,COBOL使用英语术语,并且设计得很容易阅读。然而,一些人批评它过于罗嗦。例如,在C中,您可以编写以下代码来添加两个数字:
int result = 1 + number;COBOL中的相同代码将编写为:
ADD 1 TO number GIVING result与C语言非常相似,COBOL是一种过程编程语言。这仅仅意味着COBOL程序是按照顺序步骤设计的。COBOL也是一种自文档语言,这增加了它的可用性。然而,COBOL最著名的特性是可以处理大量的数据处理。
相关:5 C编程技巧你必须学会入门
COBOL被广泛采用,尤其是被企业、**和金融机构所采用。它被广泛采用,至今仍在许多地方使用。
尽管COBOL过去很流行,但很少有人知道这种语言。现在有更多的编程语言以英语命令为中心,它们比COBOL有更多的特性。很少有程序员用COBOL创建新程序;它的主要用途是维护遗留程序。
对COBOL的一个批评是程序员有编写意大利面代码的倾向。意大利面代码是一个贬义词的代码是结构不良。结构不良的代码的罪魁祸首是GOTO命令。
如前所述,COBOL是过程性的,因此计算机会按照从上到下的顺序读取每一行代码。GOTO命令允许程序员告诉程序跳转到另一行。GOTO命令的不当使用会使COBOL代码变得复杂。
相关:如何通过对象封装保持代码的整洁
COBOL不受欢迎的另一个原因是它很少在大学里教授。COBOL是由商业团体创建的,而不是学术团体。它旨在解决业务问题,并针对数据处理等问题进行了优化。学者们通常对不同的问题感兴趣,因此,推广不同的编程语言。
然而,COBOL最大的问题之一是,尽管它被设计成一种通用语言,但它并不是。随着语言的发展,许多不同的方言被创造出来了——其中300种!
这使得程序员很难理解遗留代码。
因为COBOL被企业和**广泛使用,所以仍然有许多COBOL系统需要维护。众所周知,遗留代码很难维护,因为程序又大又复杂。因此,需要对语言有深刻理解的程序员来维护程序。
对代码进行更改也需要花费大量时间,因为很难确定更改是否会影响程序的其他部分。
例如,在90年代,我们面临着千年虫问题。许多年份日期是用年份的最后两位数字而不是全年保存在计算机中的。因此,1997年被存储为97年。人们担心,当年份更改为2000年时,00年将无法被识别为有效,导致日期序列出现问题,并可能导致许多系统崩溃。
美国**和企业花了几年时间和1000亿美元来对付千年虫。改变遗留系统是可能的,但这需要时间,而且成本高昂。
2020年,COVID-19产生了一个新的编程问题。美国的失业制度是以COBOL为基础的,对这一计划进行修改是非常困难和昂贵的。例如,国会曾计划根据损失的工资计算失业救济金,以应对失业率激增。不过,调整方案实施计算需要5个月的时间。
相关报道:冠状病毒COVID-19:15个你可以信任的可靠信息站点
COBOL系统的变化速度不足以应对危机情况。这个问题更加复杂,因为没有足够的人接受COBOL培训来帮助增加在危机期间支持系统所需的维护。那些接受COBOL培训的人要么已经退休,要么即将退休。
为了帮助解决对COBOL程序员日益增长的需求,IBM创建了一个免费的COBOL课程。课程由一系列视频、测验和实验作业组成,需要16小时才能完成,最后你将获得一枚徽章。
如果您已经是一位经验丰富的COBOL程序员,IBM还提供了一个COBOL网络论坛。在那里,有经验的程序员可以与有需要的组织和企业建立联系。
COBOL不像Python那样是一种流行的编程语言,但它是一种重要的编程语言。世界上大部分地区仍然使用COBOL。如果您一直在考虑学习一种编程语言,但需要一个推动,可以考虑学习COBOL。
...加、科罗拉多州、爱荷华州和堪萨斯州的系统,部分是用COBOL编码的,COBOL是一种有40多年历史的编码语言,很少有程序员会再学它了。这使得这些系统在流感大流行造成的请求压力下崩溃时很难修复。根据Verge的说法,在冠状病...
金属不仅在当今世界需求量很大,而且自从它被发现以来就一直如此。正是不同的用途创造了对钢铁等金属的巨大需求。我们都知道它们被用在什么地方。然而,当把钢和铸铁放在一起比较时,它们之间有着巨大的差别。钢比铁...
...ASCAL,FORTRAN,COBOL,VB,Basic。oop与pop对照表(表格形式)什么是哦(oop)?OOP是指面向对象编程,是一种基于对象概念的编程结构。对象是由数据和代码组成的。数据以字段的形式存在,这些字段被命名为属性或属性,其中代码以...
...完整的列表和其他10个提示。作为面试官或求职者,你有什么诀窍可以分享吗?让我们在评论里听听。求职面试小贴士:如何不显老态[智慧面包的金钱观察]
...现在可以作为许多现代机器的脚本语言使用。你会用它做什么?谁在乎!Fortran语言和Cobol语言至今仍在使用,因此肯定可以为一颗最终被重新发现的前恒星——洛杉矶日落大道找到一些卑微但高贵的作品。Windows和Mac提供免费二...
...说:“只有六台电子数字计算机才能满足整个美国的计算需求。”。 艾肯于1973年在密苏里州圣路易斯去世。 格雷斯·霍珀 格蕾丝·霍珀1906年12月出生于纽约,在1943年加入海军预备队之前曾就读于瓦萨学院和耶鲁大学。1944...
...细介绍它们之间的差异。 关于汇编程序,您需要了解什么 汇编程序是一种程序,它接受一条或多条基本计算机指令,然后将它们转换成计算机处理器可以用来执行其基本操作的位模式。通常,用于编写汇编程序的语言称为...
ABAP是高级业务应用程序编程的首字母缩写,最初在德语中称为Allgeminer Berichts Aufbereitungs Prozessor,或“通用报表创建处理器”。在语法上类似于通用面向业务语言(COBOL),...
汇编语言是指示计算机执行任务的低级方法。计算机并不能从本质上理解人的指令。在最基本的层面上,计算机理解二进制语言的指令,即零和一的序列。然而,二进制语...
千年虫是一个计算机问题,威胁着公司、公用事业公司、金融业、政府机构甚至科学的运作。1999年12月31日至2000年1月1日午夜钟声敲响时,人们担心所有计算机都有可能关闭...