首页 > 其他分享 >COBOL语言初级教程(1)--COBOL简介

COBOL语言初级教程(1)--COBOL简介

时间:2023-02-27 21:31:47浏览次数:36  
标签:语言 -- 低层 模块 初级教程 内核 版本 COBOL


最近由于工作需要,必须学习COBOL语言,将学习笔记整理出来,共享一下,希望有助于学习此方面的朋友。难免有错漏之错,望不吝赐教。

1、COBOL简介

COBOL是Common Business-Oriented Language(公用面向商业的语言)的缩写。
COBOL针对商业世界使用,是真正商用应用程序开发的首选语言(过去如此,未来......呵呵)。它自60年代初就开始广泛应用于计算机应用领域(商业和其他领域)。COBOL程序服务于政府、银行、运输系统、制造业及批发系统的日常工作中。

COBOL有许多版本,针对不同机器和操作系统,如大型机上的IBM COBOL和PC机上的Fujitsu与Micro Focus COBOL。

COBOL语法中借用了段、句、词的概念。它比现代编程语言显得更冗长。

COBOL采用了上世纪50年代由Sperry-Rand开发并修订的FLOW-MATIC(被美国空军及一些大公司使用,采用了英语式语法,如ADD、MOVE等,数据名可比较长且带含义,如STAT-TAXES、TOTAL-PAY等)的词法及其三个部分(过程、数据描述、环境)[现已成为COBOL的四个部],还借用IBM COMMERCIAL TRANSLATOR,特别是其PICTURE从句和组项目(组成01、02等表示的层)。

CODASYL委员会将该语言命名为COBOL,表示公用面向商业语言。1959年12月,第一个COBOL规范的最后草案完成。1960年,美国国防部宣布,所有购买的计算机都要包括COBOL编译器。COBOL的硬件无关特性在该语言规范的演变中起了巨大推动作用。

1968年美国标准协会(USASI,后更名为ANSI)批准了X3.4.4(后更名为X3J4)开发的标准,发表号为:X3.23-1968。这个文档定义了COBOL包括内核和八个功能模块:
1. Table Handling
2. Sequential Access
3. Random Access
4. Random Processing
5. Sort
6. Report Writer
7. Segmentation
8. Library
每个模块最多分成三层:高层提供更多功能,低层提供高层的子集。COBOL的基本版本包括内核、表格处理和顺序访问模块的低层功能。完全版本的COBOL应包括所有模块的高层功能。这个ANSI标准即著名的COBOL-68。

1974年对标准进行了修订,8个功能模块扩充至11个:
1. Table Handling
2. Sequential I/O
3. Relative I/O
4. Indexed I/O
5. Sort-Merge
6. Report Writer
7. Segmentation
8. Library
9. Debug
10. Inter-Program Communication
11. Communication
每个模块包括两层或三层。9个模块中,最低层为空集。每个低层都是高层的子集。对于COBOL-68,基本版本应包括内核、表格处理和顺序I/O模块的最低层。(未完待续)

标签:语言,--,低层,模块,初级教程,内核,版本,COBOL
From: https://blog.51cto.com/JohnsonJu/6089220

相关文章

  • C++调试环境的建立(仅适合初学者,高手莫入)
    近日,发现光用C#还是不行,毕竟许多老代码都是C++等其他语言写的,所以决定学C++。作为初学者,连编译环境等都不了解,问了一些高手,他们推荐N多编译器,我晕了(云里来雾里去的,一点不过......
  • 2月27日每日总结
    今天下午是一周一度的Java课,在课上,老师让我们做了一个小练习,但我还没有完全弄出来,下灭是我暂时的成果:packageaaa;importjava.util.ArrayList;importjava.util.HashSet;......
  • 2023年2月27日学习总结
    今天上午继续学习了androidapp的开发,知道了如何创建数据库,创建表,和页面间数据的传递。下午上课时按照老师的要求要做一个对文本文件中英文单词的接龙,找出最长的单词链,刚......
  • colmap相关博客与材料
    colmap教程colmap简易教程(命令行模式)colmap导出colmap结果导出已知相机位姿重建有点没太看懂。需要再搞搞。【colmap】已知相机位姿情况下进行三维重建COLMAP......
  • 力扣1049 最后一块石头的重量2
    题目:有一堆石头,用整数数组stones表示。其中stones[i]表示第i块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为x和y,且x<=......
  • PyQt6,QTDesigner安装
    安装PyQt6和pyqt6-toolspipinstallPyQt6pipinstallpyqt6-tools在pycharm中添加外部工具QTDesigner和PYUIC设置路径: 点+,创建新的工具  program填pyqt6......
  • vscode
    title:VScode相关comments:truecategories:技术点教学tags:-vscode-开发工具类excerpt:vscode的快捷键、插件和一些配置和知识toc:truedate:2023-1-17......
  • 学习记录(2.27)
    学习时长:6h代码行数:约160行今天继续进行了小游戏flappychicken的开发,成功debug了两次,解决了鸡无法触发管道侧边碰撞的问题,并且对地图进行了一些优化。......
  • mybatis查询返回多条数据
    返回User类型的list<selectid="queryAllUser"resultType="org.example.entity.User">select*fromt_user</select>publicinterfaceUserMapper{......
  • python / lib
    spython正则表达式:repython操作系统库:ospython爬虫库:request库C:\Users\lindows>pipinstallrequests-ihttps://mirrors.aliyun.com/pypi/simpleLookinginindex......