COBOL a Go
La misma rutina, escrita a mano en COBOL y en Go. Está aquí para que vea qué cambia y qué no antes de que nadie le pase un presupuesto.
Lo que tiene · COBOL
IDENTIFICATION DIVISION.
PROGRAM-ID. INTEREST.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-BALANCE PIC S9(9)V99 COMP-3 VALUE 0.
01 WS-RATE PIC S9(1)V9(4) COMP-3 VALUE 0.0425.
01 WS-INTEREST PIC S9(9)V99 COMP-3.
PROCEDURE DIVISION.
COMPUTE WS-INTEREST ROUNDED = WS-BALANCE * WS-RATE
DISPLAY 'INTEREST: ' WS-INTEREST
STOP RUN.En qué se convierte · Go
func Interest(balance, rate decimal.Decimal) decimal.Decimal {
return balance.Mul(rate).Round(2)
}Leer dos ficheros uno al lado del otro es la mitad fácil. La difícil es el resto del sistema: qué ficheros ya no llama nadie, qué proceso escribe el registro que otro lee a las 02:00 y si la reescritura sigue dando las cifras que sus auditores vieron el mes pasado. Ese trabajo corre sobre nuestra plataforma y lo vigila un ingeniero. Empieza con una lectura de su código.
Cuando un conversor deja de bastar
Comparar dos ficheros es la mitad fácil. Nada de lo que hay en esta página puede decirle qué ficheros ya no llama nadie, qué proceso batch escribe el registro que otro lee a las 02:00, ni si la versión reescrita sigue dando las cifras que sus auditores vieron el mes pasado. La auditoría responde a eso sobre su propio código.