cobol和java_Java正成为COBOL的一部分-它将成为COBOL的一部分吗?

cobol和java

任何从大学,技术学校或社区学院毕业的计算机科学专业都接受过培训。 每个身材高大的公司都使用该语言,并拥有一批具备此能力的程序员。 通用语言可以推动业务发展。

1985年是COBOL。今天是Java。 尽管存在差异,但是这两种语言在轨迹上有着足够的相似性,从幼稚到顶峰,有人将Java称为“新的COBOL”,为当今规模不大但不断增长的愤慨的Java程序员提供了一种新的工具,以表达他们的不满。 Java的最大问题 。

很容易对那些认为这种颠覆性比较是侮辱的人表示同情。 谁想看到他们的主要编程语言的公众形象被“传统”前辈的包based,完全不同的代码构成所贬低?

Java已经获得了持续的普及和进步,正如许多人认为的那样,Java是当今的标准编程语言。 同时,主流IT专家贬低并贬低了COBOL及其主要平台大型机,直至被排斥。

但是,这种比较的核心是Java社区应该明智地承认并积极做好准备:Java的值得称赞的“标准”地位很可能会落入“无关紧要”的不受欢迎等级,因为新的,据说是更好的语言应运而生-就像发生在COBOL上一样。

但是,状态的改变并不一定要定义Java的真实价值,就像面对不断的逆境并没有定义或降低过去50年来COBOL的价值一样,尽管有许多假设。 我们认为,在Java计划其未来时,它可以并且应该了解持久性,适应性和现代化作为一种​​语言的重要性,并且可以从通用的面向业务的语言中学到任何东西。

COBOL,永久失败者

逆境从一开始就困扰着COBOL。 即使在最初针对美国国防部专门设计的语言进行最初的开发和发展时,COBOL仍要争夺它作为事实上的标准业务编程语言的地位,与FACT,COMTRAN和FORTRAN等更成熟的代码竞争。

同时,已故的让·萨姆特(Jean Sammet)在她的当代文章中被认为是真正的“ COBOL之母”,因为她的当代格蕾丝·霍珀(Grace Hopper)通常被认为是她,而COBOL的主要支持者IBM“对COBOL的处理方式有着内在的共鸣”。计算机协会。

参与COBOL项目的一些人主张放弃设计工作并重新开始。 其他人则批评COBOL的“语义冗长,语法冗余以及总体上缺乏语言优雅”,库尔特·拜尔(Kurt Beyer)在他2009年的著作《 格雷斯·霍珀和信息时代的发明 》中写道。 最无礼的批评家认为,COBOL之所以失败,仅仅是因为女性在创立之初就扮演了重要角色。

他们都是错的。

最终,COBOL超越了它,可危的劣势地位,发展成为标准的业务编程语言。 在最初的十年中,它在全球的使用率超过了任何其他编程语言,并且它的使用寿命已经超过了预期的失效日期,在70年代和80年代,作为一种领先的技术,它作为核心技术被广泛传授给新程序员到20世纪90年代,计算已经为世界为Y2K做准备,并且作为当今世界上最大,最复杂和最重要的应用程序的基础,今天仍然至关重要。

但是,尽管COBOL在商业世界中很受欢迎并且有其必要性,但它最终还是脱颖而出。 随着其他语言(如Java)的到来,它不再在学校教授。 它不再受到保持最新状态所需要的照顾和关注,结果它变得深奥而利基。

但是,尽管现实是任何编程语言都可以完成任何任务,但是有些语言最适合特定任务。 COBOL是尽快处理大量数据的理想选择。

从财富500强公司到政府机构,越来越多的组织意识到COBOL对他们的工作至关重要,试图撕毁,重写和替换这些应用程序是多么昂贵,费时,有风险并最终徒劳。 但是,使COBOL重返雷达所花费的时间和精力是一项持续的工作,这是Java社区应该避免的事情。

Java,毫无疑问的最爱

令Java世界感到困扰的是,它们的语言也可能失传了,而不是由于缺乏必要性或功能不断发展而引起的—开源JDK是如何进行创新的一个很好的例子—而是仅仅因为失去了其在应用程序方面的才华。更新,更现代的语言的阴影以更快的速度到达并被用于更新的技术。

Java没有像COBOL那样具有挑战性的开始,也没有具有存在性的挑战。 这可以解释为什么许多Java倡导者拒绝相信该语言可能曾经遇到过COBOL所面临的同样的逆境,也可能解释了为什么这么多人讨厌Java-COBOL比较。

Java最初是为交互式电视而设计的,最终成为当今的标准前端业务编程语言。 与COBOL一样,它在短时间内获得了普及-很大程度上是由于其平台独立性使其可以在各种系统上运行,并且得到了广泛的教导。

但是,无论其目前在企业发展中的足迹如何, 分析人士都声称 Java已经通过,并且IT 影响者长期以来一直在质疑 Java是否应继续作为计算机科学课程中教授的标准语言,就像COBOL一样。

这并不是说我们认为Java变得不相关了,正如某些人建议的那样。 它是活的,而且很好 ,而且从COBOL的历史中我们知道,该语言即将消亡的说法是虚假的。 Java在商业世界中占有一席之地。 它仍然是诸如银行,零售和大数据之类的组成部分,并且已经被现代流程和工具所包围。

但是,它已有20多年的历史了,并且逐渐受到批评 ,因为与Scala,Kotlin和Ceylon之类的语言相比,它是次现代的。 关键是,就像COBOL一样,Java也不是无懈可击的,它可能会被其他东西超越。 将COBOL的历史视为可能的预兆是明智的,但是观看COBOL的现代复兴也将是明智的。

展望COBOL文艺复兴

尽管大学中对COBOL的学术支持仍然很匮乏,但该系统之外正在出现一些新课程,重点是教授COBOL技能,并且公司正在采取主动行动并传授即将退休的专家的知识。

IBM愿意再次拥有该语言的所有权并对其进行现代化,这对于恢复COBOL的形象提供了巨大的帮助。 在2018年,将真正实现持续交付COBOL优化 。 常规版本的升级以前所未有的速度进行,例如在大约两年内从COBOL版本5.2升级到版本6.2,并且强烈鼓励大型机组织进行更新。

更值得注意的是,您现在可以像使用Java一样使用COBOL。 刚接触COBOL的程序员仅需要学习其语法,而无需了解其基础特质。 敏捷和DevOps最佳实践与专为自动化,图形可见性和跨平台集成而设计的新工具相结合,正在缓解学习曲线,并提高专家的工作效率。

并认为这一切都是在更广泛的IT社区将COBOL丢掉了将近二十年之后发生的。

Java可以做什么

如果Java程序员希望像COBOL一样避免他们的语言陷入黑暗时代,则必须先进行先发制人的复兴,然后才能发展壮大。 这种情况的开始可能会发生,这是一个好兆头。

例如,过去曾有人批评Oracle(Oracle) ,因为它“ Java技术的管理者不遗余力地致力于建立一个参与性和透明性的社区”,因为它没有更多地使用该语言。 作为回应,该公司将Java的发布周期延长至六个月,并且他们正在积极地将用户推向新的Java版本。 但是,仍然可能需要采取其他步骤,例如鼓励在学术系统之外进行指导和学习,因为Java可能会在学术系统中被取代。

尽管存在缺陷,但是像COBOL和Java这样的语言将在我们身边存在很长一段时间,尤其是考虑到其中编写的数百万行代码,其中编写的成千上万的程序员,为它们建立的工具和编译器以及广泛的生态系统支持他们。

但是,像COBOL一样,Java将需要进行调整以保持其地位和价值,因为将来会有一天,下一代程序员不了解它,就像今天的下一代程序员不容易理解COBOL一样。 Java程序员应该以COBOL为例,说明如何计划使该语言保持足够的现代性,以便那些在遥远的未来某天从未见过的人可以使用它。

如果COBOL可以做到,那么Java也可以。

这篇文章是由Compuware内容营销商Mike Siemasz和Compuware产品经理Jim Liebert共同撰写的。

翻译自: https://www.javacodegeeks.com/2018/06/java-becoming-cobol.html

cobol和java

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333344.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 6.0 dm-verity技术,Android 7.0安全性大幅提升,要求严格强制执行验证启动

在我们针对 Android 7.0 对 dm-verity 所做的更改中,我们使用了一个称为交错的技术,利用该技术,我们不仅可以从丢失的整个 4 KiB 源块恢复数据,还可从多个连续块恢复数据,与此同时,与朴素实现相比&#xff…

Java的final关键字

1.abstract 和 final 不能同时存在,因为自相矛盾,abstract 表示抽象,所以 abstract 修饰的类必须被实现才有意义,而 abstract 修饰的方法必须被覆盖重写(即实现)才有意义;但是 final 却表示最终…

zuul过滤器_Zuul 2 –样本过滤器

zuul过滤器Zuul 2终于开源了 。 我第一次听到Zuul 2年Spring由米奇科恩一个2016的讲就是可以在这里找到 ,这是好事,终于可以用它玩。 为了快速实现Zuul 2之类的网关的目的–网关提供了微服务生态系统的切入点。 由于所有客户请求都是通过网关路由的&…

Java泛型的学习

文章目录前言泛型接口定义实现类时指定泛型具体的数据类型定义实现类时,泛型与接口相同泛型接口的示例代码泛型类演示代码泛型方法演示代码泛型的通配符泛型的区间限定泛型应用泛型性能注意事项前言 泛型的本质就是将数据类型参数化, 普通方法的参数值可以变&#…

html2canvas截取图片不完整,html2canvas关于图片不能一般截取

题目起首说说遇到了什么题目。起首有这么一个需求。须要前端依据后端传过来数据,动态的天生图片。图片中的案牍、背景图片、用户头像全部都是经由过程后端的接口猎取。然则运用 html2canvas 天生的canvas有些图片胜利的在canvas里天生了。然则有些图片无论如何都显现…

shebang_Shebang来Java了吗?

shebang尽管添加对Unix风格的shebang ( #! )的支持从来不是 JEP 330 [“启动单文件源代码程序”]的主要目标,但围绕JEP 330“单个文件源程序”的潜在功能存在一些问题。为了支持Unix风格的shebang ,在OpenJDK jdk-dev邮件列表上引…

beetl模板引擎之自定义html标签,Beetl模板引擎自定义分页标签

1)在beetl.properties文件中配置tagTAG.page xx.xx.xx.xx.PageTag2)在模板中引用标签3)增加标签类继承自GeneralVarTagBinding类import org.beetl.core.Context;import org.beetl.core.GeneralVarTagBinding;import org.beetl.core.statement.Statement;import java.io.IOExce…

Java中常用集合类对比_集合比较

集合实现类集合接口有序性唯一性线程安全空值性能排序数据结构索引应用场景备注ArrayListList有序可重复不安全允许空值查找效率高,添加/删除效率低使用 Collections.sort() 传入ArrayList,会采用默认的方式进行排序(字典序)。自己…

java nio教程_Java NIO教程

java nio教程1.简介 Java NIO是Java 1.4引入的一个库。 自从Java NIO推出以来,它提供了另一种方法来处理I / O和网络事务。 它被认为是Java网络和Java IO库的替代方法。 开发Java NIO的目的是使输入和输出的事务异步和非阻塞。 阻塞和非阻塞IO的概念将在后面的部分…

qq html制作,jquery学习练习:制作QQ简易聊天框

使用html( )获取和设置页面内容使用val( )获取聊天内容使用addClass( )为指定元素追加样式使用数组保存聊天人员头像和昵称使用随机函数获取聊天人员的头像和昵称在输入框中输入内容,单击“发送”按钮,显示聊天内容,使用addClass( )为聊天内容…

IntelliJ IDEA 删除了快捷键后,如何找回来?

文章目录修改冲突快捷键删除了快捷键,如何找回修改冲突快捷键 删除了快捷键,如何找回 如上图所示,如果你删除了【Restore Default Layout】的快捷键后,如何找回来进行重新设置呢? 你可以按组合键【Command ,】&…

移动端设置html的字体尺寸,移动端开发元素及字体尺寸适配基础知识

刚看了一篇真正教会你开发移动端页面的文章(二),文章写的很清楚,现总结下他的核心思想及自己所查阅的一些资料:假设设计稿是iPhone6(iPhone6设备像素为750px;设备像素比为2,即其适口尺寸为375px)上有200px的方块box&am…

气味识别应用_解决气味

气味识别应用有时,我们在代码库中可能会遇到一些巨大的if语句。 这些语句必须维护并一次又一次地更改相同的代码块。 在if语句检查变量是否属于某个值范围内的情况下,这也是常见的。 假设您有一个枚举 public enum FoodType {FRUIT,VEGETABLES,RED_MEA…

IntelliJ IDEA for Mac 文件结构侧边窗口/类文件内部结构(File Structure)

文章目录显示或者隐藏类中的属性信息显示或者隐藏类中的非公开信息显示或者隐藏类中的字段信息显示或者隐藏继承自父类的内容显示或者隐藏匿名内部类单击导航的开关始终选择打开的元素通过定义类型进行方法分组类内部结构的节点排序类内部结构窗口可以按组合键【Command 7】打…

java.awt.api_Java SE 11(18.9)中的API更新

java.awt.apiJava SE 11也被命名为18.9(基于使用发布年份和月份的新命名方案),预计将在9月的最后一周发布GA。 频繁发布新JDK版本的新方法是允许语言创建者引入新功能,并向开发人员社区更快地更新API。 通常,API更新不…

卡西欧82es计算机怎么玩游戏,卡西欧计算器fx82es-如何使用卡西欧fx-82es计算器计算矩阵 – 手机爱问...

2009-12-24有关于卡西欧计算器的问题卡西欧计算机中,坐标变换计算方法:如将极坐标中距离为2,角度为60度的点,转换为直角坐标,可参考方式:选定角度单位,如选定“DEG”即使用“度、分、秒”;输入距…

Java中,为什么子类的构造方法中必须调父类的构造方法?

1.有父才会有子,即便父类什么东西都没有,也必须调父类的构造方法,这样符合现实的生命传承关系,符合 Java 的面向对象和继承的思想 2.如果父类有一些变量,那么调用父类的构造方法,就可以通知 JVM 把父类加载…

java批处理 异常处理_Java批处理教程

java批处理 异常处理在当今世界,互联网已经改变了我们的生活方式,其主要原因之一是大部分日常琐事都使用互联网。 这导致大量数据可用于处理。 其中涉及大量数据的一些示例是处理工资单,银行对帐单,利息计算等。因此,…

html 按钮防止多次提交,HTML点击提交按钮两次

我最近添加了一个CSS3焦点样式到一个表单的元素(它垂直增长,给更多的空间来写)。然而,现在当用户点击提交按钮时,textarea会失去焦点(和缩小),但表单不会提交,用户必须再次点击提交。有没有解决这个问题的方法&#xf…

Java的子类可以继承父类的私有变量和私有方法吗?

答:实际上继承了。 父类的成员变量(包含私有变量)和成员方法地址(包含私有成员方法)都存放在子类对象中。父类的私有变量和私有方法虽然在子类对象中,但是对于子类对象而言是不可见的,无法直接…