„Kaip, po velnių, mums reikia COBOL programuotojų? – paklausė Naujojo Džersio gubernatorius Philas Murphy neseniai vykusioje spaudos konferencijoje.
Turinys
- Fortranas
- Ada
- Paskalis
- BASIC / Visual Basic
- COBOL
Susidūrė su precedento neturinčiu skaičiumi nedarbas paraiškų, valstybė turėjo nedelsiant išplėsti savo 40 metų senumo nedarbo išmokų platformą – kapitalinį remontą tai akimirksniu pradėjo pašėlusią programuotojų, susipažinusių su dešimtmečių senumo kodavimo kalba, paieškas COBOL.
Rekomenduojami vaizdo įrašai
Tačiau šią problemą turi ne tik Naujasis Džersis. Daugelis pasaulio bankininkystės, gynybos ir dirbtinio intelekto sistemų naudojasi programavimo kalbomis, kurios buvo madingos tada, kai „Apple“ pritrūko garažo.
Technologijų pramonė yra susijusi su naujais ir pažangiausiais dalykais, tačiau jei ne senovės kodavimo kalbos, tokios kaip COBOL, „Ada“, „Pascal“ ir „Fortran“, kredito pramonė, mokslinių tyrimų organizacijos ir daugybė gynybos sistemų sukeltų pyktį. sustabdyti. Kitaip tariant, be viso šio seno kodo būtume suklaidinti.
Penkiasdešimties metų senumo programavimo kalbos vis dar skaičiuoja milijonus operacijų ir statistikos bei yra sistemų, kuriomis remiasi šiuolaikinis pasaulis, pagrindas. Pavyzdžiui, daugiau nei 95 procentai bankomatų ir 40 procentų bankų naudoja COBOL kodą, remiantis 2017 m. Reuters praneša.
Kai kurie iš šių senovinių tabulatorių vis dar labai gerai atlieka specifines funkcijas. Taip pat yra daug įmonių vadovų, kurie nenori atskirti laiko patikrintos programinės įrangos, kuri yra gyvybiškai svarbi savo įmonės verslą, todėl užuot atnaujinę ir modernizuodami, jie tiesiog pataiso seną kodą ir tikisi geriausia.
Imtynės su senovės technologijomis nėra naujas reiškinys. Pavyzdžiui, Kalifornija išpūtė šimtus milijonų dolerių bandydama atnaujinti savo DMV ir darbo užmokesčio technologiją. Tačiau dabartinė pandemija ir dėl to kylanti nedarbo banga atskleidė, kiek Amerikos programinės įrangos infrastruktūros griūva kaip ir fizinė.
Štai penkios „senovinės“ kalbos, nuo kurių mūsų pasaulis priklauso daugiau nei jūs suprantate, ir kodėl tai gali jus šiek tiek nervinti.
Fortranas
Jei ne Fortran, daugelis superkompiuterių ir modelių, kuriuos naudojame tokiems dalykams kaip orų prognozavimas, astrofizika ir aukšto lygio statistinė analizė, tiesiog neveiks.
IBM sukurta šeštajame dešimtmetyje, Fortran (sutrumpintas iš formulės vertimo) buvo viena iš pirmųjų aukšto lygio kalbų, vietoj skaičių naudojo žodžius ir leido programuotojams rašyti programas 500% greičiau nei naudojant mašiną kodas. Šiandien kalbos mokosi ne tiek daug kūrėjų.
„Aš visą laiką naudoju Fortran – tiesiog niekada apie tai negalvoju“, – sako Johnso Hopkinso taikomosios fizikos laboratorijos duomenų mokslininkas Jamesas Howardas. Nors Howardas daugelį metų neprogramavo šia kalba, jo programos reguliariai pasiekia pagrindines Fortran bibliotekas. Pastatyti 70-ųjų pradžioje, jie yra gerai prižiūrimi ir „akinančiai greiti“.
Paskutinį kartą Howardas turėjo rašyti Fortran programą maždaug prieš 10 metų. Jis dirbo Federaliniame rezerve ir turėjo perkelti duomenis tarp dviejų programų; vienas buvo parašytas C, o kitas – Fortran. Programos nustojo bendrauti, nes pardavėjas nustojo teikti Fortran biblioteką.
40 metų programuotojas prisiminė tai, ką skaitė vaikystėje, kad C programavimo kalbos duomenų iškvietimo struktūra yra priešinga Fortrano struktūrai. Jis parašė paprastą scenarijų, kad pakeistų įsakymą, ir, voila, Federalinis rezervas vėl pradėjo veikti.
Ada
Kurdami patikimumo reikalaujančias sistemas, tokias kaip gynybos ir saugos sistemas, vyriausybės programuotojai remiasi gana neaiškia Ada kodų baze. Kas tiksliai jame užprogramuota? Na, tai šiek tiek vyriausybės paslaptis, tačiau NASA ir Boeing pastaraisiais metais naudojo Ada pagrįstą kodą palydovams ir lėktuvams programuoti.
Gynybos departamentas (DOD) prižiūrėjo Ada kūrimą aštuntajame dešimtmetyje, kad sumažintų kariuomenės naudojamų programavimo kalbų skaičių, kuris tuo metu buvo daugiau nei 400. Ada buvo sukurta taip, kad būtų neabejotinai patikima gyvybės ar mirties situacijose ir apsaugota nuo programuotojo klaidų. Nors kalba buvo pristatyta 1980 m., Kongresas neįpareigojo ją naudoti visose vyriausybės sistemose iki 1995 m. Po dvejų metų DOD atsisakė mandato, manydama, kad bus pigiau ir lanksčiau naudoti plačiai prieinamas, naujausias sistemas. Bet jis vis dar naudojamas ir šiandien.
Paskalis
Daugelis programuotojų Paskalį laiko beveik mirusia programavimo kalba, tačiau ji gyvuoja keliais būdais. „Patikėkite ar ne, tai vis dar labai populiari kalba daugelyje pasaulio šalių, bet JAV galite gerai kalbėkite lotyniškai“, – sako Dave'as Hatteris, trejus metus praleidęs didelėje draudimo bendrovėje, padėdamas atnaujinti a milijonų eilučių kodo, kuriame buvo apskaičiuota, kiek polisai kainuoja ir kiek sumokėjo.
Daugelis šių senesnių programų buvo parašytos gerokai anksčiau nei šiandien nerimaujama dėl saugumo pažeidimų ir jose yra slaptos nuosavybės informacijos. Hateris, kuris dabar dirba kibernetinio saugumo techniku, mano, kad programos gali būti gana saugios vien dėl „saugumo neaiškumų“ – jaunieji programuotojai nežino, ką daryti su dešimtmečių senumo kodu. „15 metų įsilaužėlis net neįsivaizduos, kaip dirbti su tam tikru IBM 390 pagrindiniu kompiuteriu su COBOL“, – sako jis. „Dabar nesakau, kad jie negalėjo mokytis. Bet jie to nesužinos“.
Pascal buvo ankstyvosios Apple operacinės sistemos pagrindas, o šios kalbos palikuonis Delphi vis dar turi stiprių šalininkų. Tiesą sakant, „Skype“ – viena pirmųjų vaizdo skambučių programų, plačiai išpopuliarėjusių ir naudojusių – iš pradžių buvo parašyta „Delphi“.
BASIC / Visual Basic
BASIC nėra tiksliai sąrašo viršuje, kai kalbama apie kalbas, kurias žmonės vartoja 2020 m., tačiau daugelis šiuolaikinių programų, kuriomis remiamės, tiesiog neegzistuotų be jos. Pavyzdžiui, jei kada nors užprogramavote „Excel“ makrokomandą, naudojote BASIC formą.
Trumpas „Beginner's All-Purpose Symbolic Instruction Code“, BASIC buvo pradėtas 1963 m. Dartmuto koledže, siekiant mokyti plačiajai auditorijai susipažinti su programavimo teorijomis ir galimybėmis – panirti į vandenį prieš pradedant mokytis patikimesnių kalbų, pvz. Fortranas. BASIC populiarumas išaugo kartu su asmeniniu kompiuteriu – „Apple“, „IBM“ ir „Atari“ kompiuteriai turėjo savo versijas.
Devintojo dešimtmečio viduryje savamoksliai kompiuterių vėplai mažiau domėjosi BASIC ir labiau domėjosi trečiųjų šalių programomis. Tada „Microsoft“ 1991 m. išleido „Visual Basic“, kuri nebuvo visiškai BASIC atnaujinimas, bet naudojo tas pačias komandas ir struktūrą bei turėjo geresnę grafinę sąsają. Tada šią kalbą naudojo daugybė įmonių, rašydamos dideles ir mažas programas. Nors „Microsoft“ teigė, kad 2008 m. sustabdė „Visual Basic 6“ (naujausios versijos) palaikymą, kalba vis dar turi daug vartotojų. Patikrink Tiobe indeksas (kuris rodo populiariausias programavimo kalbas): VB vis dar yra 10 geriausių!
COBOL
„Sakyčiau, daugiau nei 90 % žmonių, kuriuos matome, COBOL yra pagrindinė to, ką jie parašė“, – apskaičiavo Brandonas Edenfieldas, atnaujinantis ir perkeliantis pasenusias programas Šiuolaikinės sistemos ir padėjo peržiūrėti Niujorko ir Singapūro vertybinių popierių biržų kodą. „Kiekviena didelė įmonė, apie kurią galite pagalvoti, tikriausiai turi nesveiką kiekį šios medžiagos.
COBOL, bendrosios į verslą orientuotos kalbos santrumpa, buvo paleista 1959 m., skirta duomenų apdorojimo užduotims, tokioms kaip biudžeto sekimas, banko operacijos ir darbo užmokesčio apskaita. Gynybos departamentas (DOD) iš pradžių sukūrė kalbą kaip sustabdymo projektą. Tada DOD reikalavo, kad kompiuterių gamintojai į parduodamus įrenginius įtrauktų COBOL, o kalba greitai išplito per ateinančius kelis dešimtmečius. Daugiau nei 95% bankomatų ir 40% bankų vis dar naudoja COBOL kodą, rodo 2017 m. Reuters praneša.
Didžioji šio programavimo dalis buvo įdiegta per pagrindinius kompiuterius, o šiuolaikinės sistemos buvo perkeltos į debesį. Kaip parodė kebli Naujojo Džersio padėtis, kūrėjai, kurie žinojo, kaip išlaikyti COBOL kodą, sensta iš darbo jėgos arba jau išėjo į pensiją.
Įmonės, kurios modernizuoja šias programas, paprastai tai daro keliais skirtingais būdais.
„Didelis sistemų integratorius išmes aibę kūnų į kodą; jie atsisės, pažiūrės ir perrašys“, – sako Edenfieldas. Toks metodas dažnai yra rizikingiausias, daug laiko reikalaujantis ir brangiausias. Vidutiniškai rankiniu būdu užkoduoti dideli pertvarkymo darbai gali užtrukti nuo 3 iki 10 metų ir kainuoti šimtus milijonų dolerių.
Edenfieldas rekomenduoja automatizuotus sprendimus ir teigia, kad pirmasis logiškas žingsnis gali būti tik kodo perkėlimas iš pasenusi COBOL versija į dabartinę, kuri leistų daugeliui sistemų pereiti prie modernių serveriai. Mašininį atnaujinimą jis lygina su prancūzų kalbos vertimu į anglų kalbą: „Pagrindas to, kas sakoma, išversta puikiai. Jūs tiesiog turite pataisyti sintaksę, kaip ji suformuluota. Toks požiūris taip pat gali sumažinti atnaujinimo laiką ir išlaidas, sako jis, nuo šešių iki 24 mėnesių.
Ar bus pigu? Na, bus pigiau. Šiuolaikinių sistemų projektų kaina paprastai svyruoja nuo 200 000 USD iki 10 mln. Didelė projekto dalis, aiškina Edenfield, ne verčia kodą, o testuoja, kad įsitikintų, jog viskas daroma teisingai.
Kodėl šie atnaujinimai nevyksta?
„Anksčiau niekas apie tai negirdėjo, nes tai nėra seksuali tema, o žmonės paprastai nesistengia kalbėti apie turimus nešvarius skalbinius“, – aiškina jis. IT vadovai taip pat turi įprotį spardyti skardinę kelyje.
„Lažinuosi, kad Naujojo Džersio valstija dabar atkreips dėmesį į šią problemą, bet taip pat lažinuosi, kad pusė jų kolegų manys, kad jiems taip neatsitiks: „Ne man“.