为什么年轻的程序员对大型机不感兴趣?[关闭]


51

大型机的关键问题是支持程序员的队伍正在减少。虽然通常这不是问题,因为程序员的供应减少会被薪水的增加所抵消,而工资的增加会通过供求法则导致程序员的供应增加,但我不确定这是否真的会发生大型机。

尽管它们仍然构成许多企业的关键基础架构,但简单的事实是,没有足够的年轻程序员来保持支持人口的增长。

为什么是这样?是什么使大型机对年轻程序员没有吸引力?


40
1.)它们很昂贵2.)似乎没有模拟器,或者您可以在VM中加载某些东西(?)3.)在大型机上工作时,一定要系好领带。:)
Ingo

8
如果我白天是一名Web开发人员,那么我可以在周末为其他人赚一些钱。大型机并非如此。而且,大型机开发人员无法像Facebook和Twitter以及《愤怒的小鸟》那样“征服世界”。最后,这项工作对我的下一份工作有帮助吗?
Job

86
我是一个年轻的程序员。我从未见过大型机,从未使用过沙箱/虚拟大型机,从未有朋友走过来对我说:“这真的很酷,请检查一下!”。我每天都在浏览网络,有现成的-免费的-webapp开发学习工具,我所有的朋友都在其中做一些有趣的事情。我要选择哪一个?(尽管,如果我确实可以访问它,我一定会检查出来,只是因为它可能很有趣...(评论,因为这本质上是下面所述的+1 ...)
Beekguk

5
Beekguk如果没有虚拟大型机可以玩,那是因为您没有去寻找一个大型机。
只是我的正确观点,

48
我已经进行了大约35年的编程工作,不知道您所说的“大型机”是什么意思。如果我有一台运行Unix的128处理器的计算机,那么它是大型机吗?还是您的机器运行的是过时的操作系统,而其应用程序是用过时的语言编写的?
凯文·克莱恩

Answers:


98

我是一个老程序员,对大型机不感兴趣。我的理由可能与年轻程序员给出的理由相似,尽管在许多答案中都没有如此明显的技术无知。

首先,让我们消除无知:

  • 无法尝试大型机的各种说法都是错误的。 Hercules自1999年以来就可以使用了-可能比许多回答编程的人都久了-尽管IBM一直在抱怨它,但是它很快就消失的可能性很小(特别是考虑到它是开源的)。实际上,虽然您不能(合法)运行昂贵的软件,但是可以在其上运行很多软件,其中包括实际上仍然相当普遍使用的软件。
  • 同样,与公众意见相反,大型机的功能远远超出了COBOL,CICS和RPG2。实际上,您可以在运行Linux的PC上几乎(但不是完全)运行任何东西,也可以在大型机上运行。<讽刺的> 我不确定为什么。</ irony>

那么,为什么在学校遇到大型主机后我一生都避免使用大型机?好:

  • 的确,您可以在大型机中使用的不仅仅是COBOL,CICS,RPG2等,但是如果您与它们一起使用,则赔率非常高。甚至更糟的是,尽管在过去的二十年左右的时间里,COBOL进行了大规模的“现代化”(加引号,因为我仍然认为这不是一种非常现代的语言),但是您在COBOL中所做的大部分编码仍将是旧的风格的代码,因为...
  • 大型机中几乎没有实际的新开发。如果您在IBM的大型机研发部门工作,那么您可能有机会进行新的开发(在这种情况下,您甚至可能真的很喜欢您的工作!)。但实际上,面对现实:您不会在那里工作。您将在某些金融机构的后台或其他维护50年的COBOL代码的后台工作,而该代码由仍认为64KB是巨大的'o'RAM的人编写。(这个人可能是你的老板。)
  • 确实,您可以在大型机上运行Linux,从而可以访问几乎任何您想要的编程语言或环境,但是,就像为IBM的大型机研发工作一样,您将无法获得这份工作。回到维护那个已有50年历史的COBOL。
  • 企业编程非常有效地吸引您的灵魂(请记住,除非您非常幸运,否则您将作为大型机程序员来进行企业编程)。
  • 这是一个贫民窟,而且是一个不断缩小的贫民窟。(就像这样的MUMPS。)如果您对大型机的知识过于沉迷,则您与非大型机之间的距离会更远。你可以试试跟上,但你不会。我知道有人指出大型机的销售量增长了,而其他服务器部门则有所减少,但是如今服务器编程已成为少数。地狱PC总体上正在失去重要性。编程的世界非常广泛,而且非常多样化,与一个微小的部分相比,其中一个微小的部分增长了,而与像iPhone这样琐碎的东西突然出现的爆炸性增长相比,这毫无意义。少数平台-到目前为止)。不,开始在大型机上工作,您将只有其他大型机可以与您分享您的想法,喜悦和愤怒–他们是垂死的人。这会导致负反馈回路,使畜群收缩进一步加快。

我敢肯定,大型机程序员可以给出很多理由来说明为什么这个职业是有意义的,充满欢乐和有趣的挑战。确实,我从试图招募我进入该领域的人们中听到了很多。最后,我仍然不服气,主要是因为贫民窟的问题。如果我发现自己不喜欢它,该如何离开?


11
“如果我进去发现自己不喜欢它,那我怎么出去?” ---走了?
亚伦诺特,2011年

36
去哪里?我维护50年历史的COBOL的技能并没有转移到编写性感的Web应用程序或iPhone / Android应用程序或其他内容上。
我的正确观点

24
如果你能在两个月内找出工作的整个领域的来龙去脉你更明亮的人比我
只是我正确的舆论

11
@Aaronaught在竞争激烈的IT世界中,如果您花了几年时间才能真正达到大型机合理速度的开始,您就不会失去以前的技能,但是当您寻找其他人时,您的吸引力就会自动降低就像您花了两年时间从事林业或管理星巴克一样:看起来与别人看起来不一样,看起来您甚至陷入了困境,甚至一点点都不对您有利。
马修·弗雷德里克

5
@Aaronaught我同意你可以走出去,而且它不会永远毁掉你的事业,没有那么夸张的东西。我确实认为这会降低您的竞争力,并且对大多数现代雇主而言,这不会比其他有思想的工作对您的职业有更多帮助。 。
马修·弗雷德里克

59

我今年27岁,已经成为专业开发人员超过4年了(因此,我希望这使我还年轻)。我还担任集成专家,因此对大型机开发世界有很多了解。

  1. 社区中几乎没有创新正在进行。
    我知道情况并非完全如此,但对于临时观察者而言,情况似乎确实如此。没有人愿意涉足难以“留下自己的印记”的领域。
  2. 有多少新开发项目或新项目正在发生?
    据我所知,没有。如果您进入这一领域,就意味着您将永远成为维护程序员。
  3. 临时学习者无法访问。
    大多数人开始学习在家中如何在PC上编程。同样,大多数人不喜欢从他们所知道的地方切换。因此,从一种过渡到另一种需要时间和动力。鉴于其他两个原因,接受者并不多。

20
+1:根据我的经验,这很好。绝对不得已的方法是在旧系统上放置新代码,并且许多古老的产品线都不再受支持,因此旧的“可靠性”产品线开始受到打击。您没有提及的一件事是大型机维护非常具体且非常专有。您将自己的一生都投入了死去或垂死的技术分支。除了在相同类型的系统上工作的工作之外,这不会帮助您获得任何工作,并且这些工作一直都很少。
2011年

即使在普遍不景气的经济中,IBM大型机的销售也在增长。这并不是真正的快速增长,但是比他们的竞争对手要多(他们刚刚超过惠普在服务器销售中排名第一)。
杰里·科芬

我倾向于在社区中徘徊所谓的“创新”。我发现它是一个相对封闭的社区,导致缺乏对大型机世界正在发生的事情的更广泛的了解。〜我同意临时学习者无法使用它。用IBM的术语来说,尽管我认为解决大学访问问题很有趣,但我认为确实需要解决类似问题,特别是在一个连接良好的世界中。
temptar,2011年

25

我将在9月份年满40岁,所以我不知道这是否使我不再具有年轻人资格,但我确实对为什么某人可能不想成为大型机程序员有第一手的个人知识。

我工作的最后十年一直致力于大型机编程。了解所有有关批处理,jcl,Cobol,Assembler,Easytrieve,CICS和Web Services的知识,我非常喜欢它,并且即使没有注意到趋势也仍会这样做。我最后的工作地点是让我与Web开发人员(jsp,javascript,spring和hibernate)并肩工作,我注意到该公司正在引进具有多年工作经验的Web开发人员,并获得了更多的收入。更不用说网络开发人员的压力减轻了很多。

厌倦了这种趋势之后,我决定退出大型机业务。现在,我可以使用Java开发Web服务,并使用JavaScript开发前端UI。这种编程风格并不比我在大型机上做的难,但是现在我赚了很多钱,头痛也减轻了。我不再在凌晨2:00接到电话,异常终止,核心系统进程正在等待我解决问题。因此,给我一个很好的理由,为什么当我可以赚更多的钱并且减少作为分布式系统程序员的生活时,我仍会继续担任大型机程序员?

我敢肯定,在某些情况下,公司会向大型机以及分布式系统人员付费,但我个人还没有找到它们。另外,我开始从两种角度进行求职,发现分布式系统的工作清单至少比大型机的工作清单多10个到1个。这告诉我,目前对于我来说,拥有更好的工作机会并不是大型机的地方。是。


有趣的是你这么说。我比您小一岁,并且注意到非常相似。我几乎要问这个问题。
temptar,2011年

我以为大型机的
工作量

2
我认为,如果您想成为一名程序员,每年赚一百万美元,那么做的方法就是成为BigAmericanBank中最后一个知道他们的银行系统如何运作的人。
沃伦·P

在关键的银行系统中,处于警戒状态的人员(例如,在凌晨2点接到电话)通常收入最高,这是如何使您的收入减少的。
ALXGTV

19

到目前为止,与Linux和Windows相比,大型机和中型机的基本问题是必须预先付费才能使用它们。并付出很多。每年。为了一切。

这根本不是使学生对某事感兴趣的方法,因为他们买不起。如果对他们不感兴趣,他们可能不会自愿从事这项事业。

不幸的是,IBM的商业模式不允许将机器廉价地提供给学生,否则他们可能有机会对此进行更改。


4
+1-不仅服务器昂贵,而且许可证也可以用于获得任何基本互操作。
Morgan Herlocker 2011年

是的,尽管IBM主要针对较大的政府和公司组织。他们出售视力训练和维护。许可证仅占操作系统总成本的一小部分,而且仅需一部分人员即可保持其运行。IBM为什么要收费这么多,这是因为他们有专门的人员来处理这个领域。
乍得

不,这是因为他们意识到自己可以继续与他们的客户保持联系,他们对此没有选择。出于某种原因,它被称为锁定。
沃伦·P

IT是一个奇怪的行业。您不能在地下室使用大型机,就像您不能在地下室使用喷气发动机一样,仍然有一些人在使用Dreamliners和F-35。
el.pescado 2015年

14

我作为程序员的第一份暑假工作主要是基于抓取绿屏和PRN文件。那时,我可能不介意在COBOL上弄脏我的手(也就是说,如果他们作为一个学生对我足够信任,可以让我加入该代码),但是我不确定我是否会对COBOL感到同样的方式。今天的前景一样。

我不认为这个问题实际上与大型机本身有关。这是我们行业(通常有道理)对新事物和新事物的痴迷。

看C。C显然仍然是至关重要的语言。几乎所有嵌入式代码和大多数操作系统都是用C编写的。但是,找到C程序员变得越来越困难。快速浏览Stack Overflow标签页面时,将其大小设为的1/6 [c#]和1/4的[java]。有人记得C在本质上是主导语言,可以说是镇上唯一的游戏吗?

程序员喜欢强大的工具。也许是因为(SPECULATION ALERT)大多数程序员都是专家。您给Java或.NET程序员一个复制文件的任务,很多(如果不是大多数的话)仍然会选择用Java或C#编写它,而不是编写DOS批处理文件或* nix shell脚本,而这是50倍。更快地编写和部署。当您拥有一个可捕获500条鱼的巨大可伸缩网时,为什么还要使用鱼竿和渔线轮来钓鱼?

是的,COBOL和PL / I很,但Pascal也是如此,并且它仍然活跃并且以Delphi的形式出现。对前者的反感可能是由于这些语言与现代工具相比笨拙。面向对象在COBOL世界中仍然是一个相对较新的概念(相对于强调),但是在C#世界中,LINQ和泛型以及AJAX在几年前就不再是革命性的。让习惯于这些工具的开发人员开始在大型机上编程,就像让摇滚音乐家开始在班卓琴上演奏一样。

当然,也存在自我永存的刻板印象的问题。只要年轻的程序员认为这没有什么让他们在大型机(无论它是否是真实的),那么任何年轻的程序员谁选择进入它最终将花费大部分的日子周围的人老得多。首先,IT并不是一个具有社会吸引力的职业,但是对代沟的进一步抑制使它趋于低于许多人的痛苦门槛。没有冒犯的意思-我个人一生的大部分时间都在与年龄较大的人一起工作,但并不是每个人都有这样的背景或能力。

最后,大多数程序员不喜欢维护工作,并且几乎所有大型机工作都是维护工作。用PL / I编写的软件并不多。完全很大程度上围绕维护代码定义的任何工作都会自动以负分数开始。

阳性就遗留代码工作(“传统”围绕大型机和许多其他的东西),这你可能需要打上去,如果你想吸引年轻的人群:

  • 正如您所说,这些系统是关键基础架构。至少在商业世界(而非Google / Microsoft)中的年轻开发人员通常没有机会产生任何实际影响。在您知道几个月或几年之后将被废弃或被取代的系统上工作令人沮丧。已经运行了50年的大型机应用程序可能会运行更长的时间,因为对于公司而言,重建它们没有任何意义,因此您在其中进行的工作实际上对很多人来说都很重要

  • 如果你是那些少数几家公司之一,实际上具有倾斜度的“升级”,那么很多程序员,无论男女老少,都会被这样的机会所吸引,因为接下来还有对关键任务的代码打交道的双胞胎机会发挥一些C#/ Java的力量。显然,没有一家理智的公司会报废大型机并从头开始进行重建,但是我看到的系统(例如)具有与Java组件集成的COBOL内核。

  • 最后,这是必不可少的-至少在我们的局外人看来是这样。当您所有的代码都位于.NET中时,总会有所有者将您换成刚从大学毕业或更糟糕的毕业生,离岸团队交易以降低成本的误导。我不认为这种情况在大型机世界中经常发生,特别是如果您所说的是正确的,并且供应似乎在减少。当然,如果您支付的金额不够,这一点是没有意义的。需要调整薪水以反映供应的减少,否则人们将不会“出售”。

我敢肯定,那里有许多年轻的开发人员,他们不会拒绝一家公司的合理慷慨的报价,而该公司似乎正在竭尽全力使工作环境吸引年轻的员工。但是,如果您想吸引他们,那么明智的做法就是发挥自己的优势,甚至可能必须开始做一些营销工作;我们倾向于将大型机视为一个与众不同且非常陌生的世界,而且我敢肯定,十年前在校园招聘会上我没有看到你们在努力改变这种看法。

归结为一句话:没有什么使大型机没有吸引力,仅仅是没有什么使它们具有吸引力,与出血边缘相比,这使它们处于严重的劣势,后者为我们提供了巨大的生产力提高和免费软饮料。


12
6年前,我的商店里有4位20年以上的大型机程序员,而现在我们还没有。不要开始思考经验会使您不可或缺。
2011年

1
@aaronaught:被解雇,被解雇,买断,退出。什么新技术?这是一个大型机环境。30年来,它没有发生太大变化。新硬件,升级的操作系统,同样糟糕的程序。当它们消失后,我们将他们所做的95%的工作转移到了外部系统上,其余的则由我们进行了最少的维护。对于我的公司而言,这几乎是过去十年左右的发展历程。
2011年

3
@aaronaught:您必须了解该过程,但是代码通常可以散散步。为了绕开系统的限制,做了很多事情。例如,如果我必须将加密的信用卡批次发送给我们的商户提供商,则实际上可以从现代Linux机器上进行加密。而且,报告要容易得多:我们进行大量的报告和预测,其中大部分是在历史数据上完成的,因此我们可以卸载数据集并将其放在现代数据库中,然后使用Crystal报表(或其他任何方法)生成浮华的报告。
2011年

2
在C语言上-问题可能不是“开发人员少”,而是“语言更简单,更稳定,需要询问的问题更少”?毫不奇怪,C#产生了很多问题-不断涌现
Steve314 2011年

3
编程已经脱离了C提供的底层抽象,我们为此做得更好。除非您是C专家级开发人员,否则使用C编写将花费您更长的时间。如果您是代码猴子类型的开发人员,则将有更多的时间。我宁愿浪费时间来解决特定于域的问题,而不是奇怪/奇异的语言问题。
Zoran Pavlovic

9

我很年轻(30多岁),目前从事大型机支持工作。RPG,COBOL,专有4GL废话。开发速度很慢,并且在可能的情况下会使用更多现代语言迁移到更现代的硬件。

与现代系统相比,大型机的开发非常繁琐,以至于大型机本身倾向于降级到后端,而使用更现代的语言来执行过去在大型机本身上进行的报告和数据转换。在这一点上,我们甚至已经将大多数数据输入转换为批处理驱动的流程,因此服务器上仅剩下的事情与计费有关。

尽管进入市场似乎是一个不错的利基市场,但我认为许多公司已经意识到他们不再需要这些系统了。在金融世界中,变化发生得很慢,但是确实发生了。


我认为,即使在没有意识的情况下,您也可以在某种程度上知道可以在大型机上使用任何语言,对吗? 这是一个小提示。
只是我的正确意见,

@JUST:Linux是一种编程语言?发布一个linux网站有点让您年轻。绝大多数大型机是在linux成熟之前部署的。一旦大型机成为规则,也不例外:它们是服务器,所有终端都是带有绿色屏幕的哑终端。将现代超级计算机与那些类似的东西混在一起会遗漏原始问题的重点。
2011年

Satanicpuppy:显然,您并没有被教导要阅读年轻人的话,所以请允许我为您清楚地说明一下:如果您可以在大型机上运行Linux,则可以在同一大型机上运行许多Linux软件。这意味着您可以运行大多数无需机器特定块即可编译的编程语言。够清楚了吗?(我之所以称其为“线索”而不是“答案”是有原因的。)
我的正确观点是

5
@just:专用数据库有哪些连接器?对专有数字格式有什么支持(有人BCD吗?)我为什么要在那台机器上乱糟糟?您只是在强迫自己在应该远离的机器上做更多的工作。
2011年

1
您甚至不需要运行LINUX。当前的z / OS一代本机支持C,C ++,Java等。USS环境是100%兼容POSIX的(比Solaris所说的还要多)。
詹姆斯·安德森

9

我个人不了解大型机的市场优势。

快速处理数字和数据?为什么我不能在服务器场中分发它进行处理,还是不能购买功能强大的“常规”服务器。

高冗余性和可扩展性?我宁愿拥有一个Linux服务器场或一组虚拟服务器。

虚拟化和多个OS?也许使用这种策略而不是“云”策略会有很大的性能差异?

尽管我想更详细地了解所有这些内容,但是对于为何不为那些系统编程,缺少对大型机与众不同的有用解释是主要原因。


乔丹,* nix中的大多数东西都在IBM大型机上使用了多年。高冗余性和可伸缩性非常吸引人,并且有迹象表明,与同等服务器场相比,大型机具有更低的碳/能源足迹(以及能源成本)。从长远来看,这最终是否可行,取决于是否有人愿意经营。我认为不会。
temptar,2011年

8

我今年25岁,目前在MSCS程序中工作(我的背景不是CS),并且我对大型机绝对感兴趣。问题是,我不确定从哪里开始。我看过COBOL,但不知道在哪里可以得到像样的编译器(甚至不知道对于COBOL来说像样的编译器是什么,我知道有一个开源编译器,但不确定其质量如何)。我只是没有看到很多信息,并且说实话,寻找时间是我可以积极从事.Net或Java项目的时间(我更喜欢.Net,但学校作业是使用Java的) 。像@Joshua Smith一样,我确实担心,如果我进入大型机,这将是我的生活,但我也发现它们比Web应用程序和整个Web 2.0的狂潮更有趣(叫我疯了)。对我来说

底线是这样的:

(1)我无法随时获得信息以学习进行大型机编程所需的知识
(2)在我这一刻,我只想能够以编程为生,并且.Net和Java允许我在学校时要朝着这个目标努力,因为在我的职业生涯结束时,我有很多资源可以用来学习并学习如何拿出自己的投资组合
(3)我很难被卡住做一些我不喜欢的事情,而只从事大型机工作可能会卡住我,这让我感到有些恐惧(尽管我知道有很多方法可以解决,例如在业余时间刷新东西,为开源做出贡献)


快速的Google展示了freebyte.com/programming/cobol-我不提倡学习COBOL,但是如果您决定这样做,则可以使用编译器。
Steve314

如果您不想去Cobol,尽管我不使用汇编语言,也可以选择汇编器,但是有可能您可以在Hercules仿真器上找到汇编工具。
temptar,2011年

6

这只是我作为年轻程序员的个人观点。我之前从未在大型机上工作过,所以我无法从第一手经验谈起。但是,事实就是如此,我从来没有做过任何事情,也没有预料到它会很快发生。我不确定您想在大型机和简单服务器之间划清界限,但是当我想到大型机时,我预想了一些庞然大物的IBM机器,例如Z系列900,每天仅需花费35美元。我不会在任何时候很快在地下室里找到其中一个来补充我的业余时间。尤其是当我可以拿起一台旧机器,在其上放置ubuntu服务器并轻松托管任何我喜欢的东西时。如果我有问题,Linux社区很大,其他人也有可能遇到我的问题并在线发布了解决方案。我只是在猜,


1
您的地下室不需要Z系列900。您可以在PC上运行Hercules,甚至是旧的PC。
我的正确观点

我没有“地下室”的说法。您不能在地下室使用喷气发动机,也没有有关如何制造潜艇的教程,也没有可供核反应堆使用的开源软件,但是全世界的工程师都以某种方式学习了这些东西。
el.pescado

6

10年前,当我进入工作队伍时,我开始从事大型机工作。我以前从未接触过大型机。

有几个方面我不喜欢,所以我尽可能地停止了大型机工作:

  1. 编辑代码非常原始。您基本上只是在文本编辑器中工作,固定为ALL CAPS和80个字符行。没有代码完成或语法检查。
  2. 编译是通过开始一个批处理作业来完成的,然后计划并在某个时间点运行,如果幸运的话,通常在接下来的5分钟内运行。如果您有输入错误,并且代码没有编译,请重复几次。
  3. 没有任何形式的调试器。通过打印出变量值并重复漫长的编译步骤来完成调试。
  4. 我们所做的更改总是非常保守。我们以20年的遗留代码为基础,唯一的文档手写在纸柜中某个地方的纸上。另外,这是财务代码,因此没有容错性。因此,与预先进行的研究相比,实际的编码步骤最少。

(OTOH,在这段时间内,他们确实具有非常先进的版本控制和代码升级。)


2
尝试使用“ CAPS OFF”(小写)来使用小写字母,使用“ SYNTAX”来突出显示和检查错误,您的记录长达32K,那么您可以轻松地对其进行编辑。交互式编译自1974年以来就可以使用,但是大多数程序员更喜欢后台批处理作业,这与Java程序员使用ANT脚本的原因大致相同。调试器永远存在。
詹姆斯·安德森

我想可能有一家银行,那里的程序员都不知道如何使用其巨型恐龙操作系统附带的现有原始1960年代命令行调试器。
沃伦·P

6

考虑加入大型机员工队伍的两个原因:

  1. 很好
  2. 有大量的开口

大型机领域中的灰色劳动力正在并且将在该领域中创造大量的空缺

我在一家大型金融公司工作,在未来五年内,我们将失去约30%的员工退休。这个数字将在10-15年内成倍增加。

更多原因:

  • 我在该领域工作了25年以上,从未感到无聊。
  • 更少的工作竞争。
  • 别再抱怨这项技术了(请参阅上面的一些帖子)……它可能已经过时了,但是从许多方面来说,它比开放系统要光明几年。HTML-休息一下。它与我30年前在大学学习的Basic非常相似。我们远远超出了。
  • 大型机快速可靠,经过实践检验。
  • 如果您非常聪明并且喜欢解决问题,请尝试使用系统编程。
  • 作为团队负责人,我希望我能找到训练有素的年轻技术人员来填补空缺。
  • 我是否提到它能赚钱?
  • 除软件开发外,其他大型机职业选项-硬件工程师,存储技术,网络等。
  • 这很有趣,令人兴奋,充满挑战,而且职业发展很大。
  • 不要再将大型机视为旧技术了-检查一下并验证我所说的一切。

另请参阅IBM的System z学术计划。


5

我仍然是一个年轻的程序员(我29岁),我绝对不对学习大型机开发感兴趣。我在.NET团队的一家保险公司工作,但我们也与大型老式大型机程序员团队合作。

有几件事使大型机世界对我没有吸引力。首先,有COBOL。我知道世界上很多地方都使用COBOL,但是这在我看来并没有那么难看。

接下来是“周期”的概念。我不知道这对于大型机是通用的还是只是我们做事的方式,但是我们的大型机必须运行一个通宵的周期才能从中获取最新数据。我们商店的.NET端大量参与向大型机发送数据和处理大型机中的数据(特别是在内部LOB网站上为代理显示大量数据)。业务希望显示给代理商的数据是最新的。但是,大型机不在我的(有限的)实时概念内运行。我们有一些疯狂的解决方法可以在网站上模拟第二天我们期望的大型主机的实际输出。

最后,我坚信,如果我现在要进行大型机开发,它将主导我的职业生涯。我认为我作为现代开发人员的技能将越来越落后,最终达到COBOL维护将是我唯一的选择。我知道,现在,尤其是从现在起的十年里,将会有丰厚的收入,但是在我的职业生涯中,金钱是我的第四或第五。如果宁愿从事新颖有趣的事情,我宁愿继续赚我可观的薪水。


您的周期听起来像是设计不良的过程。大型机可以轻松交付实时或接近实时的数据。它昂贵,但可以做到。
bot403

4
@ bot403:我相信你。设计不良的过程是我们的专长。
约书亚·史密斯

@Joshua,看起来丑陋的任何特定原因?为什么其他语言对您来说看起来更好?

@Joshua我处在非常相似的情况下(虽然还在不断上升)。从我所看到的,很多主要的成帧器都有批量处理数据的历史。您何时运行批处理?在午夜。该过程每天晚上需要5个小时,因为它们一次只能完成一整天(或一个月)的工作。他们中的一些人如何错过整个“事件驱动编程”一事似乎有些奇怪,但是对于80年代的大型机来说,实时性并不是一个重要的优先事项。
Morgan Herlocker 2011年

2
@ThorbjørnRavn Andersen:我没有贬低COBOL程序员。该语言似乎不必要地冗长。我不能让我的身边打字头MULTIPLY Num1 BY Num2 GIVING Result.时,我可以键入result = num1 * num2;
约书亚史密斯

5

我主要使用Java,但是我们在后端使用大型机,这意味着我必须处理很多(RPG)。我遇到的最大问题是缺乏公开可用的文档。您可以找到用于DB2的SQL文档,这些文档通常会转换为iSeries DB2,但是publib.boulder与Sun javadocs相比非常糟糕。

我不喜欢的另一件事是难以理解主要大型机语言的语法。RPG没有局部作用域的概念,这意味着您需要巨大的变量声明块。我认为科博尔也遇到同样的问题。这也导致无意义的变量名和隐藏的含义。它也具有许多很难找到的内置函数(请参见上文)。它使我想起为什么我不再使用BASIC进行严肃的编程了。值得庆幸的是,IBM正在尝试将所有人都迁移到Java,但是那些传统语言不会很快消失。

我发现很难在这样的环境下学习编程感到兴奋。


3
+1为无意义的名称。我正在将RPG中的大型ERP系统替换为.Net。编写该程序的程序员具有某些语言的背景,该语言的变量名限制为6个字符。除了保持该约定有效之外,他还继续在所有代码文件上使用打孔卡符号,因此它们每个都有“ CardID”,并且必须按文件ID的顺序执行。将其与几乎从不使用唯一ID或数据中的任何关系设计结合起来,这几乎使我永远也不想接触大型机。
Morgan Herlocker 2011年

“我最大的问题是缺少公开可用的文档”。+1另外-可能由于许多大型机的年龄分布,与其他技术部门相比,互联网支持社区受到严重限制。
temptar,2011年

@Morgan-关系数据库是在大型机上发明的。特别是i系列,一切都使用关系数据库。
詹姆斯·安德森

1
不幸的是,您仍然可以像使用平面文件一样使用关系数据库,有些人也可以使用。
Michael K

5

看,我今年42岁,对大型机不感兴趣。好吧,让我们证明一下。我对计算的历史很感兴趣。我在某种程度上研究了大型机体系结构,并了解了IBM大型机如何影响诸如Motorola 68000或80386的微处理器体系结构。在1960年代,大型机已经以超过30 Mhz的速度燃烧,并采用了具有虚拟功能的高级多任务操作系统。回忆。对于那些习惯了这些环境的人们来说,早期的微处理器在许多方面都令人失望,并且基于微处理器的体系结构花了相当长的时间才能赶上类似的功能和性能。

但是赶上那些架构,大型机早就不再是“时髦”了。黑客可以在台式机上安装微型计算机,然后在运行Unix的工作站之后不久发生这种情况。

自1980年初以来,大型机对于年轻的程序员一直是陌生的。对于大型机公司来说,这可能是个很好的时机,问自己一个问题。

今天的答案是跨代递归的:年轻的程序员对大型机不感兴趣,因为即使他们有父母或老师对计算感兴趣,那些父母和老师(像我这样的40多名怪胎)对四分之一的大型机已经不感兴趣。一个世纪以前。

无论如何,今天,一部手机可以处理30年前使用大型机的任务!廉价服务器机箱的农场是新的大型机。因此,从某种意义上说,今天有新的大型机程序员,只有他们的专长是将联网的机器组合在一起以构建云。可以这么说,可以说马克·扎克伯格和他的帮派在生产Facebook时正在进行一种新型的大型机编程,从某种意义上说,不仅仅是一个小应用程序可以在带有磁盘的简单微处理器上运行。

顺便说一下,大型机的最后一项特色是虚拟化。但这现在在台式机/服务器计算机中无处不在。人们最初使用软件技术开始做得不好。虚拟机非常有用,用户不会介意性能下降。然后,像英特尔这样的公司再次考察了大型机,并通过在硬件中支持虚拟化以使其快速实现而吸取了更多教训。


1
+1表示“自1980年初以来,大型机对于年轻程序员来说一直是陌生的。对于大型机公司来说,这可能是一个很好的时间来问自己一个问题。”
凯尔·霍奇森

3

学习网络,手机或PC开发相当便宜且容易。

甚至旧旧的大型机的硬件成本也很高,IBM经常对Hercules模拟器项目(让您模拟System / 370,ESA / 390和zSeries)感到不满。没有Hercules,这将使学习主机架构和应用程序开发的入门成本超出最富有的业余爱好者的负担。

自80年代以来,我没有上过大学,没有供学生使用的大型机。我认为IBM和大型机行业的其他鬼魂使自己步履蹒跚,使他们不易学习。


1
Hercules是否还会模拟您需要的各种昂贵软件(曾经是IMS和CICS之类的东西; DB2已经取代了IMS(或者我衷心希望如此))?
David Thornley,

1
当然,它不会模拟软件。您必须从其他地方购买该软件(或使用Linux / 390或类似软件并做任何您想做的事情)。
我的正确观点

1
@David,不,它不包括(价格过高的)软件。只是操作系统。
Tangurena

3

让我们从有关IBM大型机(特别是zSeries)的一些事实开始。

硬件是崭新的品牌。它包含一些可用的最先进的电子和芯片设计,而且速度很快。

尽管z / OS起源于1960年代,但它经过不断的发展,至少进行了两次完整的重写,因此除了IBM对向后兼容性的狂热所产生的怪癖外,它可能是普遍使用的较新的OS之一。

主要卖点是:

  • 如果程序是在1976年在MVS / MVT机器上运行的,则上述向后兼容性可能会在最新的zSeries上运行而无需重新编译并产生完全相同的结果。
  • 带宽可以以很高的速度和非常精细的级别移动访问并存储大量数据。
  • 可用性。SYSPLEX在过去15年左右的时间里可用,它可以在多个站点上提供无缝集群,并具有负载平衡,自动故障转移等功能,其中大部分是在硬件中实现的。它使大多数* nix群集看起来很原始。
  • 收敛。这听起来有些怪异,但是由于您要使用它,因此完全的POSIX支持和超快速的JVM,现代大型机几乎与任何其他* NIX盒都没有区别。

到目前为止,大型机的寿命几乎超过了专家们表示要取代它的所有寿命。

有很多缺点:

  • 向后兼容意味着许多商店正在运行二十,三十个,在某些情况下运行四十年的系统。尽管它们工作良好并能很好地执行其业务功能(否则它们将无法继续运行!),它们反映了过去时代的编码风格和痴迷。
  • 落后文化。在古老的COBOL系统的贫民区工作的程序员似乎并未意识到世界已经在前进,或者如果他们进行僵化的管理也不会意识到。
  • 缺乏可用性。除非您实际上得到报酬来从事这些怪物之一的工作,否则您将无法使用其中的一个。甚至可能有一个您在其中工作的人,但是如果您的直接工作描述不包括在其中工作,您将不会登录。在其他有关“ herecules”仿真软件的文章中,已经说了很多,它确实非常出色,但仅对专家而言非常有用,它运行操作系统的较旧版本,缺少大多数标准组件,如CICS,COBOL和DB2构成大多数正在运行的大型机应用程序的框架。

这与Fortran闪亮,新颖,具有最新修订的ISO标准以及操作员重载,面向对象的特性一样。您可以更新,但无关紧要。
卡兹(Kaz)2013年

2
关于可用性,为什么他们不制造运行相同架构的小型设备?在哪里可以买到价值50美元的在小型片上系统上运行嵌入式z / OS的板?为什么不?
卡兹(Kaz)2013年

2
出于同样的原因,您无法获得适用于Hercules的最新操作系统。许多大型机应用程序的工作量都很轻,但是替换起来却过于昂贵。它们可以轻松地在当今的PC商品硬件上运行,但是如果IBM允许您,它们将损失大型机销售和许可证收入。资本主义精彩!
詹姆斯·安德森

1
我在90年代初的夏季在大型机上工作。这种文化对我而言是关闭的。这些大型机程序员中的许多人都不知道为什么或如何工作,并且似乎对这种事情不感兴趣。他们使用的COBOL85不支持诸如局部变量之类的概念或有关良好软件工程的任何概念。很难获得有关大型机的详细技术信息,因为其中很大一部分来自昂贵的手册,这些手册被当作与除少数外的所有其他物品隔离开的圣宝。
学徒队列

1

有趣的是你应该问这个。我们刚刚在大学里就大型机进行了一次演讲,IBM对大型机开发人员的水平感到不满,例如他们正在我们的大学中实施大型机模块,教我们进行大型机编程并可以远程访问其中一个大型机。

我实际上是在9月参加该模块的,可能不会再做,但是它将为我提供一个“不同”的东西的机会,并让我对新的范式敞开心eyes。


真的很酷。很好,您也可以利用它。尽管(大多数)人似乎对大型机不屑一顾,但实际接触到大型机的经验却很酷!
杰蒂2011年

偶尔在野外做某事很酷,还因为技术世界中的某些元素在哪里,是因为早期大型机是如何在业务中使用的……我希望您喜欢它。玩得开心。
temptar,2011年

1

我今年28岁,已经成为专业开发人员已有10年了。我花了3年时间在大型机上工作。

环境深奥,陈旧,停滞,混乱(JCL和ISPF有人吗?)。话虽如此,我确实对该系统,它的工作方式以及规模有极大的尊重。该系统具有类似于150M SLOC的功能,通过SOA支持UNIX服务器的中型服务器场,并且实际上在该国的大部分地区运行。

这么说,为什么年轻的程序员不感兴趣?作为“年轻”程序员,这是我的看法(我从23岁开始使用此系统)。从我正在研究的系统以及所做的研究来看,这是我的观点:

  • 几乎没有新的大型机开发。其中很多是遗留的。
  • 进入存在巨大障碍
  • 完成的工作是针对金融,大型企业和政府的。这些都不是前沿。
  • 开发工具已经过时并且过时了。调试与VS完全不同。

大型机将始终在经济中占有一席之地。由于巨大的成本和支持要求,他们只是不推动早期业务。


0

虽然我认为大型机中可能有非常有趣的工作,但我很害怕将自己的职业朝这个方向发展。10年后的可能性很大,我的经验变得毫无用处,大型机程序员没有工作可用。我不想因安装基础不断缩小而停滞不前的技术而花费大量时间而过时。


0

答案是没有未来。我有22年的大型机程序员经验,而我已经失业了5年。我要回到学校,获得网络开发学士学位。为什么任何有主见的人都想成为大型机COBOL程序员?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.