Co je COBOL a proč na něj spoléhá tolik institucí?

Guvernér New Jersey nedávno zmíněný COBOL, 60 let starý programovací jazyk. co to přesně je? A proč je stále základním pilířem finančního světa, přestože ho stále umí používat jen málokdo?

O původu COBOLu

Grace Hoppeovár byl fenomén. Získala doktorát z matematiky na Yale, byla profesorkou na Vassaru a z amerického námořnictva odešla v hodnosti kontradmirála. Její přínos v oblasti výpočetní techniky lze posuzovat podle počtu nadací a programů, které mají vznikl na její památku. The Národní energetické výzkumné vědecké výpočetní centrum pojmenoval svůj Cray XE6 po ní superpočítač. Námořnictvo po ní také pojmenovalo svůj torpédoborec s řízenými střelami USS Hopper. Motto lodi „Aude et Effice“ („Odvaž se a dělej“) mohlo být vymyšleno s Hopperem.

S cílem vytvořit programovací jazyk bližší angličtině, než chápou počítače se strojovým kódem, vyvinul Hopper první kompilátor. Tím se otevřely dveře prvním kompilovaným jazykům, jako např FLOW-MATIC. To jí vyneslo místo v Konferenci/výboru pro jazyky datových systémů (CODASYL) z roku 1959.

Podílela se také na specifikaci a vývoji Common Business-Oriented Language (COBOL). První schůze se konala 23. června 1959 a její zpráva a specifikace jazyka COBOL následoval v dubnu 1960.

COBOL byl radikální

COBOL obsahoval některé převratné koncepty. Pravděpodobně nejvýznamnější z nich byla schopnost běžet na hardwaru vyráběném různými výrobci, což bylo v té době bezprecedentní.

Jazyk byl propracovaný a poskytoval programátorům téměř anglickou slovní zásobu, se kterou mohli pracovat. Byl navržen tak, aby zpracovával obrovské objemy dat a byl výjimečně matematicky přesný.

Jeho slovní zásoba vyhrazených slov (slov, která tvoří jazyk) se blíží 400. Programátor tato vyhrazená slova spojí dohromady, aby dávala syntaktický smysl a vytvořila program.

Každý programátor, který se vyzná v jiných jazycích, vám řekne, že 400 je neuvěřitelný počet rezervovaných slov. Pro srovnání, jazyk C má 32 a Krajta má 33.

  Jak přidat a upravit widgety na domovské obrazovce iPadu

Další zvláštností COBOLu je jeho přísný požadavek, aby určité programové řádky začínaly v určitých sloupcích. Tohle je kocovina z dob děrné štítky. Dnes mají programátoři větší volnost při formátování COBOL a již nemusí vše psát velkými písmeny. Díky tomu je práce s ním méně normativní a ukřičená, ale stále je to do značné míry výtvor své doby, jak je ukázáno níže:

IDENTIFICATION DIVISION.
      PROGRAM-ID. Hello-World.
      DATA DIVISION.
      FILE SECTION.
      WORKING-STORAGE SECTION.
      PROCEDURE DIVISION.
      MAIN-PROCEDURE.
           DISPLAY "Hello world, from How-To Geek!"
           STOP RUN.
      END PROGRAM Hello-World.

COBOL je HIT

Většina transakcí v bankomatech stále používá COBOL.

Jakkoli se to dnes může zdát neohrabané, COBOL byl při svém uvedení na trh revoluční. Našlo si přízeň ve finančním sektoru, federální vládě a velkých korporacích a organizacích. Bylo to kvůli jeho škálovatelnosti, možnostem manipulace s dávkami a matematické přesnosti. Byl instalován do sálových počítačů po celém světě, zakořenil a vzkvétal. Jako tvrdohlavý plevel prostě neuhyne.

Naše závislost na systémech, které stále běží na COBOL, je ohromující. A zpráva agentury Reuters v roce 2017 sdílel následující ohromující statistiky:

V současnosti se stále používá 220 miliard řádků kódu COBOL.
COBOL je základem 43 procent všech bankovních systémů.
Systémy poháněné COBOL zvládají denní obchod ve výši 3 bilionů dolarů.
COBOL zvládá 95 procent všech vytažení karty z bankomatu.
COBOL umožňuje 80 procent všech osobních transakcí kreditními kartami.

Jak vidíte, je těžké vydržet den bez použití systému, který závisí na COBOL. Bankovní účty a služby zúčtování šeků, stejně jako veřejné infrastruktury, jako jsou bankomaty a semafory, stále běží na tomto kódu napsaném před desítkami let.

COBOL je problém

Programátoři, kteří znají COBOL, jsou buď v důchodu a přemýšlejí o odchodu do důchodu, nebo jsou mrtví. Neustále ztrácíme lidi, kteří mají schopnosti udržovat tyto životně důležité systémy v chodu. Noví, mladší programátoři COBOL neznají. Většina také nechce pracovat na systémech, pro které musíte udržovat starý kód nebo psát nový kód.

  Identifikujte spoustu různých typů souborů, aniž byste je otevírali pomocí TrID

To je takový problém, že Bill Hinshaw, veterán COBOL, byl donucen odejít do důchodu, aby založil COBOL Cowboys. Tato soukromá poradenská firma vychází vstříc zoufalým firemním klientům, kteří nikde nemohou najít kodéry znalé COBOL. „Mladíkům“ v COBOL Cowboys (jejichž heslem je „Not Our First Rodeo“) je 50 let. Věří, že 90 procent podnikových systémů Fortune 500 běží na COBOL.

Soukromé podniky, korporace a banky samozřejmě nejsou jediní, kdo potřebuje číslovat obrovské množství finančních dat. Federální, provinční a místní vládní služby mají stejné požadavky. Jako všichni ostatní k tomu používají sálové počítače a COBOL.

Strašný dopad pandemie koronaviru vedl ke zlomení srdce, úmrtím a ekonomické nejistotě pro majitele podniků, zaměstnance a osoby samostatně výdělečně činné. Obrovský počet propuštěných a propuštěných zaměstnanců v New Jersey vedl guvernéra apelovat na zkušené programátory COBOL přijít na pomoc stárnoucím back-end systémům státu. Tyto se snaží vyrovnat se s 326 000 nových registrací.

The Otevřete projekt sálového počítače provozuje dobrovolnickou iniciativu na pomoc. Pokud si myslíte, že byste mohli pomoci, budou rádi, když se ozvete.

New Jersey není v této svízelné situaci sám. Více než 10 milionů lidí se registrovalo v nezaměstnanosti a toto číslo stále roste. Connecticut má potíže se zpracováním čtvrt milionu nových registrací na státních 40 let starých systémech.

Jde o rozšířený a hluboce zakořeněný problém. A Zpráva Úřadu pro odpovědnost vlády za rok 2016 uvedené systémy COBOL běžící na sálových počítačích do 53 let. Patří mezi ně systémy používané ke zpracování údajů souvisejících s ministerstvem pro záležitosti veteránů, ministerstvem spravedlnosti a správou sociálního zabezpečení.

Proč nemigrovat a neupgradovat, jako včera?

Upgrade těchto starších systémů není tak jednoduchý, jak to zní. Systémy jsou životně důležité, 24/7 opěrné body, na kterých se točí finanční, vládní a obchodní světy. Kód je starý, mnohovrstevný a často špatně nebo zcela nezdokumentovaný. Musí to také fungovat, pořád. Tato vyhlídka byla přirovnávána k sundání vrtulí z letadla a pokusu o jeho vybavení proudovými motory – ve vzduchu.

  Jak vytvářet šablony v Dokumentech Google

Pomineme-li riziko, ekonomický argument pro migraci na moderní systémy je také tvrdý. Peníze, které byly napumpovány do provozu těchto sálových počítačů a aplikací COBOL, jsou ohromující. Měly by to instituce všechno zahodit a začít znovu, dokud ten COBOL kód stále běží a je funkční? To je těžké hřiště na prkno, které pravděpodobně není nijak zvlášť technicky nakloněno. Migrace COBOL nebude levná ani rychlá.

„Právě jsem prošel konverzí, abych mohl přejít z COBOL na Javu,“ řekl Hinshaw. „Trvalo jim to čtyři roky, a stále nejsou hotové.“

Když Commonwealth Bank of Australia nahradila svou základní platformu COBOL v roce 2012, trvalo to pět let s konečnými náklady 749,9 milionu dolarů (1 miliarda australských dolarů).

A tehdy to jde podle plánu. britská banka, TSB, byl nucen v roce 2018 migrovat ze systému založeného na COBOL z důvodu odkupu. Nedopadlo to dobře. Protože banka nemohla několik dní obchodovat, náklady na migraci byly nakonec 330 milionů liber. To bylo navíc k rozpočtovaným nákladům na inženýrské práce pro vlastní migraci. TSB také ztratila 49,1 milionu liber z finančních podvodů, zatímco její systémy se rozpadaly.

Odměna zákazníků přesáhla 125 milionů liber a banka musela vynaložit 122 milionů liber na najímání nových zaměstnanců, kteří by se zabývali 204 000 případy stížností zákazníků. Generální ředitel rezignoval a společnost ještě dva roky po události likviduje škody.

Hlavolam COBOL

Věci nemohou zůstat tak, jak jsou, ale vyhlídka, že s tím něco uděláme, je sotva přitažlivá. Nicméně jediný způsob, jak se věci zlepší, je provést kontrolovanou a pečlivou migraci na moderní soft- a hardware.

Chcete-li toho dosáhnout bez přerušení, ztráty dat a prostojů, budou vyžadovat moderní odborné znalosti a peníze, což je 50 procent rovnice. Druhá polovina je odbornost a čas COBOL. Bohužel, to jsou ty dvě ingredience, které už nám skoro došly.

Možná do města přijede nový druh COBOL kovbojů.