上古编程语言 COBOL 并不是最糟糕的遗留技术,Java 8、Python 2 和 jQuery 才是真要命。
当我们将时间浪费在谈论大型机时,殊不知技术衰败的威胁已经迫在眉睫。
每当我接到采访请求,或者被邀请谈论我在遗留技术现代化方面的工作时,每个人都想谈论大型机和 COBOL。人们认为,我会给其他工程师讲一些有趣的战争故事,关于老旧系统的苦差事,这些工程师无须担心这些事情,因为他们的职业专注于现代技术。
当然,当我开始处理遗留系统时,我也被最古老的节目李普利的《信不信由你》 (Ripley's Believe It or Not!)(译注:1921 年由李普利推出)给吸引住了。挖掘和剖析老旧系统的快感,发现大多数程序员从未听说过的、被遗忘的语言,更不用说与之交互了。
我一直着迷于低级语言和系统,它们将电压变化转化成数学和设计中的抽象概念,这是一种什么样的魔法啊!但最近,我对即将到来的遗留启示录,以及如何减缓新技术带来的技术债务不断上升的水平更感兴趣了。
PS:文章末尾有惊喜哦!
遗留启示录并不是婴儿潮一代最后一个 COBOL 程序员的离世。说实话,这场危机来得快,走得也快。当人们谈论老旧系统的威胁时,他们喜欢搬出有关 COBOL 程序员年龄的统计数据来说事。
例如,在 2006 年,COBOL 程序员平均年龄为 55 岁。这听起来很糟糕啊!许多关键员工都快退休了!他们要是离开了以后,谁来照看他们留下的系统呢?
平均值可能会误导公众。在同一调查中,有 52% 的程序员年龄在 45~55 岁之间,34% 在 35~45 岁之间。但更重要的是,8 年以后,当那些 55 岁的程序员都应该退休的时候,Micro Focus 对 COBOL 程序员和高管的调查将 COBOL 程序员的平均年龄再次定为 55 岁。他们在 2019 年的调查中得出的平均值就是 50 岁。
实际上,几十年来,COBOL 程序员的平均年龄就一直保持稳定。当我父亲研究千年虫问题时,当时他都已经 40 多岁了……快 50 出头。他的同事年龄与他相仿。每次我看到人们在 COBOL 社区的年龄上大做文章的时候,我就会想起美国双簧管演奏家 Blair Tindell 写的关于古典音乐界的文章:
对听众老龄化的恐慌大可不必。因为我们忽略了一个事实:其实听众平均年龄在 40 岁左右已徘徊了一段时间。人们等到中年才开始欣赏交响乐,是合乎逻辑的。随着孩子长大,学费付完,人们才有了更多的闲暇时间,音乐会很符合成熟后的婴儿潮一代丰富的生活方式、品味和收入。
关于 COBOL 也可以有类似的说法。与 60 年代、70 年代和 80 年代的年轻程序员不同,今天的年轻程序员上大学的时候没有接触过大型机。
如果大学里还有大型机的话,那就是行政部门的主力机器,对于学生项目来说太重要了。年轻程序员也没有学习 COBOL 的选择。就算他们做了数百个(或者有些人说是数千个)COBOL 工作,也不是入门级的。
COBOL 程序员的平均年龄之所以稳定,很可能是因为 COBOL 程序员在职业生涯后期转向 COBOL 之前,已经在其他语言方面积累了丰富的经验和专业知识。
人们总是担心那些上了岁数的 COBOL 程序员,因为他们认为,当最后一批 COBOL 程序员离世后,他们开发的程序将无人能够维护。人们有这种担心是情有可原的。但是,大多人会惊讶地发现,无法维护的遗留代码带来的威胁比他们想象的要近得多。
? 64% 的 Java 应用程序停留在 Java 8 上
如果你还记得的话,Java 的最新版本是 14。Java 8 应该在 2019 年就停止支持了。
Java 9 引入了结构上的一些变化,使 Java 更加模块化,因此 Java 9 对嵌入式系统来说更加可行。从 Java 8 转到 Java 9 并不是升级,而是全面迁移。
其中,Java 9 使 JDK 内部的 API 无法访问,它剔除了一些工具和方法,而且向模块化结构的转变需要更改依赖关系。换句话说,从 Java 8 迁移到 Java 9 有可能意味着很多代码必须重写。
因此,Snyk 在 2020 年进行的关于产品应用程序的调查中,发现超过一半应用仍然运行在 Java 8 之上。
??Python 2
和 Java 8 一样,Python 2 也一直挥之不去,因为迁移到 Python 3 既要重写自己的代码,又要从所有依赖关系中移除 Python 2。
虽然有像 Benjamin Peterson 的 Six 这样的工具可以使任务变得更愉快,但依赖关系可并不仅仅是包和库。代码运行的平台也是一个依赖关系,而且这些平台的响应速度很慢。
文章来源:《电脑编程技巧与维护》 网址: http://www.dnbcjqywh.cn/zonghexinwen/2020/1019/573.html
电脑编程技巧与维护投稿 | 电脑编程技巧与维护编辑部| 电脑编程技巧与维护版面费 | 电脑编程技巧与维护论文发表 | 电脑编程技巧与维护最新目录
Copyright © 2018 《电脑编程技巧与维护》杂志社 版权所有
投稿电话: 投稿邮箱: