Conversión de código, par a par
COBOL a Perl
La misma rutina, escrita a mano en COBOL y en Perl. Está aquí para que vea qué cambia y qué no antes de que nadie le pase un presupuesto.
Antes · 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 · Perl
sub interest {
my ($balance, $rate) = @_;
return sprintf('%.2f', $balance * $rate);
}Abajo tiene una rutina en los dos lenguajes. Sobre un sistema real el mismo movimiento corre por el árbol entero de una vez: la plataforma lee en paralelo todos los lenguajes que haya dentro, construye el grafo de dependencias y un ingeniero traza las fronteras. Un millón de líneas es el tamaño normal de ese trabajo, y termina dentro de treinta días.
Cómo se ve esto en su sistema entero
Sobre su código real ese mismo movimiento responde a lo que un par de ficheros no alcanza: qué ficheros ya no llama nadie, qué proceso batch escribe el registro que otro lee a las 02:00 y si la versión reescrita sigue dando las cifras que sus auditores vieron el mes pasado. La auditoría vuelve con las tres respuestas en tres a cinco días.