Conversion de code, paire par paire
TypeScript vers RPG
La même procédure, écrite à la main en TypeScript et en RPG. Elle est là pour que vous voyiez ce qui change et ce qui ne change pas avant que quiconque vous annonce un prix.
Avant · TypeScript
export function interest(balance: bigint, rateBasisPoints: bigint): bigint {
return (balance * rateBasisPoints + 5000n) / 10000n
}Ce que ça devient · RPG
**free
dcl-s balance packed(11:2) inz(0);
dcl-s rate packed(5:4) inz(0.0425);
dcl-s interest packed(11:2);
interest = %dec(balance * rate : 11 : 2);
dsply ('INTEREST: ' + %char(interest));
*inlr = *on;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.