Den moderna världen är byggd på forntida kod. Det är ett problem

uråldriga kodspråk
Genevieve Poblano/Digital Trends

"Hur fan kom vi hit att vi bokstavligen behöver COBOL-programmerare?" frågade New Jerseys guvernör Phil Murphy vid en presskonferens nyligen.

Innehåll

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

Inför ett aldrig tidigare skådat antal arbetslöshet ansökningar var staten tvungen att omedelbart utöka sin 40-åriga arbetslöshetsplattform – en översyn som omedelbart startade ett frenetiskt sökande efter programmerare som är bekanta med det decennier gamla kodspråket COBOL.

Rekommenderade videor

Det är dock inte bara New Jersey som har detta problem. Många av världens bank-, försvars- och artificiella intelligenssystem håller på med programmeringsspråk som var på modet när Apple kördes ut ur ett garage.

Teknikindustrin har en affinitet för saker som är nya och banbrytande, men om det inte vore för uråldriga kodningsspråk som COBOL, Ada, Pascal och Fortran, kreditindustrin, vetenskapliga forskningsorganisationer och många försvarssystem skulle komma till ett skrik. stanna. Med andra ord, utan all den här gamla koden, skulle vi vara skruvade.

Femtio år gamla programmeringsspråk beräknar fortfarande miljontals transaktioner och statistik och fungerar som ryggraden för system som den moderna världen förlitar sig på. Till exempel använder över 95 procent av uttagsautomaterna och 40 procent av bankerna COBOL-kod, enligt en 2017 Det rapporterar Reuters.

Flera av dessa gamla tabulatorer utför fortfarande specifika funktioner mycket bra. Det finns också många företagsledare som inte vill plocka isär den beprövade programvaran som är avgörande för deras företags verksamhet, så istället för att se över och modernisera, lappar de helt enkelt gammal kod och hoppas på bäst.

Att brottas med gammal teknik är inget nytt fenomen. Till exempel, Kalifornien har blåst hundratals miljoner dollar genom att försöka uppdatera sin DMV- och löneteknologi. Ändå har den nuvarande pandemin och den resulterande vågen av arbetslöshet belyst hur mycket av Amerikas mjukvaruinfrastruktur som faller sönder som den fysiska.

Här är fem "vintage" språk som vår värld beror på mer än du inser, och varför det kan göra dig lite nervös.

Fortran

fortran manuellt lock

Om det inte vore för Fortran, skulle många av superdatorerna och modellerna som vi använder för saker som väderförutsägelser, astrofysik och statistisk analys på hög nivå helt enkelt inte fungera.

Fortran (förkortning för formelöversättning) byggdes av IBM på 1950-talet och var ett av de första högnivåspråken som använde ord istället för siffror och gjorde det möjligt för kodare att skriva program 500 % snabbare än när de använde maskin koda. Inte alls lika många utvecklare lär sig språket idag.

"Jag använder Fortran hela tiden - jag tänker aldrig på det", säger James Howard, en dataforskare vid Johns Hopkins Applied Physics Laboratory. Även om Howard inte har programmerat på språket på flera år, kommer hans applikationer regelbundet åt Fortrans kärnbibliotek. De byggdes i början av 70-talet och är välskötta och "blindande snabba".

Senast Howard var tvungen att skriva ett Fortran-program var för cirka 10 år sedan. Han arbetade på Federal Reserve och behövde flytta data mellan två appar; en som skrevs i C och den andra i Fortran. Programmen slutade kommunicera eftersom leverantören slutade tillhandahålla Fortran-biblioteket.

Programmeraren i 40-årsåldern kom ihåg något han hade läst som barn, att dataanropsstrukturen för programmeringsspråket C är motsatt Fortrans. Han skrev ett enkelt manus för att vända ordern och voila, Federal Reserve var tillbaka i verksamheten.

fortran punchard

Ada

Regeringsprogrammerare förlitar sig på den relativt oklara Ada-kodbasen när de utvecklar system som kräver tillförlitlighet, såsom försvars- och säkerhetssystem. Vad exakt är programmerat i den? Tja, det är lite av en regeringshemlighet, men NASA och Boeing har båda använt Ada-baserad kod under de senaste åren för att programmera satelliter och flygplan.

Försvarsdepartementet (DOD) övervakade utvecklingen av Ada på 1970-talet för att minska antalet programmeringsspråk som användes av militären, som vid den tiden var över 400. Ada byggdes för att vara otvivelaktigt pålitlig i situationer på liv eller död och förstärkt mot programmeringsfel. Även om språket levererades 1980, gav kongressen inte mandat att det skulle användas i alla regeringssystem förrän 1995. Två år senare övergav DOD uppdraget och ansåg att det skulle bli billigare och mer flexibelt att använda allmänt tillgängliga, uppdaterade system. Men den används fortfarande idag.

Pascal

pascal affisch
I början av 80-talet kunde Apple Pascal-affischen hittas på hela företagets kontor, vilket gav programmerare insikt om hur man använder koden.

Många programmerare anser att Pascal är ett nästan dött programmeringsspråk, men det lever vidare på flera sätt. "Tro det eller ej, det är fortfarande ett mycket populärt språk i många delar av världen, men i USA kan du som väl prata latin, säger Dave Hatter, som tillbringade tre år på ett stort försäkringsbolag och hjälpte till att uppdatera en miljoner rader kod som uppskattade vad försäkringar kostade och hur mycket de betalade.

Många av dessa äldre program skrevs långt innan dagens farhågor om säkerhetsintrång och har känslig proprietär information. Hatter, som nu arbetar som cybersäkerhetstekniker, tror att programmen kan vara relativt säkra bara på grund av "säkerhet genom dunkel" - unga kodare vet inte vad de ska göra med decennier gammal kod. "En 15-årig hackare kommer inte ha någon aning om hur man arbetar med någon sorts IBM 390 stordator med COBOL", säger han. "Nu säger jag inte att de inte kunde lära sig. Men de kommer inte att veta."

Pascal var grunden för ett tidigt Apple-operativsystem, och språkets ättling, Delphi, har fortfarande starka förespråkare. Faktum är att Skype - en av de första videosamtalapplikationerna som fick stor popularitet och användning - ursprungligen skrevs i Delphi.

BASIC / Visual Basic

BASIC är inte precis högst upp på listan när det kommer till språk som människor använder 2020, men många av de moderna applikationer vi litar på skulle helt enkelt inte existera utan det. Till exempel, om du någonsin har programmerat ett Excel-makro, har du använt en form av BASIC.

Förkortning för Beginner's All-Purpose Symbolic Instruction Code, BASIC lanserades 1963 vid Dartmouth College som ett sätt att lära ut en allmän publik teorierna och kapaciteten med programmering — ett dopp i vattnet innan du går in på mer robusta språk som Fortran. Populariteten för BASIC steg tillsammans med persondatorn - Apple-, IBM- och Atari-datorer hade alla sina versioner.

I mitten av 1980-talet var självlärda datornördar mindre förtjusta i BASIC och mer intresserade av tredjepartsprogram. Sedan lanserade Microsoft Visual Basic 1991, vilket inte precis var en uppdatering av BASIC, utan använde en del av samma kommandon och struktur och hade ett bättre grafiskt gränssnitt. Sedan användes språket av många företag för att skriva stora och små program. Även om Microsoft har sagt att det slutade stödet för Visual Basic 6 (den senaste versionen) 2008, men språket har fortfarande många användare. Kolla Tiobe Index (som listar de mest populära programmeringsspråken): VB är fortfarande på topp 10!

COBOL

cobol affisch
En affisch från 1969 som marknadsför en MIT COBOL-klass.

"Jag skulle säga att över 90 % av människorna vi ser har COBOL som en central del av det de har skrivit," uppskattar Brandon Edenfield, som uppdaterar och flyttar äldre appar för Moderna system och har hjälpt till att revidera koden för börserna i New York och Singapore. "Varje större företag som du kan tänka dig har förmodligen en ohälsosam mängd av det här."

COBOL, en akronym för Common Business-Oriented Language, lanserades 1959 inriktat på databearbetningsuppgifter som budgetspårning, banktransaktioner och löneredovisning. Försvarsdepartementet (DOD) designade ursprungligen språket som ett stoppprojekt. Sedan krävde DOD datortillverkarna att inkludera COBOL på maskiner de sålde och språket spred sig snabbt under de närmaste decennierna. Över 95 % av uttagsautomaterna och 40 % av bankerna använder fortfarande COBOL-kod, enligt en 2017 Det rapporterar Reuters.

Mycket av denna programmering distribuerades via stordatorer och moderna system har flyttat till molnet. Som New Jerseys svåra situation illustrerade, åldras utvecklarna som visste hur man upprätthåller COBOL-koden ur arbetsstyrkan eller har redan gått i pension.

Företag som moderniserar dessa program gör det vanligtvis på några olika sätt.

"En stor systemintegratör kommer att kasta en massa kroppar på koden; de kommer att sitta ner, titta på det och skriva om det, säger Edenfield. Det tillvägagångssättet är ofta det mest riskfyllda, tidskrävande och kostsamma. I genomsnitt kan handkodade, stora omplattformsjobb ta från 3 till 10 år och kan kosta hundratals miljoner dollar.

Edenfield rekommenderar automatiserade lösningar och säger att det första logiska steget kan vara att bara flytta koden från en föråldrad version av COBOL till en nuvarande, vilket skulle göra det möjligt för många system att gå över till moderna servrar. Han liknar en maskinuppdatering med att översätta franska till engelska: "Grunden för det som sägs är perfekt översatt. Du måste bara fixa syntaxen för hur det är formulerat." Det tillvägagångssättet kan också sänka tiden och kostnaden för en uppdatering, säger han, någonstans mellan sex och 24 månader.

Blir det billigt? Jo, det blir billigare. Moderna systemprojekt varierar vanligtvis i pris från $200 000 till $10 miljoner. En stor del av projektet, förklarar Edenfield, är inte att översätta koden, utan att testa för att se till att allt görs rätt.

Anledningen till att dessa uppdateringar inte sker?

"Ingen har hört talas om det här förut eftersom det inte är ett sexigt ämne, och folk brukar inte försöka prata om den smutsiga tvätten de har", förklarar han. IT-chefer har också för vana att sparka burken på vägen.

"Jag kommer att slå vad om att delstaten New Jersey kommer att uppmärksamma den här frågan nu, men jag kommer också att slå vad om att hälften av deras kollegor kommer att tro att det inte kommer att hända dem, "Inte jag."