COBOL用于什么?
COBOL用于什么?
COBOL(通用商业语言)是由格雷斯·默里·霍波发明的(了解她,她是计算机发展中至关重要的人物之一)。 总体思想是创造一种基于英语而不是数学或代码表达的语言。
简单来说,您将使用类似于以下结构的构造:
ADD YEARS TO AGE
相对于
age = age + years
或者age += years
COBOL于上世纪60年代初应运而生,被广泛应用于商业领域的处理中。至今仍有大量采用COBOL编写的应用程序在运行和维护,因此该语言仍然非常活跃。1997年左右,Gartner报告称全球80%的商业机构都在运行COBOL,并存在超过2000亿行代码,每年新增约50亿行。因此,学习COBOL是确保您终身受益的好选择。
COBOL程序的结构可以概括为“Mnemonic In Every Damn Program”,即:
由于COBOL的传统从标孔卡开始(我也用过),因此你总是以缩进8个空格开始编码,否则某些编译器将无法识别它(这让我们想起Python中的空白符号的重要性)。
当然,它是一种编译语言。
它在哪里使用?政府、军队、各种规模的企业,但通常是较大的企业,因此你可以说它被应用于各个领域,并用于管理政府、军队和企业。我相信美国社会福利系统运行了数百万行COBOL代码,编写于60年代中期。英国大型信用评级公司Experian在其操作中广泛使用并连接到网络。同样,在英国,大多数Building Societies和银行都在其核心系统上运行。
我还可以继续讲下去,但是我就不再多说了,你可以自己去阅读。顺便说一句,如果你想要,你甚至可以使用面向对象的COBOL。
您是否使用过信用卡?您的交易可能会涉及后端的COBOL代码。
关于COBOL最显著的一点不是它的冗长,而是它作为一种语言,主要设计用于进行批处理。在这方面,它的I/O功能非常高效。
尽管它比OOLs早了一个地质时代,但从OO程序员的角度来描述批处理和COBOL是有用的。虽然历史上不正确,但像这样描述可以帮助OO程序员概念化。
换句话说,这是绝对错误的,但却非常真实:
COBOL已经“优化”以迭代大量、甚至是海量的顺序“集合”(即批次,也称为文件)。事实上,它是如此优化,以至于所有的OO功能都被剥离了,留下了一个基本的API,打开文件,处理记录,并关闭文件。在基本算法的更复杂版本中,多个文件被打开,它们的记录相互匹配并操作以生成一个或多个输出文件(批次)。
当COBOL被用于非批处理过程时,例如伪会话编程(备份CICS“绿屏幕”-又名BMS),它最不适合。毫不奇怪的是,这种功能最快被用OOL编写的GUI应用程序所取代。
IBM大型机上的ISPF编辑器已经优化以处理COBOL所需的编码方式。编辑器中的基本操作单元是行。默认情况下,垂直对齐是静态的,不会根据上下文流动或移位;在行尾键入会导致键盘锁定。由于这种“垂直对齐的保护”,相对容易复制行或块,并对齐命令。对于COBOL来说,垂直对齐作为可读性问题比OO语言更重要。
很难在一篇文章中进行描述,但是我在两个编程世界和两种类型的编辑器中都有经验,我必须说我不想在IDE样式的编辑器中编辑COBOL,也不想在ISPF编辑器中编辑Java和C系列语言。(我想你可以将ISPF样式的编辑器插入各种IDE中,但我没有去过那里。)
N.B. OO COBOL有其用途,但不作为重新设计处理批处理的代码的新方法。
如今,COBOL只是因为它曾经很受欢迎,许多老大型企业不想将其代码重写成现代语言而继续使用。(主要是成本和时间)
COBOL代码行的最大长度为72个字符,你问为什么?因为打孔卡片上有那么多个孔。即使到现在,这种语言也没有更新以允许更长的行...
COBOL是一种邪恶而古老的语言,除非您正在扩展旧程序,否则几乎没有用处了...
COBOL用于商业应用程序。Fortran用于科学应用程序。C和C ++用于硬件和固件。Java用于Web。
然后你可能会问,为什么选择COBOL?嗯,COBOL比其他语言更容易编写商业应用程序,大约容易十倍左右。
例如,将数字移动到报告字段并将其格式化为货币:
MOVE VAL-A TO REPORT-FIELD-A.
不需要getter或setter方法。每个MOVE语句不需要编写两种方法。
所有的字符转换和格式化为$99,999.99都是自动完成的。在其他语言中试试看吧。
肮脏的小秘密是COBOL实际上是一种被吹嘘的汇编宏语言。甚至有一个编译器选项可以打印汇编代码。这使得它易于理解和强大。
COBOL:易于使用、快速、准确、可读性好且易于维护。这就是老板所需要的一切。
Cobol主要用于金融处理。无论何时银行、经纪公司、信用卡供应商等进行业务,都会涉及到Cobol。