… to COBOL. Zdziwieni? Jak wam powiem, że 80% kodu napisanego na świecie jeszcze kilka lat temu było napisane w COBOLu to będziecie jeszcze bardziej zdziwieni 🙂

Ok, ale nie o tym chciałem. Otóż łapię się ostatnio, że niektóre rzeczy łatwiej jest mi napisać w COBOLu niż w Javie. Nie jest ich dużo, ale mają pewną swoją specyfikę i idealnie wpasowują się w COBOLa.

By nie być gołosłownym mały przykład.

Jaś został deportowany z USA z powodu pracy na czarno. Przybył nad Wisłę mając w kieszeni 5 dolarów. Jako, że za kilka dni wyrusza na truskawki do Hiszpanii postanowił je wymienić na euro. Po drodze chce jeszcze coś zjeść w kraju więc musi dokonać przeliczenia USD>PLN>EUR. Pomóżmy Jasiowi policzyć ile będzie miał na każdym etapie operacji.
Kursy (dzisiejsze)
1 EUR 4,1215
1 USD 3,0275

Program w COBOLu będzie wyglądał tak:

Listing 1. Przelicznik walut w COBOLu

IDENTIFICATION DIVISION.
PROGRAM-ID. PRZELICZNIK-WALUT.
DATA DIVISION.
WORKING-STORAGE SECTION.
    01 kEUR PIC 9V9999 VALUE 4.1215.
    01 kUSD PIC 9V9999 VALUE 3.0275.
    01 PLN PIC 99V99 VALUE ZERO.
    01 EUR PIC 99V99 VALUE ZERO.
    01 USD PIC 99V99 VALUE 5.
PROCEDURE DIVISION.
    DISPLAY "--- Przeliczam USD na PLN".
    MULTIPLY USD BY kUSD GIVING PLN ROUNDED.
    DISPLAY "Po przeliczeniu " USD " mam " PLN "PLN".

    DISPLAY "--- Przeliczam PLN na EUR".
    DIVIDE PLN BY kEUR GIVING EUR ROUNDED.
    DISPLAY "Po przeliczeniu " PLN "PLN mam " EUR "EUR".
STOP RUN.

A teraz zadanie dla was drogie misie. Napiszcie tak elegancko samo dokumentujący się kod w Javie.