Programovanie

Čo je COBOL? Vysvetlenie programovania COBOL

Niektoré technológie nikdy nezomrú - iba zoslabnú do drevárskych výrobkov.

Spýtajte sa priemerného vývojára softvéru na COBOL (Common Business Oriented Language) a tí sa na vás pozrú, akoby ste spomenuli uhlíkový papier, olovnatý benzín alebo záznam 78 ot./min. V porovnaní s modernými jazykmi ako Go alebo Python - alebo dokonca Pascal alebo C! - sa COBOL javí ako nepríjemný, neohrabaný a pasé.

COBOL to však vydržal. Ďaleko od zastaranej technológie, s ktorou sme sa šťastne rozišli, sa COBOL stal inštitúciou. Masívne databázy kódov COBOL sa stále používajú na celom svete, mnohé z nich fungujú takmer presne tak, ako boli pri prvom vytvorení. V hollywoodskom jazyku má jazyk COBOL „nohy“.

Takže áno, COBOL je stále relevantný a aktuálny - v skutočnosti bolestne. V posledných mesiacoch sa COBOL znovu dostal do povedomia verejnosti, pretože štáty ako New Jersey vyhlásili výzvu pre programátorov, aby pomohli presunúť ich aplikácie COBOL do 21. storočia.

V tomto článku sa pozrieme na pôvod COBOLU, ako vyniká design programovacieho jazyka aj dnes a čo robí COBOL tak trvácnym a tak nepoddajným.

História COBOLU

COBOL vznikol koncom 50. a začiatkom 60. rokov. Vývojom jazyka bol projekt sponzorovaný Ministerstvom obrany USA (DoD), ktorý zahŕňal konzorcium počítačových spoločností vrátane IBM, Honeywell, Sperry Rand a Burroughs. Cieľom bolo vytvoriť programovací jazyk s nasledujúcimi atribútmi:

  • Prenosnosť medzi počítačovými systémami, čo uľahčuje migráciu softvéru naprieč generáciami hardvéru aj medzi jeho výrobcami.
  • Viac anglickej syntaxe ako iné vtedajšie jazyky (napr. FORTRAN) ako spôsob, ako podporiť programovanie širším publikom, aj keď na úkor určitej prevádzkovej rýchlosti.
  • Schopnosť prispôsobiť sa budúcim zmenám jazyka.

Prvé oficiálne špecifikácie COBOL vyšli v roku 1960. Počas nasledujúceho desaťročia sa COBOL stal na počudovanie svojich kritikov predvolenou voľbou pre písanie obchodných aplikácií. Jedným z dôvodov jeho rýchleho šírenia boli sieťové efekty: IBM, jeden z pôvodných spolupracovníkov v tomto jazyku, sa stal agresívnym skorým používateľom a dominujúca prítomnosť spoločnosti IBM vo výpočtovom svete pomohla prispieť k prijatiu protokolu COBOL.

Vďaka svojim dizajnovým výhodám a podpore v ťažkom priemysle sa COBOL prilepil a s veľkou rezervou prežil pôvodné systémy, pre ktoré bol navrhnutý. Podľa rôznych odhadov bol COBOL do roku 1970 najpoužívanejším programovacím jazykom na svete. Do roku 1997 sa predpokladalo, že COBOL prevádzkuje asi 80 percent obchodných aplikácií.

Jazyk COBOL

Dizajnéri COBOLu prelomili stručnú syntax vtedajších iných programovacích jazykov (opäť napríklad FORTRAN). Cieľom bolo vytvoriť programovací jazyk, ktorý by mohli čítať a porozumieť neprogramátorom, najmä účtovníkom, financiám, poisťovníctvu a ďalším odborníkom v oblasti obchodu.

Zvážte program „ahoj svet“ napísaný v ranej nárečí COBOLU:

IDENTIFIKAČNÁ DIVÍZIA.

ID PROGRAMU. AHOJ SVET.

ROZDELENIE POSTUPU.

DISPLEJ „Hello World!“.

KONCOVÝ DISPLEJ.

STOP RUN.

Pre moderných vývojárov softvéru zameraných na únavnosť jazykov, ako je Python, je tento kód podrobný. Výrečnosť COBOLu (ak nie je jeho vykonaním) však pramení z tej istej domýšľavosti, ktorá informuje moderné jazyky ako Python - tento kód sa číta mnohokrát viac, ako je napísaný, preto by mal byť napísaný, aby bol čitateľný.

Podobný program v modernejšej verzii COBOLU by mohol vyzerať asi takto:

program-id. Ahoj.

rozdelenie postupu.

zobraziť "Ahoj svet!".

prestaň bežať.

Aj keď je tento príklad stručnejší, platia rovnaké základné princípy: Kódex sa snaží byť pri každom kroku explicitný o tom, čo sa deje.

COBOL má prísne pravidlá týkajúce sa syntaxe a vnútornej organizácie programov. Program COBOL je výslovne rozdelený na časti, príp divízie, ktoré uľahčujú vyhľadanie a pochopenie jeho komponentov na prvý pohľad:

  • Identifikačné rozdelenie: V zásade ide o sekciu metadát, ktorá obsahuje podrobnosti o programe, jeho autorovi atď.
  • Divízia životného prostredia: Obsahuje podrobnosti o behovom prostredí, napríklad aliasy pre externé zariadenia, ktoré môžu vyžadovať úpravy, keď je program spustený na inom hardvéri. To pomohlo prenositeľnosti programu medzi systémami, kde sa napríklad so vstupmi a výstupmi mohlo zaobchádzať úplne inak.
  • Delenie údajov: Obsahujúcespis a pracovný sklad sekciách popisuje dátové rozdelenie súbory a premenné použité v programe.
  • Rozdelenie postupu: Skutočný programový kód tu žije rozdelený na volané logické jednotky oddiely, odseky, vetya Vyhlásenia. Je lákavé analogizovať tieto štruktúry s modulmi alebo funkciami, pretože slúžia zhruba rovnakým funkciám (rozdelenie kódu na bloky s obmedzenými vstupmi a výstupmi), ale sú oveľa menej flexibilné.

COBOL má tiež extrémne prísne pravidlá formátovania kódu, až po počet medzier pred príkazom. (Používateľom Pythonu to bude dobre známe!) Niektoré z týchto obmedzení sú vedľajším produktom príchodu COBOL-u v ére sálových počítačov 60. rokov, keď boli programy kódované na dierne štítky a bolo dôležité presné formátovanie 80-stĺpcových riadkov . Ale iné obmedzenia formátovania vynucujú čitateľnosť.

Zámerom prísnej regulácie programov COBOL je dosiahnuť ich maximálnu sebestačnosť. Napokon programy COBOL mali tendenciu zostať v platnosti celé roky alebo desaťročia. Zámerom (ak nie vždy je to konečný výsledok) bolo urobiť z každého programu COBOL artefakt, ktorému každý programátor COBOLu dokáže porozumieť, a to aj po rokoch, bez pomoci programátora, ktorý ho vytvoril.

Výzvy COBOLU

Veľká časť pretrvávajúcej prevalencie - a zotrvačnosti - COBOLu vyplýva zo skutočnosti, že aplikácie COBOLU, ktoré už boli raz napísané, mali tendenciu zostať na svojom mieste neurčito, iba s malými úpravami. Čím je aplikácia väčšia a kritickejšia, tým menej je pravdepodobné, že bude narušená. Sálové počítače, podobne ako ponuky IBM, zohrávali kľúčovú úlohu: Boli postavené tak, aby boli vysoko spätne kompatibilné a aby mohli bežný softvér - napríklad aplikácie COBOL - spúšťať naprieč generáciami hardvéru s minimálnymi úpravami. Výsledok: Miliardy riadkov kódu COBOL bežia v podstate nezmenené celé desaťročia.

V priebehu rokov COBOL vyvinul, ak pomaly. Aj teraz má objektovo orientovaný variant OO-COBOL, ktorý obsahuje podporu moderných funkcií, ako je Unicode, miestne nastavenia a pokročilejšie dátové typy presahujúce reťazce a celé čísla. COBOL si ale agresívne zachováva spätnú kompatibilitu, takže aj tieto vylepšenia a rozšírenia sa riadia mandátom, že súčasné aplikácie COBOL musia naďalej bežať.

Nie všetky možnosti návrhu jazyka COBOL boli programátormi COBOL populárne. Niektoré viedli k príliš zložitým programom, ktoré sa javili ako ťažko pochopiteľné alebo laditeľné, čo odrádzalo od ich prepisovania alebo zlepšovania. COBOL’s ÍSŤ DO príkaz, rovnako ako jeho náprotivok v C, umožnil programátorom voľne skákať okolo programu a písať tak výkonnejšie aplikácie. Ale nedisciplinované použitie ÍSŤ DO mohol zmeniť program COBOL na krysie hniezdo ťažko vysledovateľných krížových odkazov.

Programovanie COBOLu dnes

COBOL prežije dnes v niekoľkých inkarnáciách. IBM aktívne udržiava svoje vlastné implementácie COBOL a udržiava mnoho existujúcich aplikácií COBOL tam, kde sú spustené. Micro Focus COBOL je komerčná edícia COBOL, ktorá beží na Microsoft Windows, kompiluje aplikácie COBOL do Java a .NET a dokonca sa nasadzuje do cloudových prostredí, ako je Azure. Nájdete tiež implementácie COBOL typu open source, napríklad GnuCOBOL, ktoré sú voľne dostupné a kompilujú sa do natívneho strojového kódu. Môžu im však chýbať niektoré z pokročilejších funkcií nasadenia alebo ladenia komerčných COBOLov.

Zatiaľ čo COBOL sa naďalej široko používa, hlboké odborné znalosti COBOLu sú s pribúdajúcimi rokmi čoraz ťažšie získať. Výsledkom je, že mnoho bývalých programátorov COBOLu musí byť vyvedených z dôchodku, aby zamiešali staršie aplikácie do 21. storočia. Často to nie sú práve znalosti programovania COBOL, ktoré sú nanajvýš prémiové, ale dôkladné pochopenie prostredí sálových počítačov, kde COBOL beží. Mnoho aplikácií COBOL pracuje ruka v ruke so starými technológiami, ako sú systémy riadenia transakcií a databázové systémy IBM IMS a CICS, ktoré si vyžadujú čoraz zriedkavejšie odborné znalosti.

Tak, ako sa COBOL môže javiť ako stará škola, s pribúdajúcim rokom narastala potreba znalostí jazyka COBOL a znalostí vývojového prostredia. Zoznamov pracovných miest pre COBOL a súvisiacich odborných znalostí je neúrekom. V marci 2020 vyslalo New Jersey tiesňové volanie pre programátorov COBOL, aby pomohli modernizovať systémy štátnej podpory v nezamestnanosti v dôsledku krízy COVID-19.

Naučte sa COBOL

Vzdelávacie zdroje pre COBOL sa opäť množia vzhľadom na rastúci dopyt po jazyku. Moderní vývojári, ktorí sa chcú vyrovnať s týmto najtrvalejším jazykom, majú niekoľko možností:

  • Univerzita v Limericku v Írsku ponúka kompletný kurz programovania COBOL online, s povolením svojej katedry informatiky a informačných systémov. Nie je to také aktuálne ako niektoré iné zdroje, ale vzhľadom na to, ako málo sa COBOL časom mení, to nemusí byť nutne chyba.
  • Projekt Open Mainframe (súčasť nadácie Linux Foundation) ponúka tiež zdroje COBOL. Jedným z nich je úplný kurz programovania COBOL, ktorý sponzoruje spoločnosť IBM. Je modernejší ako kurz University of Limerick a je šitý na mieru implementácii systému IBM COBOL zOS, ktorá je široko nasadenou verziou jazyka.

COBOL je už desaťročia základom podnikovej výpočtovej techniky a dopyt po programátorských talentoch COBOL iba rastie. Ak vás údržba alebo modernizácia programov COBOL zaujíma, zdá sa, že je tu čas, aby ste sa ponorili dovnútra.

$config[zx-auto] not found$config[zx-overlay] not found