COBOL 与 Java 的思维方式不同
COBOL 是过程式的,带有隐式状态、PERFORM 范围和段级控制流。幼稚的翻译器会产出塞满静态方法和全局变量的 Java 类,比原始 COBOL 更难维护。
十进制精度至关重要
COBOL 的 PIC 9 子句为财务计算定义了精确的十进制精度。把 COMP-3 字段转换为 double 或 float 的 COBOL 到 Java 迁移会在生产中引入舍入误差。正确的转换需要标度和精度相匹配的 BigDecimal。
数据访问需要一个新层
COBOL 程序通常对 DB2 使用 EXEC SQL,对索引文件使用 VSAM,并使用平面文件 I/O。Java 需要 JDBC、JPA 或文件解析工具。数据访问层往往是 COBOL 到 Java 迁移中最复杂的部分。