大家都更愿意学习新技术、新架构,代表着新方向新趋势,当大家都这么想的时候,注定了竞争就会激烈。有一部分中年程序员,反其道而行之,学习一些老掉牙的开发语言,向哪些近乎被遗忘的老旧系统进军。
市面上依旧存在一些老旧的开发语言,除了COBOL之外,还包括FORTRAN、Assembly、Pascal、Ada等。这些语言中的一些,如FORTRAN,曾经在科学和工程计算领域占据重要地位,而Assembly语言则因其与硬件操作的接近性,被用于编写需要高性能的系统软件或固件 。Pascal和Ada虽然不如COBOL那样在商业应用中广泛,但它们在某些特定领域和系统中仍然有其应用场景。很多系统看似运行稳定,背后的技术体系并非很先进,写过程序的都知道:一旦程序运行起来,就不要轻易改动,久而久之,这些被束之高阁的系统缺少维护,长期来看都是隐患。
COBOL作为一种老旧语言,目前在全球范围内,特别是在金融、保险、政府和医疗保健等行业中,仍然有大量关键系统和应用程序依赖于它。据统计,全球每天使用的COBOL代码超过8000亿行,显示出其强大的生命力 。尽管存在将COBOL代码转换为更现代语言的技术,如IBM计划发布的工具可以将COBOL代码转换为Java,但这一转型过程可能需要数十年时间,并且经常会失败 。因此,对COBOL程序员的需求预计在短期内仍将持续存在。同时,这也表明了老旧语言在特定领域中依然具有不可替代的价值。
虽然不如现代语言那样常用,但它们在特定的领域和系统中仍然发挥着重要作用。这些语言编写的系统往往具有稳定性和可靠性,尤其是在金融、政府和科研等领域的核心系统中。然而,随着技术的发展和编程人员的更新换代,这些老旧语言面临着维护和更新的挑战。
对于是否重构这些老旧系统的核心代码,需要考虑多个因素。一方面,如果系统运行稳定且满足当前需求,可能没有必要进行大规模的重构,因为重构可能带来风险和额外的成本。另一方面,如果系统需要引入新技术、提高可维护性或适应新的业务需求,重构就成为了一种可行的选择。
中年程序员学习COBOL等老旧语言可以视为一种适应市场需求、追求工作稳定性的策略。虽然这些语言可能不如现代语言那样广泛使用,但它们在特定领域内仍然具有不可替代的价值,竞争也更小。
IBM正在尝试使用人工智能技术来帮助解决老旧语言代码的维护问题。例如,IBM的Watsonx Code Assistant可以评估和确定最需要现代化的COBOL代码,并帮助开发人员将这些代码转换为Java,以实现应用程序的现代化。这表明,对于老旧语言编写的核心代码,如果存在明显的维护难题或者需要引入新技术,企业可能会考虑使用现代工具和技术进行重构。
当人人都瞅着前方的路,时不时有人回头看看走过的地方,未尝不是一个新选择。技术在变,人不可能穷其一生,追寻所有新技术。