Zum Inhalt springen

Code-Konverter

Go nach COBOL

Dieselbe Routine, von Hand geschrieben in Go und in COBOL. Sie steht hier, damit Sie sehen, was sich ändert und was nicht, bevor Ihnen jemand einen Preis nennt.

Was Sie haben · Go

func Interest(balance, rate decimal.Decimal) decimal.Decimal {
	return balance.Mul(rate).Round(2)
}

Was daraus wird · 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.
Eine Routine: ein Saldo mal ein Zinssatz, auf den Cent gerundet. In beiden Sprachen von einem Menschen geschrieben, nicht von einem Werkzeug erzeugt. Ihre Datei ist länger, und darin passiert mehr. Genau darum geht es.
Zwei Dateien nebeneinander zu lesen ist die leichte Hälfte. Die schwere ist der Rest des Systems: welche Dateien niemand mehr aufruft, welcher Job um 02:00 den Satz schreibt, den ein anderer liest, und ob die neu geschriebene Fassung noch die Zahlen erzeugt, die Ihre Prüfer letzten Monat gesehen haben. Diese Arbeit läuft auf unserer Plattform, unter Aufsicht eines Entwicklers, und sie beginnt mit einem Blick in Ihre Codebasis.

Wann ein Konverter nicht mehr reicht

Zwei Dateien zu vergleichen ist die leichte Hälfte. Nichts auf dieser Seite kann Ihnen sagen, welche Dateien niemand mehr aufruft, welcher Batch-Job um 02:00 den Satz schreibt, den ein anderer liest, oder ob die neu geschriebene Fassung noch die Zahlen erzeugt, die Ihre Prüfer letzten Monat gesehen haben. Die Analyse beantwortet das an Ihrer echten Codebasis.