Najpopularniejszy język świata…

… 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.

Napisz odpowiedź

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax