Moderný svet je postavený na starovekom kóde. To je problém

staroveké kódovacie jazyky
Genevieve Poblano/Digitálne trendy

"Ako sme sa sem sakra dostali, že doslova potrebujeme programátorov COBOL?" spýtal sa na nedávnej tlačovej konferencii guvernér New Jersey Phil Murphy.

Obsah

  • Fortran
  • Ada
  • Pascal
  • BASIC / Visual Basic
  • COBOL

Tvárou v tvár bezprecedentnému množstvu nezamestnanosť štát musel okamžite rozšíriť svoju 40-ročnú platformu žiadostí o podporu v nezamestnanosti – generálnu opravu čo okamžite spustilo horúčkovité hľadanie programátorov, ktorí poznajú desaťročia starý kódovací jazyk COBOL.

Odporúčané videá

Nie je to však len New Jersey, kto má tento problém. Mnoho svetových bankových, obranných systémov a systémov umelej inteligencie využíva programovacie jazyky, ktoré boli v móde, keď Apple vyšiel z garáže.

Technologický priemysel má náklonnosť k veciam, ktoré sú nové a najmodernejšie, ale keby nebolo starých kódovacích jazykov ako COBOL, Ada, Pascal a Fortran, úverový priemysel, vedecké výskumné organizácie a početné obranné systémy by sa dostali do škrípania. zastaviť. Inými slovami, bez tohto starého kódu by sme boli v háji.

Päťdesiatročné programovacie jazyky stále počítajú milióny transakcií a štatistík a slúžia ako chrbtica systémov, na ktoré sa moderný svet spolieha. Napríklad viac ako 95 percent bankomatov a 40 percent bánk používa kód COBOL, podľa štúdie z roku 2017 Správa agentúry Reuters.

Niekoľko z týchto starých tabelátorov stále veľmi dobre vykonáva špecifické funkcie. Existuje tiež veľa obchodných manažérov, ktorí nechcú rozoberať časom overený softvér, ktorý je životne dôležitý pre podnikania svojej spoločnosti, takže namiesto prepracovania a modernizácie jednoducho opravujú starý kód a dúfajú v to najlepšie.

Zápas so starodávnou technológiou nie je novým fenoménom. Napríklad, Kalifornia vyhodil stovky miliónov dolárov pri aktualizácii svojej DMV a mzdovej technológie. Súčasná pandémia a výsledná vlna nezamestnanosti však osvetlili, aká veľká časť americkej softvérovej infraštruktúry sa rozpadá podobne ako tá fyzická.

Tu je päť „starých“ jazykov, na ktorých závisí náš svet viac, než si uvedomujete, a prečo vás to môže znervózňovať.

Fortran

manuálny kryt fortran

Keby nebolo Fortranu, mnohé zo superpočítačov a modelov, ktoré používame na veci, ako je predpoveď počasia, astrofyzika a štatistická analýza na vysokej úrovni, by jednoducho nefungovali.

Fortran (skratka pre preklad vzorcov), ktorý postavila IBM v 50. rokoch minulého storočia, bol jedným z prvých jazykov na vysokej úrovni, použil slová namiesto čísel a umožnil kóderom písať programy o 500 % rýchlejšie ako pri použití stroja kód. Dnes sa jazyk neučí ani zďaleka toľko vývojárov.

„Fortran používam neustále – len o tom nikdy nepremýšľam,“ hovorí James Howard, dátový vedec z Johns Hopkins Applied Physics Laboratory. Aj keď Howard roky neprogramoval v jazyku, jeho aplikácie pravidelne pristupujú k základným knižniciam Fortranu. Postavené na začiatku 70. rokov, sú dobre udržiavané a „slepo rýchle“.

Naposledy musel Howard napísať program Fortran asi pred 10 rokmi. Pracoval vo Federálnom rezervnom systéme a potreboval presúvať údaje medzi dvoma aplikáciami; jeden, ktorý bol napísaný v C a druhý vo Fortrane. Programy prestali komunikovať, pretože predajca prestal poskytovať knižnicu Fortran.

40-ročný programátor si spomenul na niečo, čo čítal ako dieťa, že štruktúra volania dát pre programovací jazyk C je opakom štruktúry Fortranu. Napísal jednoduchý scenár na prevrátenie objednávky a, voila, Federálny rezervný systém bol späť v činnosti.

fortran punchard

Ada

Vládni programátori sa pri vývoji systémov, ktoré vyžadujú spoľahlivosť, ako sú obranné a bezpečnostné systémy, spoliehajú na relatívne nejasnú kódovú základňu Ada. Čo konkrétne je v ňom naprogramované? No, to je trochu vládne tajomstvo, ale NASA a Boeing v posledných rokoch použili kód založený na Ada na programovanie satelitov a lietadiel.

Ministerstvo obrany (DOD) dohliadalo na vývoj Ada v 70. rokoch, aby sa znížil počet programovacích jazykov používaných armádou, ktorých bolo v tom čase viac ako 400. Ada bola postavená tak, aby bola nesporne spoľahlivá v situáciách života alebo smrti a bola posilnená proti chybám programátora. Hoci bol jazyk dodaný v roku 1980, Kongres nariadil jeho používanie vo všetkých vládnych systémoch až do roku 1995. O dva roky neskôr DOD opustilo svoj mandát a usúdilo, že bude lacnejšie a flexibilnejšie využívať široko dostupné, aktuálne systémy. Ale používa sa dodnes.

Pascal

pascal plagát
Začiatkom 80-tych rokov bolo možné v kancelárii spoločnosti nájsť plagát Apple Pascal, ktorý programátorom poskytol prehľad o tom, ako používať kód.

Mnoho programátorov považuje Pascal za takmer mŕtvy programovací jazyk, no žije ďalej niekoľkými spôsobmi. „Verte tomu alebo nie, v mnohých častiach sveta je to stále veľmi populárny jazyk, ale v USA by ste dobre hovorte po latinsky,“ hovorí Dave Hatter, ktorý strávil tri roky vo veľkej poisťovni a pomáhal aktualizovať a miliónov riadkov kódu, ktoré odhadli, aké náklady na politiku stoja a koľko zaplatia.

Mnohé z týchto starších programov boli napísané dávno pred dnešnými obavami z narušenia bezpečnosti a mali citlivé vlastnícke informácie. Hatter, ktorý teraz pracuje ako technik kybernetickej bezpečnosti, si myslí, že programy môžu byť relatívne bezpečné len kvôli „zabezpečeniu neznámou“ – mladí kóderi nevedia, čo robiť s desaťročím starým kódom. „Pätnásťročný hacker nebude mať poňatia, ako pracovať s nejakým druhom IBM 390 mainframe s COBOL,“ hovorí. „Teraz nehovorím, že sa nemohli učiť. Ale oni sa to nedozvedia."

Pascal bol základom pre skorý operačný systém Apple a potomok jazyka, Delphi, má stále silných zástancov. V skutočnosti bol Skype – jedna z prvých aplikácií na videohovory, ktorá si získala širokú popularitu a používanie – bol pôvodne napísaný v Delphi.

BASIC / Visual Basic

BASIC nie je úplne na vrchole zoznamu, pokiaľ ide o jazyky, ktoré ľudia používajú v roku 2020, ale mnohé z moderných aplikácií, na ktoré sa spoliehame, by bez neho jednoducho neexistovali. Ak ste napríklad niekedy programovali makro Excel, použili ste formu BASIC.

BASIC, skratka pre Beginner’s All-Purpose Symbolic Instruction Code, bol spustený v roku 1963 na Dartmouth College ako spôsob výučby širokému publiku teórie a možnosti programovania – ponorte sa do vody predtým, ako sa dostanete do robustnejších jazykov, ako je Fortran. Popularita BASICu vzrástla spolu s osobnými počítačmi – počítače Apple, IBM a Atari mali svoje verzie.

V polovici 80-tych rokov sa počítačoví nerdi, samouci, menej zaujímali o BASIC a viac sa zaujímali o programy tretích strán. Potom Microsoft v roku 1991 spustil Visual Basic, ktorý nebol presne aktualizáciou BASICu, ale používal niektoré rovnaké príkazy a štruktúru a mal lepšie grafické rozhranie. Potom tento jazyk využili mnohé podniky na písanie veľkých aj malých programov. Aj keď Microsoft povedal, že zastavil podporu pre Visual Basic 6 (najnovšiu verziu) v roku 2008, ale tento jazyk má stále veľa používateľov. Skontrolovať Tiobeho indexu (ktorý mapuje najpopulárnejšie programovacie jazyky): VB je stále v top 10!

COBOL

cobol plagát
Plagát z roku 1969 propagujúci triedu MIT COBOL.

„Povedal by som, že viac ako 90 % ľudí, ktorých vidíme, má COBOL ako základnú súčasť toho, čo napísali,“ odhaduje Brandon Edenfield, ktorý aktualizuje a prevádza staršie aplikácie pre Moderné systémy a pomohol revidovať kódex pre burzy v New Yorku a Singapure. "Akákoľvek veľká spoločnosť, na ktorú si spomeniete, má pravdepodobne nezdravé množstvo týchto vecí."

COBOL, skratka pre Common Business-Oriented Language, bol uvedený na trh v roku 1959 so zameraním na úlohy spracovania údajov, ako je sledovanie rozpočtu, bankové transakcie a mzdové účtovníctvo. Ministerstvo obrany (DOD) pôvodne navrhlo jazyk ako predbežný projekt. Potom DOD požadovalo, aby výrobcovia počítačov zahrnuli COBOL do strojov, ktoré predávali, a jazyk sa rýchlo rozšíril v priebehu niekoľkých nasledujúcich desaťročí. Viac ako 95 % bankomatov a 40 % bánk stále používa kód COBOL, podľa správy z roku 2017 Správa agentúry Reuters.

Veľká časť tohto programovania bola nasadená prostredníctvom sálových počítačov a moderné systémy sa presunuli do cloudu. Ako ukazuje ťažká situácia v New Jersey, vývojári, ktorí vedeli, ako udržiavať kód COBOL, starnú z pracovnej sily alebo už odišli do dôchodku.

Spoločnosti, ktoré modernizujú tieto programy, to zvyčajne robia niekoľkými rôznymi spôsobmi.

„Veľký systémový integrátor vrhne na kód veľa tiel; sadnú si, pozrú si to a prepíšu to,“ hovorí Edenfield. Tento prístup je často najrizikovejší, časovo náročný a nákladný. Ručne kódované veľké replatformačné úlohy môžu v priemere trvať 3 až 10 rokov a môžu stáť stovky miliónov dolárov.

Edenfield odporúča automatizované riešenia a hovorí, že prvým logickým krokom môže byť práve presun kódu z zastaranú verziu COBOL na súčasnú, ktorá by mnohým systémom umožnila prechod na modernú serverov. Strojovú aktualizáciu prirovnáva k prekladu francúzštiny do angličtiny: „Základ toho, čo sa hovorí, je preložený dokonale. Musíte len opraviť syntax toho, ako je to formulované." Tento prístup môže tiež skrátiť čas a náklady na aktualizáciu, hovorí, niekde na šesť až 24 mesiacov.

Bude to lacné? No bude to lacnejšie. Projekty moderných systémov sa zvyčajne pohybujú v cene od 200 000 do 10 miliónov dolárov. Veľká časť projektu, vysvetľuje Edenfield, neprekladá kód, ale testuje, aby sa ubezpečil, že robí všetko správne.

Prečo sa tieto aktualizácie nedejú?

„Nikto o tom predtým nepočul, pretože to nie je sexi téma a ľudia sa zvyčajne nesnažia hovoriť o špinavej bielizni, ktorú majú,“ vysvetľuje. Vedúci IT majú tiež vo zvyku kopať do plechovky.

"Stavím sa s vami, že štát New Jersey bude teraz venovať pozornosť tejto otázke, ale stavím sa s vami aj o to, že polovica ich kolegov si bude myslieť, že im sa to nestane," nie ja."