Mūsdienu pasaule ir balstīta uz seno kodu. Tā ir problēma

senās kodēšanas valodas
Genevieve Poblano/Digital Trends

"Kā pie velna mēs šeit nonācām, ka mums burtiski ir vajadzīgi COBOL programmētāji?" vaicāja Ņūdžersijas gubernators Fils Mērfijs nesenā preses konferencē.

Saturs

  • Fortran
  • Ada
  • Paskāls
  • BASIC / Visual Basic
  • COBOL

Saskaroties ar vēl nebijušu skaitu bezdarbs pieteikumus, valstij bija nekavējoties jāpaplašina sava 40 gadus vecā bezdarba pieteikumu platforma - kapitālais remonts kas uzreiz aizsāka izmisīgu programmētāju meklēšanu, kas pārzina gadu desmitiem veco kodēšanas valodu COBOL.

Ieteiktie videoklipi

Tomēr šī problēma ir ne tikai Ņūdžersijā. Daudzas pasaules banku, aizsardzības un mākslīgā intelekta sistēmas izmanto programmēšanas valodas, kas bija modē, kad Apple beidzās no garāžas.

Tehnoloģiju nozare ir saistīta ar lietām, kas ir jaunas un progresīvas, taču, ja tās nebūtu senās kodēšanas valodas, piemēram, COBOL, Ada, Pascal un Fortran, kredītu industrija, zinātniskās pētniecības organizācijas un daudzas aizsardzības sistēmas nonāktu krasā. apstāties. Citiem vārdiem sakot, bez visa šī vecā koda mēs būtu sajukuši.

Piecdesmit gadus vecas programmēšanas valodas joprojām aprēķina miljoniem darījumu un statistikas, un tās kalpo par mugurkaulu sistēmām, uz kurām balstās mūsdienu pasaule. Piemēram, vairāk nekā 95 procenti bankomātu un 40 procenti banku izmanto COBOL kodu saskaņā ar 2017. Reuters ziņo.

Vairāki no šiem senajiem tabulatoriem joprojām ļoti labi veic noteiktas funkcijas. Ir arī daudzi uzņēmumu vadītāji, kuri nevēlas atšķirt laika pārbaudīto programmatūru, kas ir būtiska sava uzņēmuma uzņēmējdarbību, tāpēc tā vietā, lai veiktu kapitālremontu un modernizāciju, viņi vienkārši izlabo veco kodu un cer uz labākais.

Cīņa ar senajām tehnoloģijām nav jauna parādība. Piemēram, Kalifornija ir izpūtis simtiem miljonu dolāru, mēģinot atjaunināt savu DMV un algu tehnoloģiju. Tomēr pašreizējā pandēmija un tās izraisītais bezdarba vilnis ir parādījis, cik liela daļa Amerikas programmatūras infrastruktūras brūk tāpat kā fiziskā.

Šeit ir piecas “vintage” valodas, no kurām mūsu pasaule ir atkarīga vairāk, nekā jūs saprotat, un kāpēc tas jūs varētu nedaudz satraukt.

Fortran

fortran manuālais vāks

Ja nebūtu Fortran, daudzi superdatori un modeļi, ko izmantojam tādām lietām kā laikapstākļu prognozēšana, astrofizika un augsta līmeņa statistiskā analīze, vienkārši nedarbotos.

Fortran (saīsinājums no Formula Translation), ko IBM izveidoja 1950. gados, bija viena no pirmajām augsta līmeņa valodām, kas skaitļu vietā izmantoja vārdus un ļāva kodētājiem rakstīt programmas par 500% ātrāk nekā izmantojot mašīnu kodu. Mūsdienās šo valodu apgūst ne tik daudz izstrādātāju.

"Es visu laiku lietoju Fortran — es vienkārši nekad par to nedomāju," saka Džeimss Hovards, Džona Hopkinsa lietišķās fizikas laboratorijas datu zinātnieks. Lai gan Hovards šajā valodā nav programmējis gadiem ilgi, viņa lietojumprogrammas regulāri piekļūst Fortran galvenajām bibliotēkām. Uzcelti 70. gadu sākumā, tie ir labi uzturēti un "akli ātri".

Pēdējo reizi Hovardam bija jāraksta Fortran programma pirms aptuveni 10 gadiem. Viņš strādāja Federālajā rezervju sistēmā, un viņam vajadzēja pārvietot datus starp divām lietotnēm; viens, kas bija rakstīts C un otrs Fortran. Programmas pārtrauca sazināties, jo pārdevējs pārtrauca nodrošināt Fortran bibliotēku.

Apmēram 40 gadus vecais programmētājs atcerējās kaut ko, ko bija lasījis bērnībā, ka C programmēšanas valodas datu izsaukšanas struktūra ir pretēja Fortrana struktūrai. Viņš uzrakstīja vienkāršu skriptu, lai apgrieztu rīkojumu, un, voila, Federālo rezervju sistēma atkal sāka darboties.

fortran punchard

Ada

Valdības programmētāji paļaujas uz salīdzinoši neskaidru Ada kodu bāzi, izstrādājot sistēmas, kurām nepieciešama uzticamība, piemēram, aizsardzības un drošības sistēmas. Kas tieši tajā ir ieprogrammēts? Tas ir nedaudz valdības noslēpums, taču NASA un Boeing pēdējos gados ir izmantojuši Ada balstītu kodu, lai programmētu satelītus un lidmašīnas.

Aizsardzības departaments (DOD) pārraudzīja Ada izstrādi 1970. gados, lai samazinātu militārpersonu izmantoto programmēšanas valodu skaitu, kas tajā laikā pārsniedza 400. Ada tika veidota tā, lai tā būtu neapšaubāmi uzticama dzīvības vai nāves situācijās un aizsargāta pret programmētāja kļūdām. Lai gan valoda tika piegādāta 1980. gadā, Kongress to neatļāva izmantot visās valdības sistēmās līdz 1995. gadam. Divus gadus vēlāk DOD atteicās no mandāta, domājot, ka būs lētāk un elastīgāk izmantot plaši pieejamas, atjauninātas sistēmas. Bet tas joprojām tiek izmantots šodien.

Paskāls

paskāls plakāts
80. gadu sākumā Apple Pascal plakātu varēja atrast visā uzņēmuma birojā, sniedzot programmētājiem ieskatu par koda izmantošanu.

Daudzi programmētāji Paskālu uzskata par gandrīz mirušu programmēšanas valodu, taču tā dzīvo vairākos veidos. "Ticiet vai nē, tā joprojām ir ļoti populāra valoda daudzās pasaules daļās, bet ASV jūs varētu kā labi runājiet latīņu valodā,” saka Deivs Haters, kurš trīs gadus pavadīja lielā apdrošināšanas sabiedrībā, palīdzot atjaunināt a miljoniem koda rindu, kas aplēsa, cik maksā polises un cik tās maksā.

Daudzas no šīm vecākajām programmām tika rakstītas ilgi pirms mūsdienu bažām par drošības pārkāpumiem, un tajās ir sensitīva patentēta informācija. Haters, kurš tagad strādā par kiberdrošības tehnoloģiju, uzskata, ka programmas var būt salīdzinoši drošas tikai tāpēc, ka ir "drošība ar neskaidrību" — jaunie kodētāji nezina, ko darīt ar gadu desmitiem vecu kodu. "15 gadus vecam hakeram nebūs ne jausmas, kā strādāt ar sava veida IBM 390 lieldatoru ar COBOL," viņš saka. "Tagad es nesaku, ka viņi nevarēja mācīties. Bet viņi to nezinās."

Paskāls bija agrīnas Apple operētājsistēmas pamatā, un valodas pēctecei Delphi joprojām ir spēcīgi atbalstītāji. Faktiski Skype — viena no pirmajām videozvanu lietojumprogrammām, kas ieguva plašu popularitāti un izmantošanu — sākotnēji tika rakstīta Delphi.

BASIC / Visual Basic

BASIC nav tieši saraksta augšgalā, runājot par valodām, ko cilvēki lieto 2020. gadā, taču daudzas mūsdienu lietojumprogrammas, uz kurām mēs paļaujamies, bez tā vienkārši nepastāvētu. Piemēram, ja kādreiz esat ieprogrammējis Excel makro, esat izmantojis BASIC formu.

Saīsinājums no Beginner’s All-Purpose Symbolic Instruction Code, BASIC tika uzsākts 1963. gadā Dartmutas koledžā, lai mācītu plašai auditorijai programmēšanas teorijas un iespējas — iegremdēšanās ūdenī, pirms iedziļināties spēcīgākās valodās, piemēram, Fortran. BASIC popularitāte pieauga līdz ar personālo datoru — Apple, IBM un Atari datoriem visiem bija savas versijas.

Astoņdesmito gadu vidum pašmācītie datoru nerdi bija mazāk džeza par BASIC un vairāk interesējās par trešo pušu programmām. Pēc tam Microsoft 1991. gadā uzsāka Visual Basic, kas nebija gluži BASIC atjauninājums, bet izmantoja dažas tās pašas komandas un struktūru, kā arī labāku grafisko interfeisu. Pēc tam šo valodu izmantoja daudzi uzņēmumi, lai rakstītu lielas un mazas programmas. Lai gan Microsoft ir paziņojusi, ka 2008. gadā ir pārtraukusi Visual Basic 6 (jaunākās versijas) atbalstu, valodai joprojām ir daudz lietotāju. Pārbaudiet Tiobes indekss (kas parāda populārākās programmēšanas valodas): VB joprojām ir top 10!

COBOL

kobola plakāts
1969. gada plakāts, kas reklamē MIT COBOL klasi.

"Es teiktu, ka vairāk nekā 90% cilvēku, ko mēs redzam, COBOL ir viņu rakstītā galvenā sastāvdaļa," lēš Brendons Edenfīlds, kurš atjaunina un pārceļ mantotās lietotnes Mūsdienu sistēmas un ir palīdzējis pārskatīt Ņujorkas un Singapūras biržu kodu. "Jebkurā lielajā uzņēmumā, par kuru jūs varat iedomāties, iespējams, ir neveselīgs daudzums šo vielu."

COBOL, akronīms vārdam Common Business Oriented Language, tika ieviests 1959. gadā, lai veiktu tādus datu apstrādes uzdevumus kā budžeta izsekošana, banku darījumi un algu uzskaite. Aizsardzības departaments (DOD) sākotnēji izstrādāja valodu kā pieturas projektu. Tad DOD pieprasīja datoru ražotājiem iekļaut COBOL iekārtās, ko viņi pārdod, un šī valoda ātri izplatījās nākamajās desmitgadēs. Saskaņā ar 2017. gada pētījumu vairāk nekā 95% bankomātu un 40% banku joprojām izmanto COBOL kodu. Reuters ziņo.

Liela daļa šīs programmēšanas tika izvietota, izmantojot lieldatorus, un modernās sistēmas ir pārvietotas uz mākoni. Kā liecina Ņūdžersijas sarežģītā situācija, izstrādātāji, kuri zināja, kā uzturēt COBOL kodu, noveco no darbaspēka vai jau ir aizgājuši pensijā.

Uzņēmumi, kas modernizē šīs programmas, parasti to dara dažos dažādos veidos.

“Liels sistēmu integrators kodam izmetīs virkni ķermeņu; viņi apsēdīsies, apskatīs to un pārrakstīs,” saka Edenfīlds. Šī pieeja bieži ir visriskantākā, laikietilpīgākā un dārgākā. Vidēji manuāli kodēti, lieli pārveidošanas darbi var ilgt no 3 līdz 10 gadiem, un tie var maksāt simtiem miljonu dolāru.

Edenfield iesaka automatizētus risinājumus un saka, ka pirmais loģiskais solis var būt tikai koda pārvietošana no novecojusi COBOL versija uz pašreizējo, kas ļautu daudzām sistēmām pāriet uz modernām serveriem. Viņš salīdzina mašīnas atjaunināšanu ar franču valodas tulkošanu angļu valodā: “Sacītā pamats ir iztulkots perfekti. Jums vienkārši ir jālabo sintakse, kā tas ir formulēts. Šī pieeja var arī samazināt atjaunināšanas laiku un izmaksas, viņš saka, kaut kur no sešiem līdz 24 mēnešiem.

Vai tas būs lēts? Nu būs lētāk. Moderno sistēmu projektu cena parasti ir no 200 000 līdz 10 miljoniem USD. Liela projekta daļa, skaidro Edenfīlds, nevis tulko kodu, bet gan testē, lai pārliecinātos, ka viss tiek darīts pareizi.

Kāpēc šie atjauninājumi nenotiek?

"Neviens par to iepriekš nebija dzirdējis, jo tā nav seksīga tēma, un cilvēki parasti nemēģina runāt par netīro veļu, kas viņiem ir," viņš skaidro. IT vadītājiem ir arī ieradums spārdīt kannu.

"Es varu derēt, ka Ņūdžersijas štats tagad pievērsīs uzmanību šim jautājumam, taču es arī derēšu, ka puse viņu kolēģu domās, ka ar viņiem tas nenotiks, "ne es.""