Lumea modernă este construită pe un cod antic. Asta e o problema

limbaje de codare antice
Genevieve Poblano/Digital Trends

„Cum naiba am ajuns aici că avem nevoie literalmente de programatori COBOL?” a întrebat guvernatorul New Jersey Phil Murphy la o conferință de presă recentă.

Cuprins

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

Confruntat cu un număr fără precedent de şomaj cereri, statul a trebuit să-și extindă imediat platforma de cereri de șomaj veche de 40 de ani - o revizuire care a declanșat instantaneu o căutare frenetică a programatorilor familiarizați cu limbajul de codare vechi de zeci de ani COBOL.

Videoclipuri recomandate

Totuși, nu doar New Jersey are această problemă. Multe dintre sistemele bancare, de apărare și de inteligență artificială din lume folosesc limbaje de programare care erau în vogă atunci când Apple a rămas fără garaj.

Industria tehnologică are o afinitate pentru lucruri noi și de ultimă oră, dar dacă nu ar fi limbaje antice de codare precum COBOL, Ada, Pascal și Fortran, industria creditului, organizațiile de cercetare științifică și numeroasele sisteme de apărare ar ajunge la un zgomot. oprire. Cu alte cuvinte, fără tot acest cod vechi, am fi înșelați.

Limbajele de programare vechi de cincizeci de ani încă calculează milioane de tranzacții și statistici și servesc drept coloană vertebrală pentru sistemele pe care se bazează lumea modernă. De exemplu, peste 95% dintre bancomate și 40% dintre bănci folosesc codul COBOL, conform unui raport din 2017. Raportul Reuters.

Câteva dintre aceste tabulatoare antice încă îndeplinesc funcții specifice foarte bine. Există, de asemenea, o mulțime de directori de afaceri care nu doresc să deaparte software-ul testat în timp, care este vital pentru afacerea companiei lor, așa că în loc să revizuiască și să se modernizeze, pur și simplu corectează codul vechi și speră în Cel mai bun.

Lupta cu tehnologia antică nu este un fenomen nou. De exemplu, California a aruncat sute de milioane de dolari încercând să-și actualizeze tehnologia DMV și de salarizare. Cu toate acestea, pandemia actuală și valul de șomaj rezultat au arătat cât de mult din infrastructura software a Americii se prăbușește ca și cea fizică.

Iată cinci limbi „de epocă” de care depinde lumea noastră mai mult decât îți dai seama și de ce asta te-ar putea face puțin nervos.

Fortran

capacul manual fortran

Dacă nu ar fi fost Fortran, multe dintre supercalculatoarele și modelele pe care le folosim pentru lucruri precum predicția vremii, astrofizica și analiza statistică la nivel înalt pur și simplu nu ar funcționa.

Construit de IBM în anii 1950, Fortran (prescurtarea de la Formula Translation) a fost unul dintre primele limbaje de nivel înalt care a folosit cuvinte în loc de numere și a făcut posibil ca programatorii să scrie programe cu 500% mai rapid decât atunci când folosesc mașina cod. Nu atât de mulți dezvoltatori învață limba astăzi.

„Folosesc Fortran tot timpul – pur și simplu nu mă gândesc niciodată la asta”, spune James Howard, cercetător de date la Laboratorul de Fizică Aplicată Johns Hopkins. Deși Howard nu a programat în limba de ani de zile, aplicațiile sale accesează în mod regulat bibliotecile de bază ale Fortran. Construite la începutul anilor 70, sunt bine întreținute și „orbitor de rapide”.

Ultima dată când Howard a trebuit să scrie un program Fortran a fost acum aproximativ 10 ani. Lucra la Rezerva Federală și trebuia să mute datele între două aplicații; unul care a fost scris în C și celălalt în Fortran. Programele au încetat să comunice pentru că furnizorul a încetat să ofere biblioteca Fortran.

Programatorul de 40 de ani și-a amintit ceva ce citise când era copil, că structura de apelare a datelor pentru limbajul de programare C este opusă celei lui Fortran. A scris un scenariu simplu pentru a inversa comanda și, voilà, Rezerva Federală a revenit în afaceri.

fortran punchard

Ada

Programatorii guvernamentali se bazează pe baza de cod Ada relativ obscure atunci când dezvoltă sisteme care necesită fiabilitate, cum ar fi sistemele de apărare și siguranță. Ce anume este programat în el? Ei bine, acesta este puțin secret de guvern, dar NASA și Boeing au folosit ambele coduri bazate pe Ada în ultimii ani pentru a programa sateliți și avioane.

Departamentul Apărării (DOD) a supravegheat dezvoltarea Ada în anii 1970 pentru a reduce numărul de limbaje de programare folosite de armată, care la acea vreme era de peste 400. Ada a fost construită pentru a fi indiscutabil de încredere în situații de viață sau de moarte și întărită împotriva erorilor programatorului. Deși limba a fost livrată în 1980, Congresul nu a impus utilizarea sa în toate sistemele guvernamentale până în 1995. Doi ani mai târziu, DOD a abandonat mandatul, imaginându-se că va fi mai ieftin și mai flexibil să folosești sisteme actualizate, disponibile pe scară largă. Dar este încă în uz astăzi.

Pascal

poster pascal
La începutul anilor ’80, posterul Apple Pascal putea fi găsit în biroul companiei, oferind programatorilor o perspectivă despre cum să folosească codul.

Mulți programatori consideră Pascal un limbaj de programare aproape mort, dar trăiește în mai multe moduri. „Credeți sau nu, este încă o limbă foarte populară în multe părți ale lumii, dar în S.U.A., ați putea bine să vorbești latină”, spune Dave Hatter, care a petrecut trei ani la o mare companie de asigurări, ajutând la actualizarea unui milioane de linii de cod care au estimat ce costă polițele și cât au plătit.

Multe dintre aceste programe mai vechi au fost scrise cu mult înainte de preocupările de astăzi cu privire la breșele de securitate și au informații confidențiale. Hatter, care lucrează acum ca tehnologie de securitate cibernetică, consideră că programele ar putea fi relativ sigure doar din cauza „securității prin obscuritate” – tinerii programatori nu știu ce să facă cu codul vechi de zeci de ani. „Un hacker de 15 ani nu va avea idee cum să lucreze cu un fel de mainframe IBM 390 cu COBOL”, spune el. „Acum nu spun că nu ar putea învăța. Dar ei nu vor ști.”

Pascal a stat la baza unui sistem de operare Apple timpuriu, iar descendentul limbii, Delphi, are încă susținători puternici. De fapt, Skype – una dintre primele aplicații de apeluri video care a câștigat popularitate și utilizare pe scară largă – a fost scrisă inițial în Delphi.

BASIC / Visual Basic

BASIC nu este tocmai în fruntea listei când vine vorba de limbile pe care oamenii le folosesc în 2020, dar multe dintre aplicațiile moderne pe care ne bazăm pur și simplu nu ar exista fără el. De exemplu, dacă ați programat vreodată o macrocomandă Excel, ați folosit o formă de BASIC.

Prescurtare de la Codul de instrucțiuni simbolice universale pentru începători, BASIC a fost lansat în 1963 la Dartmouth College ca o modalitate de a preda un publicul general teoriile și capacitățile de programare - o baie în apă înainte de a intra în limbaje mai robuste, cum ar fi Fortran. Popularitatea BASIC a crescut odată cu computerul personal - computerele Apple, IBM și Atari aveau toate versiunile lor.

Pe la mijlocul anilor 1980, tocilarii de computere autodidacți erau mai puțin interesați de BASIC și mai interesați de programele terțelor părți. Apoi, Microsoft a lansat Visual Basic în 1991, care nu a fost tocmai o actualizare a BASIC, ci a folosit unele comenzi și structură identice și a avut o interfață grafică mai bună. Apoi limbajul a fost folosit de numeroase companii pentru a scrie programe mari și mici. Chiar dacă Microsoft a declarat că a oprit suportul pentru Visual Basic 6 (cea mai recentă versiune) în 2008, însă limbajul are încă mulți utilizatori. Verifică Indicele Tiobe (care prezintă cele mai populare limbaje de programare): VB este încă în top 10!

COBOL

poster cobol
Un poster din 1969 care promovează o clasă MIT COBOL.

„Aș spune că peste 90% dintre oamenii pe care îi vedem au COBOL ca parte esențială a ceea ce au scris”, estimează Brandon Edenfield, care actualizează și face tranziția aplicațiilor vechi pentru Sisteme moderne și a ajutat la revizuirea codului pentru bursele din New York și Singapore. „Orice companie importantă la care vă puteți gândi probabil are o cantitate nesănătoasă din aceste lucruri.”

COBOL, un acronim pentru Common Business-Oriented Language, a fost lansat în 1959, orientat către sarcini de procesare a datelor, cum ar fi urmărirea bugetului, tranzacțiile bancare și contabilitatea salariilor. Departamentul Apărării (DOD) a conceput inițial limbajul ca un proiect intermediar. Apoi, DOD a cerut producătorilor de computere să includă COBOL pe mașinile pe care le-au vândut, iar limbajul s-a răspândit rapid în următoarele câteva decenii. Peste 95% din bancomate și 40% dintre bănci încă folosesc codul COBOL, conform unui 2017 Raportul Reuters.

O mare parte din această programare a fost implementată prin calculatoare mainframe, iar sistemele moderne s-au mutat în cloud. După cum a ilustrat situația din New Jersey, dezvoltatorii care au știut să mențină codul COBOL îmbătrânesc din forța de muncă sau s-au pensionat deja.

Companiile care modernizează aceste programe fac de obicei acest lucru în câteva moduri diferite.

„Un mare integrator de sisteme va arunca o grămadă de corpuri în cod; se vor așeza, se vor uita la el și se vor rescrie”, spune Edenfield. Această abordare este adesea cea mai riscantă, consumatoare de timp și costisitoare. În medie, lucrările de replatformări mari, codificate manual, pot dura de la 3 la 10 ani și pot costa sute de milioane de dolari.

Edenfield recomandă soluții automate și spune că primul pas logic poate fi doar mutarea codului din o versiune învechită a COBOL la una actuală, care ar permite multor sisteme să treacă la modern servere. El compară o actualizare automată cu traducerea franceză în engleză: „Baza a ceea ce se spune este tradus perfect. Trebuie doar să repari sintaxa modului în care este formulată.” Această abordare poate reduce, de asemenea, timpul și costul unei actualizări, spune el, undeva între șase și 24 de luni.

Va fi ieftin? Ei bine, va fi mai ieftin. Proiectele de sisteme moderne variază de obicei în prețuri între 200.000 USD și 10 milioane USD. O mare parte a proiectului, explică Edenfield, nu traduce codul, ci testează pentru a se asigura că face totul corect.

Motivul pentru care aceste actualizări nu au loc?

„Nimeni nu a auzit despre asta înainte pentru că nu este un subiect sexy și oamenii nu încearcă de obicei să vorbească despre rufele murdare pe care le au”, explică el. Directorii IT au, de asemenea, un obicei de a da cu piciorul pe drum.

„Vă pun pariu că statul New Jersey va acorda atenție acestei probleme acum, dar, de asemenea, vă voi paria că jumătate dintre colegii lor vor crede că nu li se va întâmpla, „Nu mie”.