Conversión de código, par a par
ABAP a Go
La misma rutina, escrita a mano en ABAP y en Go. Está aquí para que vea qué cambia y qué no antes de que nadie le pase un presupuesto.
Antes · ABAP
DATA: lv_balance TYPE p DECIMALS 2 VALUE 0,
lv_rate TYPE p DECIMALS 4 VALUE '0.0425',
lv_interest TYPE p DECIMALS 2.
lv_interest = lv_balance * lv_rate.
WRITE: / 'INTEREST:', lv_interest.En qué se convierte · Go
func Interest(balance, rate decimal.Decimal) decimal.Decimal {
return balance.Mul(rate).Round(2)
}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.