译者:EarlGrey@程序员
原文:http://slot-software architect . blogspot . com/2020/04/why-is-cobol-dead-or-why-not-it . html
因为疫情,古语言COBOL再次流行,甚至IBM又开始提供培训课程!今天分享一篇国外开发者对COBOL的分析文章,解释COBOL为什么没有更好的发展。
FORTRAN之所以能生存下来,是因为这种语言及其相关的工具链(尤其是编译器)成功解决了很多开发人员的痛点,同时保留了高性能的优势。这避免了Python和其他挑战者试图在运行天气预报等动态模型任务时替换它。
简而言之,为什么FORTRAN现在做得很好?但是COBOL差很多。
我可以向你保证,这两种语言的情况基本相同。之所以还有机构在用,是因为还有大量的历史遗留实现。
当然,两者是有区别的。我觉得其中一个就是开发者对语言的反感程度。
FORTRAN给人的印象很好,因为它把很多实现细节封装在了公共库中,开发人员不用自己去探索。SciPy中有很多FORTRAN代码,GCC编译器负责处理这些代码,不用我们操心。
但是COBOL不一样。它没有方便的Python上层打包库,也没有Conda安装包。仅用于企业应用程序。
另外,使用COBOL的组织恰好是一个技术惯性很大的组织。组织变化很慢,但是他们使用的语言更慢。
这是具有监管优势的超大型组织的后果。比如政府要求高,政策调整下变化不大。其他监管严格的行业,如银行、保险等,调整缓慢,可以容忍COBOL问题。
还有一个原因。
FORTRAN库没那么难理解,至少有明确的数学定义,可以测试。没有什么意外的。
但是对于符合法律要求的COBOL程序来说,存在100%的模糊不清和无法解决的迷雾,无法在叠加特性后进行单元测试。
特殊情况和异常是编程中必须考虑的问题,通常在应用中解决。
使用FORTRAN,异常由Python包使用FORTRAN处理(比如SciPy,Numpy)。
但是对于COBOL来说,异常是在COBOL的某个地方直接处理的。
1.《cobol 为什么 COBOL 还没有“死”?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《cobol 为什么 COBOL 还没有“死”?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/tiyu/1101652.html