it-swarm.cn

COBOL仍然值得学习吗?

学习COBOL仍然有意义吗?

23
kiamlaluno

我不这么认为,除非您已经进入仍然保留COBOL的利基市场。

26
Wizard79

不,当然不是。毕竟,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程序员”,他们所接受的培训是针对公司的,而公司是从内部大力推广的。这使得它们几乎不可见。

36
Rook

如果您可以将自己视为COBOL程序员,那就去吧。仍然有数十亿行用COBOL编写的行需要维护。

实际上,存在no之类的东西,例如不必要的知识,因此扩展了您的知识和您(将)拥有的机会。

16
firusvg

COBOL

学习有意义吗?
好吧,这是一个利基市场,有很多正在工作的遗留代码需要维护,不能仅仅重写。因此,尽管这不是所有程序员的真正选择,但它是个人获得稳定收入的一种视角。

但是,如果您有兴趣创建新的解决方案,而不是慢慢地改进几十年来的解决方案,则COBOL可能不是正确的语言。

15
back2dos

许多欧洲公司仍然严重依赖大型机运行,例如z/vse和cobol程序。对熟练的cobol程序员的需求没有人认为市场会充满,这极大地提高了薪水。

问题应该是,“我会使用cobol开发新的东西吗?”因为几乎所有内容都是维护或现有关键任务的变更。

8
Patrik Björklund

我们每天都在编写新的Cobol代码,并且一直在寻找新的程序员。这里附近的供应太少。

5
user1249

我曾经在IBM工作,每天都编写COBOL和PL/I代码。同样来自像许多银行一样依赖IBM大型机的大公司,它们每秒需要数千笔交易,而这些语言仍然大量使用。

如果您不想在这样的地方工作(这就是为什么我在那儿工作了6个月),那么甚至不要考虑学习那些语言。

5
Carlos Muñoz

如果您想从事COBOL程序员的工作,那么一定要继续学习。

出于任何其他原因,例如尝试学习一些有用的东西,这些东西可能会帮助您使用现代编程技术,请不要打扰。

4
Andy Lester

在2000年,我读到一个统计数据,COBOL的行数比所有其他语言的总和还多。
另外,IBM保证在任何MVS系统上编译的任何TEXT卡座(目标代码)都可以在其所有MVS系统上执行,并且您可以保证,只要Sun能够进行COBOL编程闪耀。

3
Dave

我可以告诉你我如何“学习”它:
我受雇使用它,不知道它是什么,也没有困难在一夜之间学会它。

因此,如果您需要它,您可以学习它。无需让无用的知识让自己超负荷。除非您真的有实际需要,否则它或其约定没有任何有趣的内容。

通用答案:学习编码原则,而不是其具体实现(例如语言等)

毕竟,如果您愿意学习它,那么知道事情是如何工作的(或曾经工作过的)并不是一件坏事。

但是,我建议您不要在简历中过分强调您的COBOL技能。

在某些地方(例如,我居住的硅谷),简历中包含COBOL将会成为一种责任。哦,可以肯定,您可能在这里和那里找到需要您专业知识的地方,在这种情况下,继续做广告--​​仅限于这些地方。但是总的来说,请帮个忙,忘记提及您知道COBOL。

所以是的,如果您好奇,请学习它,只是不要告诉任何人。

2
Julio

我不会花时间在上面。
无论如何,COBOL是许多遗留应用程序的构建块,这些应用程序对于20到30年前成立的几家大公司来说都是至关重要的。
因此,如果您被聘用为COBOL核心业务一部分的公司,则有机会必须开始学习它。

2
systempuntoout

从工作市场的角度看可能不值得,但是您可能想要看看它,只是为了感觉“在美好的一天”是如何完成工作的。 ^^

1
gablin

从个人的角度来看,我想说的是首先要学习的更好的东西。但是,许多大公司在他们的COBOL代码库上投入了巨资,而他们可能永远无法真正落伍,这为COBOL程序员创造了一个维护代码库和编写新代码的行业。我工作的公司是一家大型金融公司,我们为开发人员分配的技术大约是30%COBOL,40%Java和30%C#。

1
Chris Knight

我刚刚在澳大利亚最大的工作网站上搜索了“ cobol”。它返回了87个结果,(快速浏览)它们似乎主要是银行和金融机构的传统维护职位。通常,与基于“现代”语言的工作相比,薪水要好得多-大概是由于Cobol经验很少。

所以,是的,如果您1)不介意进行旧式维护,以及2)您想进入一个高薪且可能没有很强竞争力的利基市场,那么Cobol似乎是值得学习的,因为这已经很少有人学习了。

(我假设在大多数第一世界经济体中,Cobol市场都是相似的,但是可能错了吗?)

0
Bobby Tables

考虑一下您要处理的问题域的类型。通常,这些域具有一组通常用于此目的的语言。如果COBOL匹配,则继续。

我根本无法触及cobol或在10英尺长的杆上大量使用它的问题域。我宁愿倒汉堡。

还应考虑该语言是否对您的编程能力/概念有所帮助/改进。我想不出COBOL所做的任何事情/实现/功能没有做得更好或者可以用另一种语言更好地演示。

您和其他人可能会有不同的感觉。

0
Tim

仍然有很多用COBOL编写的遗留系统。无论您是要维护它们还是将它们移植到其他编程语言,仍然值得学习COBOL。

无论是什么,都需要具有多种编程语言的知识,这是一个加号,因为您拥有的知识使您可以选择编程语言或方法来满足不同的项目需求。您可以使用编程语言中的知识来构造更好,更简洁和更有效的代码,并避免陷阱。

0
Adrian Hoe