COBOL (Common Business-Oriented Language)

COBOL je imperativní, procedurální a od roku 2002 i objektově orientovaný programovací jazyk. Byl vytvořen v roce 1959 na popud amerického ministerstva obrany pod vedením Grace Hopperové. Jeho cílem bylo vytvořit jazyk, který se blíží přirozené angličtině a je čitelný i pro manažery, nikoliv jen pro programátory.

Hlavní charakteristiky

Užvaněnost (Verbosity): COBOL používá velmi dlouhou syntaxi plnou anglických slov (např. místo symbolu + se používá slovo ADD).

Zpracování dat: Je excelentní v hromadném zpracování dat a v přesné desítkové aritmetice (např. při výpočtech úroků v bankách), kde by běžná binární aritmetika mohla způsobit chyby v zaokrouhlování.

Struktura: Programy jsou pevně rozděleny do čtyř „divizí“ (Divisions), což zajišťuje přísnou organizaci kódu.

Struktura programu

Každý program v COBOLu musí obsahovat tyto části:

1. **Identification Division:** Název programu a informace o autorovi.
2. **Environment Division:** Specifikace počítače a souborů, se kterými program pracuje.
3. **Data Division:** Definice všech proměnných a datových struktur.
4. **Procedure Division:** Samotná logika programu (výpočty, podmínky).

Příklad kódu:

IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY 'Hello, World!'. STOP RUN.

Proč je stále důležitý?

Možná vás překvapí, že i v roce 2025 COBOL stále „řídí svět“:

Bankovnictví: Odhaduje se, že přes 70 % všech bankovních transakcí na světě stále zpracovávají programy v COBOLu.

Mainframy: Jazyk běží na obřích sálových počítačích (Mainframes), především od společnosti IBM, které jsou extrémně spolehlivé.

Obrovský objem kódu: Existují stovky miliard řádků kódu v COBOLu. Přepisování do moderních jazyků (Java, Python) je extrémně drahé a rizikové.

Výhody a nevýhody

Výhody:

Škálovatelnost: Dokáže efektivně zpracovat miliony záznamů najednou.

Čitelnost: Díky anglické syntaxi je snadné pochopit, co program dělá (pokud znáte anglicky).

Dlouhověkost: Kód napsaný před 40 lety obvykle bez problémů funguje i na dnešních systémech.

Nevýhody:

Nedostatek expertů: Většina programátorů COBOLu odchází do důchodu a mladí programátoři se jazyk nechtějí učit.

Pomalý vývoj: Psaní kódu v COBOLu je zdlouhavé ve srovnání s moderními jazyky.

Izolovanost: Těžko se integruje s moderními webovými a cloudovými službami bez speciálních nástrojů.

Problém roku 2000 (Y2K)

COBOL byl v centru pozornosti před rokem 2000. Staré programy šetřily pamětí a ukládaly rok pouze jako dvě cifry (např. 98). Hrozilo, že v roce 2000 počítače „uvidí“ rok 00 jako 1900, což by zhroutilo bankovní systémy. Díky obrovskému úsilí programátorů byla většina chyb opravena včas.

Související pojmy: Mainframe, Grace Hopper, Legacy systém, Y2K, Algol, Fortran.