Den moderne verden er bygget på gammel kode. Det er et problem

gamle kodesprog
Genevieve Poblano/Digital Trends

"Hvordan pokker kom vi hertil, at vi bogstaveligt talt har brug for COBOL-programmører?" spurgte New Jerseys guvernør Phil Murphy på et nyligt pressemøde.

Indhold

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

Stillet over for et hidtil uset antal arbejdsløshed ansøgninger, måtte staten udvide sin 40 år gamle arbejdsløshedskravsplatform med det samme - en overhaling som øjeblikkeligt satte gang i en hektisk søgen efter programmører, der var fortrolige med det årtier gamle kodesprog COBOL.

Anbefalede videoer

Det er dog ikke kun New Jersey, der har dette problem. En masse af verdens bank-, forsvars- og kunstige intelligenssystemer tuder med programmeringssprog, der var på mode, da Apple blev kørt ud af en garage.

Den teknologiske industri har en affinitet for ting, der er nye og banebrydende, men hvis det ikke var for ældgamle kodesprog som COBOL, Ada, Pascal og Fortran, kreditindustrien, videnskabelige forskningsorganisationer og adskillige forsvarssystemer ville komme til at skrige standse. Med andre ord, uden al denne gamle kode, ville vi være skruet sammen.

50 år gamle programmeringssprog beregner stadig millioner af transaktioner og statistikker og fungerer som rygraden for systemer, som den moderne verden er afhængig af. For eksempel bruger over 95 procent af pengeautomaterne og 40 procent af bankerne COBOL-kode, ifølge en 2017 Det skriver Reuters.

Flere af disse gamle tabulatorer udfører stadig specifikke funktioner meget godt. Der er også mange virksomhedsledere, der ikke ønsker at adskille den tidstestede software, der er afgørende for deres virksomheds forretning, så i stedet for at revidere og modernisere, lapper de simpelthen gammel kode og håber på bedst.

Brydning med gammel teknologi er ikke et nyt fænomen. For eksempel, Californien har blæst hundredvis af millioner af dollars i forsøget på at opdatere sin DMV- og lønningsteknologi. Alligevel har den nuværende pandemi og den resulterende bølge af arbejdsløshed belyst, hvor meget af USAs softwareinfrastruktur, der smuldrer som dens fysiske.

Her er fem "vintage" sprog, vores verden afhænger mere af, end du er klar over, og hvorfor det kan gøre dig lidt nervøs.

Fortran

fortran manuel dæksel

Hvis det ikke var for Fortran, ville mange af de supercomputere og modeller, som vi bruger til ting som vejrudsigelse, astrofysik og statistisk analyse på højt niveau, simpelthen ikke fungere.

Fortran (forkortelse for Formula Translation) blev bygget af IBM i 1950'erne og var et af de første sprog på højt niveau, der brugte ord i stedet for tal og gjorde det muligt for programmerere at skrive programmer 500 % hurtigere end ved brug af maskine kode. Ikke nær så mange udviklere lærer sproget i dag.

"Jeg bruger Fortran hele tiden - jeg tænker bare aldrig over det," siger James Howard, en dataforsker ved Johns Hopkins Applied Physics Laboratory. Selvom Howard ikke har programmeret på sproget i årevis, får hans applikationer regelmæssigt adgang til Fortrans kernebiblioteker. Bygget i begyndelsen af ​​70'erne, er de velholdte og "blindende hurtige."

Sidste gang Howard skulle skrive et Fortran-program var for omkring 10 år siden. Han arbejdede i Federal Reserve og havde brug for at flytte data mellem to apps; en der var skrevet i C og den anden i Fortran. Programmerne holdt op med at kommunikere, fordi leverandøren holdt op med at levere Fortran-biblioteket.

Den 40-årige programmør huskede noget, han havde læst som barn, at dataopkaldsstrukturen for C-programmeringssproget er modsat Fortrans. Han skrev et simpelt manuskript for at vende ordren, og voila, Federal Reserve var tilbage i gang.

fortran punchard

Ada

Offentlige programmører stoler på den relativt obskure Ada-kodebase, når de udvikler systemer, der kræver pålidelighed, såsom forsvars- og sikkerhedssystemer. Hvad er der helt præcist programmeret i den? Nå, det er lidt af en regeringshemmelighed, men NASA og Boeing har begge brugt Ada-baseret kode i de seneste år til at programmere satellitter og fly.

Forsvarsministeriet (DOD) overvågede udviklingen af ​​Ada i 1970'erne for at reducere antallet af programmeringssprog, der blev brugt af militæret, som på det tidspunkt var over 400. Ada blev bygget til at være utvivlsomt pålidelig i liv-eller-død situationer og forstærket mod programmørfejl. Selvom sproget blev leveret i 1980, gav kongressen ikke mandat til dets brug i alle regeringssystemer før 1995. To år senere opgav DOD mandatet og regnede med, at det ville være billigere og mere fleksibelt at bruge bredt tilgængelige, opdaterede systemer. Men den er stadig i brug i dag.

Pascal

pascal plakat
I begyndelsen af ​​80'erne kunne Apple Pascal-plakaten findes overalt på virksomhedens kontor, hvilket gav programmører indsigt i, hvordan man bruger koden.

Mange programmører betragter Pascal som et næsten dødt programmeringssprog, men det lever videre på flere måder. "Tro det eller ej, det er stadig et meget populært sprog i mange dele af verden, men i USA kan du måske som godt tal latin,” siger Dave Hatter, der tilbragte tre år i et stort forsikringsselskab med at hjælpe med at opdatere en millioner linjer kode, der estimerede, hvad policer kostede, og hvor meget de betalte.

Mange af disse ældre programmer blev skrevet længe før nutidens bekymringer om sikkerhedsbrud og har følsomme proprietære oplysninger. Hatter, der nu arbejder som cybersikkerhedstekniker, regner med, at programmerne kan være relativt sikre bare på grund af "sikkerhed ved uklarhed" - unge kodere ved ikke, hvad de skal gøre med årtier gammel kode. "En 15-årig hacker vil ikke have nogen idé om, hvordan man arbejder med en slags IBM 390 mainframe med COBOL," siger han. »Nu siger jeg ikke, at de ikke kunne lære. Men de vil ikke vide det."

Pascal var grundlaget for et tidligt Apple-operativsystem, og sprogets efterkommer, Delphi, har stadig stærke fortalere. Faktisk blev Skype - en af ​​de første videoopkaldsapplikationer, der opnåede udbredt popularitet og brug - oprindeligt skrevet i Delphi.

BASIC / Visual Basic

BASIC er ikke ligefrem øverst på listen, når det kommer til sprog, som folk bruger i 2020, men mange af de moderne applikationer, vi stoler på, ville simpelthen ikke eksistere uden det. For eksempel, hvis du nogensinde har programmeret en Excel-makro, har du brugt en form for BASIC.

Forkortelse for Beginner's All-Purpose Symbolic Instruction Code, BASIC blev lanceret i 1963 på Dartmouth College som en måde at undervise en generelt publikum teorierne og mulighederne ved programmering - en dukkert i vandet, før du kommer ind på mere robuste sprog som Fortran. Populariteten af ​​BASIC steg sammen med den personlige computer - Apple-, IBM- og Atari-computere havde alle deres versioner.

I midten af ​​1980'erne var selvlærte computernørder mindre jazzede over BASIC og mere interesserede i tredjepartsprogrammer. Så lancerede Microsoft Visual Basic i 1991, som ikke ligefrem var en opdatering af BASIC, men brugte nogle af de samme kommandoer og struktur og havde en bedre grafisk grænseflade. Så blev sproget brugt af adskillige virksomheder til at skrive store og små programmer. Selvom Microsoft har sagt, at det stoppede understøttelsen af ​​Visual Basic 6 (den seneste version) i 2008, men sproget har stadig masser af brugere. Tjek Tiobe Indeks (som kortlægger de mest populære programmeringssprog): VB er stadig i top 10!

COBOL

cobol plakat
En plakat fra 1969, der promoverer en MIT COBOL-klasse.

"Jeg vil sige, at over 90 % af de mennesker, vi ser, har COBOL som en kernedel af det, de har skrevet," vurderer Brandon Edenfield, der opdaterer og overfører ældre apps til Moderne systemer og har hjulpet med at revidere kode for børserne i New York og Singapore. "Enhver større virksomhed, du kan komme i tanke om, har sandsynligvis en usund mængde af disse ting."

COBOL, et akronym for Common Business-Oriented Language, blev lanceret i 1959 rettet mod databehandlingsopgaver som budgetsporing, banktransaktioner og lønregnskab. Department of Defense (DOD) designede oprindeligt sproget som et stopgab-projekt. Så krævede DOD, at computerproducenter inkluderede COBOL på maskiner, de solgte, og sproget spredte sig hurtigt over de næste par årtier. Over 95 % af pengeautomater og 40 % af banker bruger stadig COBOL-kode, ifølge en 2017 Det skriver Reuters.

Meget af denne programmering blev implementeret gennem mainframe-computere, og moderne systemer er flyttet til skyen. Som New Jerseys knibe illustrerede, ældes de udviklere, der vidste, hvordan man vedligeholder COBOL-koden, ud af arbejdsstyrken eller er allerede gået på pension.

Virksomheder, der moderniserer disse programmer, gør det typisk på et par forskellige måder.

"En stor systemintegrator vil kaste en masse kroppe efter koden; de sætter sig ned, ser på det og omskriver det,” siger Edenfield. Den tilgang er ofte den mest risikable, tidskrævende og omkostningskrævende. I gennemsnit kan håndkodede, store replatforming-job tage fra 3 til 10 år og kan koste hundredvis af millioner af dollars.

Edenfield anbefaler automatiserede løsninger og siger, at det første logiske skridt kan være blot at flytte koden fra en forældet version af COBOL til en nuværende, hvilket ville gøre det muligt for mange systemer at gå over til moderne servere. Han sammenligner en maskinopdatering med at oversætte fransk til engelsk: "Grundlaget for det, der bliver sagt, er oversat perfekt. Du skal bare rette syntaksen for, hvordan det er formuleret." Den tilgang kan også bringe tiden og omkostningerne ved en opdatering ned, siger han, et sted mellem seks og 24 måneder.

Vil det være billigt? Nå, det bliver billigere. Moderne Systems-projekter varierer typisk i pris fra $200.000 til $10 millioner. En stor del af projektet, forklarer Edenfield, er ikke at oversætte koden, men at teste for at sikre, at den gør alt rigtigt.

Årsagen til at disse opdateringer ikke sker?

"Ingen har hørt om det her før, fordi det ikke er et sexet emne, og folk prøver normalt ikke at tale om det snavsede vasketøj, de har," forklarer han. IT-chefer har også for vane at sparke dåsen ned ad vejen.

"Jeg vil vædde på, at staten New Jersey vil være opmærksom på dette spørgsmål nu, men jeg vil også vædde på, at halvdelen af ​​deres kolleger vil tro, at det ikke vil ske for dem, 'Ikke mig'."