Conversion de code, paire par paire
Python vers COBOL
La même procédure, écrite à la main en Python et en COBOL. Elle est là pour que vous voyiez ce qui change et ce qui ne change pas avant que quiconque vous annonce un prix.
Avant · Python
from decimal import Decimal, ROUND_HALF_UP
def interest(balance: Decimal, rate: Decimal) -> Decimal:
return (balance * rate).quantize(Decimal("0.01"), ROUND_HALF_UP)Ce que ça devient · 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.Ci-dessous, une procédure dans les deux langages. Sur un vrai système, le même déplacement se fait sur l'arbre entier d'un coup : notre plateforme lit tous ses langages en parallèle, construit le graphe de dépendances, et un ingénieur coupe les frontières. Un million de lignes est la taille normale de ce travail, et il tient en trente jours.
Ce que cela donne sur votre système entier
Sur un vrai système, les questions qui coûtent cher sont ailleurs : quels fichiers plus rien n'appelle, quel job batch écrit l'enregistrement qu'un autre lit à 2 h du matin, et si la version réécrite produit encore les chiffres que vos auditeurs ont vus le mois dernier. L'audit répond à ces trois questions sur votre propre code, et il en sort un plan par phases avec un prix en face.