Answers:
我不这么认为,除非您已经进入仍然保留COBOL的利基市场。
不,当然不是。毕竟,COBOL是一门废话。还是?
这种观点的问题在于,像这样的站点中的程序员通常与高科技,快速运行(并且同样快速枯竭)的公司合作。对他们来说,COBOL是一门死话-无处可寻。现在已经有一段时间了,没错。
但是COBOL并不适合他们。对于软件行业而言,不仅如此。并非为那些非理性需要的人们发明了计算机,他们一直都在升级和替换旧计算机。它们是为商业目的而制造的。
您想看COBOL吗?转到处理工资单,处理货物运输或运输(如在船上)或处理您的银行帐户的公司。那里有一个巨大的看不见的代码系统,几乎对用户是不可见的,尽管他们每天以一种或另一种方式(ATM机)遇到它们,但大多数人从未考虑过它。
不,它还没死。但这肯定是“遗产”……还是?
同样,取决于您如何看待它。如今,许多人将使用Java,C或其他任何方式代替COBOL,从头开始重写...自然地引入新的错误。这并不是说COBOL没有错误和怪癖。它和下一种语言一样多。当然可以。但是在“ COBOL时代”,比一般人更重视错误的公司(保险公司,银行)往往会通过特殊质量的服务团队来产生更高质量的代码;今天,在最后期限之前,时间和预算总能赢得质量。而且,与现在的同类系统相比,这些系统最初的开发时间更长。
如果某些软件已经使用了30多年,那么转换的动机是什么?整个公司都倒闭了,因为他们忽略了“如果不破产,就不要解决”这句老话。许多人试图重写该东西……然后第一次重写就花费了很多,然后第二次重写甚至花费了更多……而那些新的和改进的东西都没有设法取代它。就像我说的那样,这个行业正在快速发展,并且也往往会很快忘记。
在70年代,COBOL死了或快死了,C / C ++将成为统治者。然后在80年代初,帕斯卡再次接任。然后在90年代,Java是The Language ...
想想Unisys Mapper,dBase,Clipper和Cold Fusion ...人们甚至还记得那些吗?他们每个人都将成为COBOL的掘墓机。
考虑到这一点,并且它非常适合处理大量事务,批处理或面向记录/事务的处理,并且可以编译(无错误)写成30年前作为托管COBOL代码的子例程并调用如果希望使用Windows和.NET,可以从托管的COBOL.NET中下载它,但我很难找到合适的替代品。(我也很难找到持续十年以上的微软技术。)
是的,今天正在编写新的COBOL代码。一个人只需要知道在哪里看。
对于嘲笑COBOL,恕我直言的人来说,就像嘲笑埃及金字塔一样,它们已经存在了5000年,并且在接下来的5000年里还会存在,而今天需要24个控件才能工作的“ hello world”房屋将被删除,更换,下个月忘记了。
那么那些COBOL程序员在哪里?
啊,因为这里有摩擦。问题是,其中许多人没有任何计算机科学背景。他们中的许多人都不是专业的程序员(例如从CS / SE计划毕业的大学)。在大多数情况下,他们都是30年代至50年代末各个专业领域的人员,完全由公司专门为该职位培训。因此,他们不是“ COBOL程序员”,他们所接受的培训是针对公司的,而公司是从内部大力推广的。这使得它们几乎不可见。
如果您可以将自己视为COBOL程序员,那就去吧。仍然有数十亿行用COBOL编写的行需要维护。
实际上,没有多余的知识之类的东西,因此要拓宽知识并扩大您(将)拥有的机会。
许多欧洲公司仍然严重依赖大型机运行,例如z / vse和cobol程序。对熟练的cobol程序员的需求没有人认为市场会充满,这极大地提高了薪水。
问题应该是,“我会使用cobol开发新的东西吗?” 因为几乎所有内容都是维护或现有关键任务的变更。
我曾经在IBM工作,每天都编写COBOL和PL / I代码。同样来自像许多银行一样依赖IBM大型机的大公司,这些语言每秒仍然需要数千笔交易,而这些语言仍在大量使用。
如果您不想在这样的地方工作(这就是为什么我在那儿工作了6个月),那么甚至不要考虑学习那些语言。
我们每天都在编写新的Cobol代码,并且一直在寻找新的程序员。这里附近的供应太少。
如果您想从事COBOL程序员的工作,那么一定要继续学习。
出于任何其他原因,例如尝试学习一些有用的东西,这些东西可能会帮助您使用现代编程技术,请不要打扰。
我可以告诉你
我是如何“学习”它的:我受雇使用它,不知道它是什么,也没有困难在一夜之间学习它。
因此,如果您需要它,您可以学习它。无需给自己增加无用的知识。除非您真的有实际需要,否则它或其约定没有任何有趣的内容。
通用答案:学习编码原则,而不是其特定实现(例如语言等)
我不会花时间在上面。
无论如何,COBOL是许多遗留应用程序的构建块,这些应用程序对于20到30年前成立的几家大公司来说都是至关重要的。
因此,如果您被聘用为COBOL核心业务一部分的公司,那么您就有机会开始学习它。
从工作市场的角度看可能不值得,但是您可能想看看它只是为了了解“在美好的一天”中工作是如何完成的。^^
我刚刚在澳大利亚最大的工作网站上搜索了“ cobol”。它返回了87个结果,(快速浏览)它们似乎主要是银行和金融机构的传统维护职位。通常,与基于“现代”语言的工作相比,薪水要好得多-大概是由于Cobol经验很少。
所以,是的,如果您1)不介意进行旧式维护,以及2)您想进入一个高薪且可能没有很强竞争力的利基市场,因为很少有人在学习,那么Cobol似乎值得学习。
(我假设在大多数第一世界经济体中,Cobol市场将是相似的,但可能是错误的吗?)
仍然有很多用COBOL编写的遗留系统。无论您是要维护它们还是将它们移植到其他编程语言,仍然值得学习COBOL。
无论是什么,都需要具有多种编程语言的知识,因为您所拥有的知识使您可以选择编程语言或方法来满足不同的项目需求。您可以使用编程语言中的知识来构造更好,更简洁和更有效的代码,并避免陷阱。