什么是COBOL? COBOL编程说明

2023-11-18

有些技术永不消亡,它们只是逐渐消失在木制品中。

向普通软件开发人员询问有关COBOL(面向通用商业语言)的信息,他们会看着您,就像您提到复写纸,含铅汽油或78 RPM记录一样。 与Go或Python甚至Pascal或C!之类的现代语言相比,COBOL似乎冗长,笨拙,过时。

但是COBOL忍受了。 COBOL绝不是我们与之愉快地过时的过时技术,而是已成为一个机构。 大规模的COBOL代码库仍在世界范围内使用,其中许多代码库的运行几乎与最初创建时完全相同。 用好莱坞的话来说,COBOL语言具有“腿”的含义。

[ 同样在InfoWorld上:每个开发人员心血来潮的17个聪明的API ]

因此,是的,COBOL仍然是相关且及时的,实际上是痛苦的。 最近几个月,由于新泽西州等州呼吁程序员帮助他们将其COBOL应用程序迁移到21世纪,因此COBOL已重新进入公众意识。

在本篇文章中,我们将了解COBOL的起源,编程语言的设计在今天如何脱颖而出,以及使COBOL如此持久且如此棘手的原因。

COBOL的历史

1950年代末和1960年代初出现了 COBOL。 语言的开发是由美国国防部(DoD)赞助的一个项目,该项目包括由IBM,霍尼韦尔,斯佩里·兰德和Burroughs等计算机公司组成的财团。 目的是创建一种具有以下属性的编程语言:

  • 计算机系统之间的可移植性,从而使跨代硬件以及硬件制造商之间的软件迁移更加容易。
  • 这种方式比当时的其他语言(例如FORTRAN)具有更多类似于英语的语法,以鼓励更广泛的受众进行编程,即使是以牺牲某些操作速度为代价。
  • 适应将来语言变化的能力。

第一个正式的COBOL规范于1960年发布。在接下来的十年中,由于其批评家的震惊,COBOL成为编写业务应用程序的默认选择。 其快速传播的一个原因是网络效应:IBM是该语言的最初合作者之一,成为积极进取的早期采用者,并且IBM在计算世界中的主导地位有助于推动COBOL的采用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是COBOL? COBOL编程说明 的相关文章

  • Hazelcast:连接到远程集群

    我们有一组 Hazelcast 节点 全部运行在一个远程系统 具有许多节点的单个物理系统 上 我们希望从外部客户端连接到该集群 一个 Java 应用程序 它使用如下代码连接到 Hazelcast ClientConfig clientCon
  • JPA 的 Hibernate 查询提示

    我一直在尝试为所有可以通过设置的提示找到一个明确的资源Query setHint String Object JPA 中的方法调用 但我一无所获 有人知道一个好的参考吗 See 3 4 1 7 查询提示 http docs jboss or
  • 在 Windows 上使用 apache mod_wsgi 运行 Flask 应用程序时导入冲突

    我允许您询问我在 Windows 上使用您的 mod wsgi portage 托管 Flask 应用程序时遇到的问题 我有两个烧瓶应用程序 由于导入冲突 只有一个可以同时存在 IE 如果请求申请 1 我有回复 然后 如果我请求应用程序 2
  • pytest:同一接口的不同实现的可重用测试

    想象一下我已经实现了一个名为的实用程序 可能是一个类 Bar在一个模块中foo 并为其编写了以下测试 测试 foo py from foo import Bar as Implementation from pytest import ma
  • .pyx 文件出现未知文件类型错误

    我正在尝试构建一个包含 pyx 文件的 Python 包 pyregion 但在构建过程中出现错误 检查以下输出 python setup py build running build running build py creating b
  • Tensorflow 与 Keras 的兼容性

    我正在使用 Python 3 6 和 Tensorflow 2 0 并且有一些 Keras 代码 import keras from keras models import Sequential from keras layers impo
  • 使用Python计算目录的大小?

    在我重新发明这个特殊的轮子之前 有没有人有一个很好的例程来使用 Python 计算目录的大小 如果例程能够很好地以 Mb Gb 等格式格式化大小 那就太好了 这会遍历所有子目录 总结文件大小 import os def get size s
  • SMTP_SSL SSLError: [SSL: UNKNOWN_PROTOCOL] 未知协议 (_ssl.c:590)

    此问题与 smtplib 的 SMTP SSL 连接有关 当与 SMTP 无 ssl 连接时 它正在工作 在 SMTP SSL 中尝试相同的主机和端口时 出现错误 该错误仅基于主机 gmail 设置也工作正常 请检查下面的示例 如果 Out
  • 用 python 编写的数学语法检查器

    我需要的只是使用 python 检查字符串是否是有效的数学表达式 为了简单起见 假设我只需要 运算符 也作为一元 带有数字和嵌套括号 为了完整性 我还添加了简单的变量名称 所以我可以这样测试 test 3 2 1 valid test 3
  • Jython 和 SAX 解析器:允许的实体不超过 64000 个?

    我做了一个简单的测试xml saxJython 中的解析器在处理大型 XML 文件 800 MB 时遇到以下错误 Traceback most recent call last File src project xmltools py li
  • 动态创建 JSON 对象

    我正在尝试使用以下格式创建 JSON 对象 tableID 1 price 53 payment cash quantity 3 products ID 1 quantity 1 ID 3 quantity 2 我知道如何使用 JSONOb
  • 使用 Commons 或 Guava 将文本文件转换为 Java Set

    我想将文件中的每一行加载到 HashSet 集合中 有没有一种简单的方法可以做到这一点 怎么样 Sets newHashSet Files readLines file charSet 使用番石榴 参考 文件 readLines http
  • Mac OSX 10.6 上的 Python mysqldb 不工作

    我正在使用 Python 2 7 并尝试让 Django 项目在 MySQL 后端运行 我已经下载了 mysqldb 并按照此处的指南进行操作 http cd34 com blog programming python mysql pyth
  • Javac 版本 1.7 无法为目标 1.7 构建

    我试图在 Linux Mint 系统上使用 Sun Java JDK 1 7 0 17 编译 Java 代码 但遇到了这个问题 javac version target 1 7 javac 1 7 0 17 javac invalid ta
  • 一个类中有多个具有相同参数类型的方法

    我知道 至少已经有了关于这个主题的一个问题 https stackoverflow com questions 5561436 can two java methods have same name with different retur
  • 设置 Firefox 配置文件以使用 Selenium 和 Java 自动下载文件

    我想使用 Selenium WebDriver 和 Java 验证文件下载 要下载的文件为 PDF 格式 当 WebDriver 单击 AUT 中的 下载 链接时 Firefox 将打开以下下载确认窗口 我希望 Firefox 自动下载文件
  • 如何在apache POI中读取excel文件的准确单元格内容

    当我读取单元格的内容时 例如如果它是日期格式 它会转换为另一个值 例如 12 31 2099 gt 46052 和 50 00 gt 50 和 50 00 gt 0 5 但我想要的是获取每个单元格的确切字符串值 我的代码是这样的 cell
  • 双击打开 ipython 笔记本

    相关文章 通过双击 osx 打开 ipython 笔记本 https stackoverflow com questions 16158893 open an ipython notebook via double click on osx
  • 将上下文管理器的动态可迭代链接到单个 with 语句

    我有一堆想要链接的上下文管理器 第一眼看上去 contextlib nested看起来是一个合适的解决方案 但是 此方法在文档中被标记为已弃用 该文档还指出最新的with声明直接允许这样做 自 2 7 版起已弃用 with 语句现在支持此
  • 查找总和为给定数字的值组合的函数

    这个帖子查找提供的 Sum 值的组合 https stackoverflow com a 20194023 1561176呈现函数subsets with sum 它在数组中查找总和等于给定值的值的组合 但由于这个帖子已经有6年多了 我发这

随机推荐

  • 项目管理2:电子项目研发流程安排

    电子项目研发流程安排 项目研发各阶段安排 1 方案选型阶段 1 所做工作 方案调研 选型 可行性研究 2 设备采购 参考设备 参考方案 demo 注 此阶段全面初步了解设备需求 制定方案 采购验证用设备 2 方案验证阶段 1 所做工作 方案
  • jdbc,prepareStatement,表名为变量时无法使用占位符‘?’

    java操作有些数据库比如clickhouse暂时还用的是jdbc 执行sql时面临使用statement还是prepareStatement 其中statement写的简单不过会有sql注入最后安全检查不过 prepareStatemen
  • ctf文件包含+伪协议总结

    基本原理 后端编程人员一般会把重复使用的函数写到单个文件中 需要使用时再直接调用此文件即可 该过程也就被称为文件包含 文件包含的存在使得开发变得更加灵活和方便 但同时也带了安全问题 导致客户端可以远程调用文件 造成文件包含漏洞 这个漏洞在p
  • C++ 负数转二进制形式

    C 负数转二进制形式 1 十进制的负数转成二进制形式 include
  • 【VsCode远程开发】Windows SSH远程连接Linux服务器 - 无公网IP内网穿透

    文章目录 前言 视频教程 1 安装OpenSSH 2 vscode配置ssh 3 局域网测试连接远程服务器 4 公网远程连接 4 1 ubuntu安装cpolar内网穿透 4 2 创建隧道映射 4 3 测试公网远程连接 5 配置固定TCP端
  • Pandas中五个常见操作小结

    1 引言 Pandas是专门为csv excel等表格数据创建的数据分析 可视化和操作的第三方库 其中DataFrame是一种二维数据结构 它一般是由行和列组成的表格数据 在Python3中使用Pandas库 可以方便我们对表格数据执行相应
  • php 密码校验正则,PHP常用密码正则匹配验证

    PHP常用密码正则匹配验证 第一种 昵称2 10位字符 需由中文 数字 字母 区分大小写 和下划线组合 a 的方 b preg match x 4e00 x 9fa5 A Za z0 9 2 10 u a var dump b 第二种 正则
  • 备战2023蓝桥国赛-饼干

    题目描述 解析 这道题我想了很多种解决方法 但无一例外都失败了 实在是按照常规线性DP的思路真的想不出来 看了题解之后才知道它是分为三步解决这个问题的 第一步 缩小最优解的范围 先用贪心将最优解缩小到某个较小的范围内 再DP求出精确的最优解
  • 【C语言】C语言入门经典题目(范围广,内容多)

    作者 小孙的代码分享 专栏 C语言入门 送给各位的一句话 空杯心态 才能学到新知 希望大家看完这些题目有所收获 别忘了 点赞 评论 目录 前言 字符转ASCII码 判断闰年 简单计算器 包含数字9的数 十六进制转十进制 获得月份天数 求质数
  • MybatisPlus的注解

    MybatisPlus的注解 TableField exist false 表示该属性不为数据库表字段 但又是必须使用的 TableField exist true 表示该属性为数据库表字段 Mybatis Plus 插件有这个功能 可以看
  • RestTemplate使用详解

    文章目录 一 RestTemplate 简单使用 1 创建 RestTemplate 2 接口调用 二 其他设置 1 拦截器配置 2 ErrorHandler 配置 3 HttpMessageConverter 配置 在项目中 当我们需要远
  • 用Vscode编辑verilog代码配置

    这篇教程感觉很详细了 我这里分享一下vscode和插件的安装包链接 都是官网下载的 放心食用 用VSCode编辑verilog代码 iverilog编译 自动例化 自动补全 自动格式化等常用插件 链接 https pan baidu com
  • linux找共享内存

    find proc maps type f exec grep l lt 34865209 gt
  • Spring的IOC,DI和AOP

    spring的优点 IOC和DI降低了组件之间的耦合性 让程序员更专注于业务逻辑 容器提供了众多的辅助类 能加快应用的开发 spring对于主流的应用框架提供了集成支持 如hibernate mybatis Struts等 spring属于
  • 成都瀚网科技有限公司:新手如何做直播?

    越来越多的人涌入这一领域 希望通过直播实现爆发式销售 然而 要想在竞争激烈的市场中脱颖而出 新手需要掌握一些关键技巧和策略 在这篇文章中 我们将分享一些实用的方法 帮助新手实现抖音销量爆发的目标 1 新手如何做直播 选择合适的产品 作为新手
  • 认识常见的显卡外接口

    以下几种为显卡接口的常见类型 1 VGA接口 Video Graphics Array 视频图形阵列 VGA接口是最常见的 应用最广的显卡接口 电脑显示器连接的很多都是这种接口 以前的CRT显示器用的也是这种接口 它也称为D Sub 它支持
  • 伯努利分布、二项分布、多项分布、贝塔分布、狄利克雷分布、高斯分布

    文章目录 伯努利分布 二项分布 多项分布 贝塔分布 狄利克雷分布 高斯分布 伯努利分布 伯努利分布 又名两点分布或0 1分布 介绍伯努利分布前首先需要引入伯努利试验 伯努利试验是只有两种可能结果的单次随机试验 即对于一个随机变量X而言 P
  • ggplot2作图之系统发育树

    library ape tree lt read tree text A B C D E F G H I J K L M N O P library ggtree ggtree tree branch length none ladderi
  • BQ40Z50 调试

    一 简介 BQ40Z50 R1的特点与功能 1 这是一颗单芯片解决方案 集成电池 充放电保护 均衡 电量测量三大主要功能 2 支持1 2 3 4节串联锂离子或锂聚合物电池组 二 使用 1 BQ40Z50 R1 评估版一块 2 调试器一个 3
  • 什么是COBOL? COBOL编程说明

    有些技术永不消亡 它们只是逐渐消失在木制品中 向普通软件开发人员询问有关COBOL 面向通用商业语言 的信息 他们会看着您 就像您提到复写纸 含铅汽油或78 RPM记录一样 与Go或Python甚至Pascal或C 之类的现代语言相比 CO