2020年4月,新泽西州的总督菲尔墨菲加强了一位麦克风,并告诉记者,他惊讶地区仍然遇到了对COBOL的失业系统 - 一个60岁的编程语言。国家在大流行锁上的失业保险申请大规模飙升,志愿者认为志愿者知道古老语言可以使用自己的登录技术!
我为我们的网站写了一个关于它的故事,它爬到了我们的图表之上。但它不仅仅是:主要的新闻网点正在覆盖它。公共关系公司在电子邮件投球中向我发送了与自己的故事的链接。它到处都是,我们都在COBOL上徘徊,因为 - 好吧,这是我们正在谈论的技术。我们仍然可以在这种旧代码上运行这样的重要系统吗?
从不介意州的发言人后来轻轻地表明他们确实有足够的程序员来运行系统 - 也许,也许是暗示州长被误认为是威尔。
那不是重点。这一点是:太多人痒痒攻击cobol,因为它是老的。不仅是错误的,这也是一种远太普遍的态度,分散了更多迫切需要的注意力。
William Malik,趋势科技基础设施策略副总裁兼长期的COBOL和企业技术的长期退伍军人,以这种方式说:“[新泽西州]可能运行一台10到15岁的机器,出于几乎与此同样的原因我驾驶2006年奥迪:它让我在我需要去的地方,我不需要更快地走,这是完全安全的,我保留它,我知道如何驾驶它。“
Malik认为,新泽西州的问题可能与编程语言无关,而是关于处理电力或内存。
换句话说,这是关于供需。建立系统以处理正常的失业索赔数,但它在一瞬间存在,这是正常的。
在我们进一步进一步之前,让我们放下一些基本的事实。 COBOL左右开发为1960年作为一种提前编程语言,可以在抽象中处理。也就是说,它允许开发人员以简单的语言向计算机提供命令。它面向商业职能,仍然有许多世界上最重要的金融系统,包括美国国税局和银行巨头。它有数百十亿个活跃线,并且该数字随着时间的推移而不是萎缩。
对于这篇文章,除了马利克之外,我还找出了几位专家的律师。我与Marianne Bellotti,U.Sianne Bellotti谈过。现在为科技公司叛乱防御工作;相变软件COO史蒂夫兄弟;和宾夕法尼亚Ciso Erik Avakian。他们有很多分享,我希望我能在这里整流一下。
代替一名成绩单,这里有一些他们同意的事情:尽管它的年龄,COBOL仍然是一些任务的正确选择。
“铃铛表示,它旨在进行数据的批量处理,特别是基于数据的数据,”贝罗蒂说。 “所以如果你有一个看起来那样的问题,你可以使用许多其他技术可以使用它,但你也可以选择cobol,你也可以使用大型机,或者你可以使用大型机和python,你有什么。”
“COBOL没有任何安全问题,因为它并没有真正与任何资源交谈,”马利克说。 “它只是说'读'或'写'。”
如果有关于COBOL应用程序的安全问题,他们与IT架构和劳动力更多的事情比他们用COBOL写的事实更多。
“与COBOL等旧技术和软件相关的挑战可以包括将安全更新和现代方法应用于数据加密和认证,例如多因素身份验证,”Avakian在电子邮件中写道。 “此外,这些技术和软件的IT员工熟练在员工中越来越稀缺,使他们冒险维护和更新。”
是的,让我们谈谈劳动力。每年或两个互联网周期通过关于调查的头条新闻,谈论如何达到那些知道COBOL的人的百分比正在接近退休年龄。正如贝罗蒂指出的那样,COBOL程序员的平均年龄实际上不会随着时间的推移而变化 - 2006年,计算机世界的调查发现,COBOL程序员的平均年龄为45至55岁,在2020年微观焦点的调查发现,COBOL程序员的平均年龄是50.GARTNER估计,COBOL程序员的总数每年都在减少,但微焦点和IBM等公司每年培训这类的数千次。
退休人才有一个严重的问题,但再次,这对COBOL并不是独一无二的。问题是机构知识 - 当20年前写申请的人离开时,剩下的人往往不知道申请与相同的亲密关系接近。并且自从他们首次写入该程序以来,通常它具有转移的新功能,填充了新的用例,进入了新的代理商。所以这是一个更大,更复杂,而那些明白这一切的人就会走出门。
“了解编程语言的开发人员,如果他们处理了非常少量的代码,他们可以解决问题,他们可以很容易地解决它,”兄弟们说,其坚定地在这个确切的问题上工作。 “问题是当你正在处理数百万个代码时,甚至没有人知道在哪里开始看。”
那么它实际上是什么让我们在COBOL上关注太多?在很大程度上,可能在其他地方度过的时间和资源。这是Malik的思路实验:说IT机构采用COBOL应用程序,并以另一种语言重新创建整个事物。
“如果你采取一块工作代码,你用另一种语言重写它,你现在必须重新测试整个粉碎,”他说。 “在一天结束时,你现在拥有的是一个新的程序,与旧程序完全相同,你坐下来,你说,”我为什么要把钱花在那个项目上?我没有拥有任何想要新界面的用户吗?我没有任何在门口敲打新申请的业务单位吗?'“
与此同时,我们在各国政府各地的全国各地都有网络安全漏洞,关闭公共服务,花费金钱和向外国政府举行智力。和公民仍然有艰难的时间导航利益应用。在政府工作中,手动进入仍然有助于人为错误。
所以在清点您的COBOL目录之前 - 您是否考虑过供应链中的安全缺陷?你的中间件?该修补程序如何进入?你是否运行不受支持的技术?
是的,有时有时会在COBOL中移动一些东西。 但是,如果你要这样做,那么沿着改造架构的线路,它可能会更好地思考。 贝罗蒂把它放了,你可能想要问自己的问题是:如果你今天重新做到,你会怎么做? “我真的很重视用户的实用程序和价值加入现代化项目,”她说。 “我们不仅仅是脱离技术,因为它恰好变老了; 我们脱离技术,因为有更好的工具来完成我们需要的工作。“ 只是因为它是老并不意味着它不好 - 不是真的。