Programavimas

Kas yra COBOL? COBOL programavimas paaiškintas

Kai kurios technologijos niekada nemiršta - jos tiesiog nublanksta į medžio dirbinius.

Paprašykite vidutinio programinės įrangos kūrėjo apie COBOL („Common Business Oriented Language“) ir jie pažvelgs į jus taip, tarsi paminėtumėte anglinį popierių, švino benziną ar 78 aps./min. Rekordą. Palyginti su šiuolaikinėmis kalbomis, tokiomis kaip „Go“ arba „Python“ - ar net „Pascal“ ar „C!“, COBOL atrodo žodingas, nepatogus, nepaprastas.

Tačiau COBOL ištvėrė. Toli gražu ne senstanti technologija, su kuria mes laimingai išsiskyrėme, COBOL tapo įstaiga. Masyvios COBOL kodų bazės vis dar naudojamos visame pasaulyje, daugelis jų veikia beveik tiksliai taip, kaip buvo kuriant pirmą kartą. Holivudo kalba COBOL kalba turi „kojas“.

Taigi, taip, COBOL vis dar yra aktualus ir savalaikis - iš tikrųjų skausmingas. Pastaraisiais mėnesiais COBOL vėl pateko į visuomenės sąmonę, nes tokios valstybės kaip Naujasis Džersis kvietė programuotojus padėti perkelti savo COBOL programas į XXI amžių.

Šiame kūrinyje mes apžvelgsime COBOL ištakas, kaip programavimo kalbos dizainas išsiskiria ir šiandien ir kuo COBOL yra tiek patvarus, tiek neįveikiamas.

COBOL istorija

COBOL atsirado 1950-ųjų pabaigoje ir 1960-ųjų pradžioje. Kalbos plėtra buvo Jungtinių Valstijų gynybos departamento (DoD) remiamas projektas, į kurį įėjo kompiuterių kompanijų konsorciumas, įskaitant IBM, Honeywell, Sperry Rand ir Burroughs. Tikslas buvo sukurti programavimo kalbą su šiais atributais:

  • Perkeliamumas tarp kompiuterių sistemų, taip palengvinantis programinės įrangos perkėlimą tiek aparatūros kartose, tiek tarp aparatūros gamintojų.
  • Daugiau angliška sintaksė nei kitomis to meto kalbomis (pvz., FORTRAN), kaip būdas paskatinti programavimą platesnei auditorijai, net ir tam tikro operacinio greičio sąskaita.
  • Gebėjimas pritaikyti būsimus kalbos pokyčius.

Pirmosios oficialios COBOL specifikacijos pasirodė 1960 m. Per ateinantį dešimtmetį ir kritikams pasibaisėjus, COBOL tapo numatytuoju verslo programų rašymo pasirinkimu. Viena iš greito išplitimo priežasčių buvo tinklo efektai: IBM, vienas iš originalių šios kalbos bendradarbių, tapo agresyviu ankstyvuoju taikytoju, o dominuojantis IBM buvimas skaičiavimo pasaulyje padėjo prisidėti prie COBOL įsisavinimo.

Dėl savo konstrukcinių pranašumų ir sunkiųjų pramonės palaikymo COBOL įstrigo, o originalias sistemas, kurioms ji buvo sukurta, gerokai viršijo. Remiantis įvairiais vertinimais, iki 1970 m. COBOL buvo plačiausiai naudojama programavimo kalba pasaulyje. Manoma, kad iki 1997 m. COBOL veikia apie 80 procentų verslo programų.

COBOL kalba

COBOL dizaineriai tuo metu nutraukė kitų programavimo kalbų (ir vėl, pavyzdžiui, FORTRAN) sintaksę. Idėja buvo sukurti programavimo kalbą, kurią galėtų skaityti ir suprasti ne programuotojai, ypač apskaitos, finansų, draudimo ir kiti verslo profesionalai.

Apsvarstykite „labo pasaulio“ programą, parašytą ankstyvuoju COBOL dialektu:

IDENTIFIKAVIMO SKYRIUS.

PROGRAMOS ID. LABAS PASAULI.

PROCEDŪROS Padalijimas.

PARODYKITE „Sveikas pasauli!“.

PABAIGA-EKRANAS.

STABDYKITE.

Šiuolaikinės programinės įrangos kūrėjams, auginantiems tokias kalbas kaip „Python“, šis kodas yra daugiažodis. Tačiau COBOL (jei ne jo vykdymo) daugiažodiškumas kyla iš to paties sumanymo, kuris informuoja tokias šiuolaikines kalbas kaip „Python“ - tas kodas yra skaitomas daug kartų, nei parašyta, todėl jis turėtų būti parašytas taip, kad būtų skaitomas.

Panaši programa šiuolaikiškesnėje COBOL versijoje gali atrodyti maždaug taip:

programos ID. Sveiki.

procedūrų padalijimas.

rodyti „Sveikas pasaulis!“.

nustok bėgti.

Nors šis pavyzdys yra glaustesnis, galioja tie patys pagrindiniai principai: Kodas siekia aiškiai nurodyti, kas vyksta kiekviename žingsnyje.

COBOL turi griežtas taisykles dėl sintaksės ir vidinio programų organizavimo. COBOL programa yra aiškiai suskirstyta į skyrius arba padalijimai, kurie palengvina jo komponentų paiešką ir supratimą iš pirmo žvilgsnio:

  • Identifikavimo skyrius: Iš esmės metaduomenų skyrius, kuriame pateikiama išsami informacija apie programą, jos autorių ir pan.
  • Aplinkos skyrius: Pateikiama išsami informacija apie vykdymo laiką, pvz., Išorinių įrenginių slapyvardžiai, kuriuos gali tekti redaguoti, kai programa vykdoma skirtingoje aparatinėje įrangoje. Tai padeda perkelti programą tarp sistemų, kur, pavyzdžiui, įvestis / išvestis gali būti tvarkoma visiškai kitaip.
  • Duomenų padalijimas: Turintysfailą ir darbo saugykla skyriuose, duomenų skyriuje aprašomi failai ir kintamieji (atitinkamai), naudojami programoje.
  • Procedūrų padalijimas: Čia gyvena tikrasis programos kodas, suskirstytas į vadinamus loginius vienetus skyriai, pastraipos, sakiniaiir pareiškimus. Pagunda šias struktūras analizuoti moduliais ar funkcijomis, nes jos atlieka maždaug tas pačias funkcijas (kodo padalijimas į blokus, su apribotais įėjimais ir išėjimais), tačiau jos yra kur kas mažiau lanksčios.

COBOL taip pat turi itin griežtas kodo formatavimo taisykles, iki tarpų, esančių prieš komandą, skaičiaus. („Python“ vartotojams tai bus įprasta!) Kai kurie iš šių apribojimų yra šalutinis COBOL pilnametystės rezultatas šešiasdešimtojo dešimtmečio didžiųjų kadrų epochoje, kai programos buvo užkoduotos perforuotose kortelėse ir buvo svarbus tikslus 80 stulpelių eilučių formatas. . Tačiau kiti formatavimo apribojimai užtikrina įskaitomumą.

Griežto COBOL programų pulko idėja yra padaryti jas kuo labiau dokumentuojančias. Galų gale, COBOL programos buvo linkusios veikti metus ar dešimtmečius. Tikslas (jei ne visada galutinis rezultatas) buvo padaryti kiekvieną COBOL programą artefaktu, kurį bet kuris COBOL programuotojas galėtų suprasti net po daugelio metų, be ją sukūrusio programuotojo pagalbos.

COBOL iššūkiai

Didžioji dalis tolesnio COBOL paplitimo ir inercijos atsiranda dėl to, kad parašytos COBOL programos buvo linkusios palikti neribotą laiką, tik su nedideliais pakeitimais. Kuo didesnė ir kritiškesnė programa, tuo mažiau tikėtina, kad ji bus sutrikdyta. Pagrindiniai kompiuteriai, kaip ir IBM pasiūlymai, suvaidino pagrindinį vaidmenį: jie buvo sukurti taip, kad būtų labai suderinami su atgaline data ir kad būtų galima naudoti pasenusią programinę įrangą, pvz., „COBOL“ programas, aparatūros kartoms su minimaliomis modifikacijomis. Rezultatas: milijardai COBOL kodo eilučių, kurios iš esmės nepakito dešimtmečius.

Bėgant metams, COBOL turi evoliucionavo, jei lėtai. Net ir dabar jis turi į objektą orientuotą variantą „OO-COBOL“, kuris apima šiuolaikinių funkcijų, tokių kaip „Unicode“, lokalės, ir pažangesnių duomenų tipų palaikymą už eilučių ir sveikųjų skaičių. Tačiau COBOL agresyviai palaiko atgalinį suderinamumą, todėl net šie patobulinimai ir plėtiniai atitinka mandatą, kad esamos COBOL programos turi ir toliau veikti.

Ne visi COBOL kalbos dizaino pasirinkimai buvo populiarūs tarp COBOL programuotojų. Kai kurios programos sukėlė pernelyg sudėtingas programas, kurios pasirodė sunkiai suprantamos ar derinamos, atgrasė nuo perrašymo ar patobulinimų. COBOL EITI Į komanda, kaip ir jos kolegos C, leido programuotojams laisvai šokinėti aplink programą ir taip rašyti galingesnes programas. Bet nedrausmingas naudojimas EITI Į galėtų paversti COBOL programą žiurkių sunkiai atsekamų kryžminių nuorodų lizdu.

COBOL programavimas šiandien

COBOL šiandien išgyvena keliais įsikūnijimais. IBM aktyviai prižiūri savo COBOL diegimus ir palaiko daugelį esamų COBOL programų, kur jos veikia. „Micro Focus COBOL“ yra komercinis „COBOL“ leidimas, kuris veikia „Microsoft Windows“, kaupia COBOL programas į „Java“ ir .NET ir netgi diegia debesų aplinkose, tokiose kaip „Azure“. Taip pat rasite COBOL, pvz., „GnuCOBOL“, atvirojo kodo diegimus, kurie yra laisvai prieinami ir kompiliuojami pagal vietinį kompiuterio kodą. Tačiau jiems gali trūkti kai kurių pažangesnių komercinių COBOL diegimo ar derinimo funkcijų.

Nors COBOL išlieka plačiai naudojamas, gilių COBOL žinių vis sunkiau gauti kiekvienais metais. Todėl daugelis buvusių „COBOL“ programuotojų turi būti priversti išeiti iš pensijos, kad išpūstų senesnes programas į XXI amžių. Dažniausiai ne COBOL programavimo žinios yra aukščiausios kokybės, o intymus supratimas apie pagrindinio kompiuterio aplinką, kurioje veikia COBOL. Daugelis COBOL programų dirba kartu su pasenusiomis technologijomis, tokiomis kaip IBM IMS ir CICS operacijų valdymas ir duomenų bazių sistemos, kurioms reikalinga vis retesnė patirtis.

Taigi, kad ir kaip atrodytų COBOL senoje mokykloje, COBOL kalbos ir plėtros bei aplinkos žinių poreikis kasmet didėjo. Gausu COBOL darbo vietų sąrašų ir susijusių žinių. 2020 m. Kovo mėn. Naujasis Džersis paskelbė skubų kvietimą COBOL programuotojams padėti atnaujinti valstybines bedarbio pašalpų sistemas po krizės COVID-19.

Sužinokite COBOL

Atsižvelgiant į augančią kalbos paklausą, COBOL mokymosi išteklių vėl daugėja. Šiuolaikiniai kūrėjai, norintys paspartinti šias patvariausias kalbas, turi keletą galimybių:

  • Limeriko universitetas, Airija, siūlo pilną COBOL programavimo kursą internete, sutinkamai su Kompiuterių mokslo ir informacinių sistemų katedra. Tai nėra tokia naujausia informacija, kaip kai kurie kiti šaltiniai, tačiau atsižvelgiant į tai, kiek mažai COBOL keičiasi laikui bėgant, tai nebūtinai yra trūkumas.
  • „Open Mainframe“ projektas („Linux Foundation“ dalis) taip pat siūlo COBOL išteklius. Vienas iš jų yra visas COBOL programavimo kursas, kurį bendrai remia IBM. Jis yra modernesnis nei Limeriko universiteto kursas ir pritaikytas IBM „zOS“ diegimui „COBOL“, kuris yra plačiai naudojama kalbos versija.

COBOL dešimtmečius buvo verslo skaičiavimo pagrindas, o COBOL programavimo talentų paklausa tik auga. Jei COBOL programų išlaikymas ar modernizavimas jus domina, atrodo, kad laikas pasinerti yra labiau nei bet kada anksčiau.

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