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.