RPG 现代化是指对 IBM 中端计算机上运行的老旧商业软件进行更新。这些软件采用一种名为 RPG(“报表程序生成器”)的语言编写,经过现代化改造后,可以与现代系统连接,并在程序员日益减少的情况下继续使用,而无需废弃原有代码、从头开始。
通过 Think 时事通讯,了解有关 AI、自动化、数据等方面最重要且最有趣的行业趋势。请参阅 IBM 隐私声明。
RPG 是仍在日常商业中使用的最古老的编程语言之一。IBM 于 1959 年为 IBM 1401 计算机创建了它,取代了穿孔卡片处理并生成商业报告,正如作者 Nick Litten 在《IBM RPG 编程语言简史》中提到的,这就是其名称的由来。几十年来,它一直为银行、保险公司、制造商和零售商处理工资、库存和发票。
该语言历经多年演进。RPG II 是 20 世纪 60 年代和 70 年代的版本,有些僵化:程序员在固定列中输入代码,并依赖于内置的处理循环。RPG III 于 1979 年随 System/38 一起推出,添加了程序员所期望的结构化构建块:条件测试、循环和可重用子例程。根据维基百科的数据,当 AS/400 于 1988 年推出时,IBM 将其更名为 RPG/400。
RPG IV 于 20 世纪 90 年代中期推出,是 IBM i 系统上使用的 RPG 的现代版本。它成为 IBM 集成语言环境的一部分,使 RPG 能够更轻松地与其他业务语言(例如 COBOL 和 C)一起工作。从那时起,IBM 稳步推进 RPG 的现代化进程,使其摆脱旧式僵化的基于列的格式。今天的 RPG(通常称为 RPGLE 或 ILE RPG)可以自由格式的风格编写,与几十年前的 RPG 相比,看起来更像普通的现代代码。
到底什么才算是“现代 RPG”?RPG 应用程序现代化——工作通常归入 IBM i现代化这一更广泛的范畴——可以是表面功夫,也可以是深层次的。
外观层面是用户界面现代化:用网络或移动界面取代纯文本的“绿屏”——经典 IBM i 应用程序的黑底绿终端显示,同时完整保留底层逻辑。这通常是最快、最明显的改进。类似的方法是保留 RPG,但将其业务逻辑包装为 Web 服务,即通过 API,让现代应用程序调用旧代码的功能和数据。
Litten 表示,一种更深层次的方法是:在不改变代码功能的情况下改进代码结构,将固定格式的 RPG 转换为自由格式,将大型程序分解成较小的模块,以及用 SQL 替换旧的数据库定义。IBM 的 AI 编码代理 IBM Bob可以通过添加IBM i 特有的知识来协助完成这项任务。
这项工作变得紧迫,最迫切的原因是人力而非技术。构建这些系统的程序员即将退休,大学里也很少开设 RPG 课程,因此替代程序员的供应正在减少。据ASNA的一个来源称,“RPG 编程是一项正在逐渐消失的技能;到 2025 年,RPG 程序员的平均年龄将达到 70 岁。”在 Fortra 的 2026 年 IBM i Marketplace 调查中,320 名受访者中的大多数人都提到,IBM i 技能的短缺九年来首次取代了网络安全,成为该行业的头等大事。
IBM 商业价值研究院在 2023 年关于各行业应用程序现代化的研究中发现,83% 的高管认为实现应用程序和数据现代化是其战略核心,而只有 27% 的高管表示他们实际上已经对许多必要的系统进行了现代化改造。对于许多公司来说,确保这些面向未来的应用程序已成为数字化转型的核心部分。
一个家庭行业正致力于实现 RPG 的现代化。例如,Fresche Solutions 构建了 X-Analysis 工具,可以映射旧程序的组合方式并提取其中隐藏的业务规则。Profound Logic 专注于将 RPG 应用 Web 化以及将代码自动转换为 Node.js,而于 2019 年被 Idera 收购的 LANSA(据 IT Jungle)则提供低代码工具,用于构建与 RPG 系统共存的新应用程序。IBM 还提供自己的开发者工具,包括广受欢迎的开源扩展程序 Code for IBM i,通过该扩展,可将广泛使用的 VS Code 编辑器转变为 RPG 开发工作台。
与所有编码领域一样,人工智能驱动的工具正在发挥着越来越重要的作用。直到 2024 年初,AI 模型在读取 RPG 时还很困难,因为专有语言在他们的训练数据中很少(不像 IT Jungle 所解释的更常见的 COBOL)。但到 2025 年底,情况发生了变化。IBM 推出了 Project Bob 作为回应。该项目最初以 watsonx Code Assistant for i 的形式推出,后来重新打造为一个功能完备的智能代理式编码平台。Bob 可以解释、转换和测试 RPG 和其他语言,包括转换代码的自动测试。八万名 IBM 员工使用了 Bob,其中受访用户报告称,该产品已将他们的工作效率提高了 45%。
借助 IBM Bob 支持您的团队,加速创新,实现 AI 辅助的应用程序现代化、快速开发和更高效的软件交付。
利用生成式 AI 来简化应用程序现代化,帮助开发团队加快转型、提高生产力并降低复杂性。
用智能 AI 现代化重新构想旧版系统。