Ir para o conteúdo

Conversão de código, par a par

RPG para PHP

A mesma rotina, escrita à mão em RPG e em PHP. Ela está aqui para você ver o que muda e o que continua igual antes de alguém te passar um preço.

Antes · 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;

No que isso vira · PHP

<?php
function interest($balance, $rate) {
    return round($balance * $rate, 2);
}
Uma rotina: um saldo vezes uma taxa, arredondado ao centavo. Escrita por um engenheiro nas duas linguagens, para você ler como o destino fica de verdade.
Abaixo está uma rotina nas duas linguagens. Num sistema de verdade o mesmo movimento roda sobre a árvore inteira de uma vez: a nossa plataforma lê em paralelo cada linguagem que existe ali, monta o grafo de dependências e um engenheiro corta as fronteiras. Um milhão de linhas é o tamanho normal desse trabalho, e ele termina dentro de trinta dias.

Como isso fica no seu sistema inteiro

Na sua base de código real o mesmo movimento responde o que um par de arquivos não alcança: que arquivos nada mais chama, que job batch escreve às 02:00 o registro que outro lê depois e se a versão reescrita ainda produz os números que seus auditores viram no mês passado. O diagnóstico volta com as três respostas em três a cinco dias.