Programmering

Er Java den næste COBOL?

I vores mani efter det nye er det praktisk at glemme, hvor længe den "gamle" forbliver hos os. Tag for eksempel COBOL. Det ærværdige programmeringssprog fylder 60 år i denne måned, og som Steven J. Vaughan-Nichols har skrevet, kunne det godt være "at overleve os alle."

Faktisk tilbyder COBOL et godt eksempel på det sande tempo i fremskridt inden for vores branche, samtidig med at det også giver nogle spor til, hvad morgendagens COBOL'er vil være. Java og SQL, nogen? Eller måske Python?

COBOL arbejdshesten

De fleste mennesker, der læser dette indlæg, blev ikke født i 1959, året Mary Hawes kom op med ideen til COBOL (Common Business-Oriented Language), som Grace Hopper (og andre) fortsatte med at formalisere og fremme. Hawes 'mål, som Vaughan-Nichols minder os om, var at skabe "et engelsk-lignende ordforråd, der kunne bruges på tværs af forskellige computere til at udføre grundlæggende forretningsopgaver", et ægte sælgerneutralt sprog.

Mens COBOLs storhedstid gik ud i 1980'erne, fortsætter den med at drive 70 procent af de globale transaktionsbehandlingssystemer ifølge Micro Focus (virksomheden, der vedligeholder COBOL), i et interview med Vaughan-Nichols. Trak penge fra en pengeautomat? Du brugte COBOL. Betalt pant? COBOL. Kaldt til et callcenter? Ja, det var også COBOL. Selv booking af din ferie er næsten helt sikkert afhængig af COBOL.

COBOL har angiveligt udløbet i årtier, men alligevel leverer 220 milliarder linjer COBOL videre i mainframes i vores liv. Ifølge Lero, et forskningscenter for softwareteknik, døbte COBOL-transaktioner Google-søgninger 200 gange i 2014. Vil Google nogensinde indhente?

COBOL er mere end nogen dotard, der bor i en mainframe-pensionat. Ud over at være let at læse, har sproget holdt sig opdateret med sine naboer. I dag integreres COBOL med Docker-containere og Java, mens du kører i skyen eller på Linux eller Windows eller næsten hvor som helst på noget. Det er et meget bærbart sprog, der giver udviklere mulighed for at fokusere på at skrive deres applikationer, mens COBOL tager sig af det indviklede i det underliggende operativsystem.

I dag er den største risiko for COBOL, at det bliver sværere og sværere at finde kvalificerede programmører. Sproget kan have årtier mere at leve hos os i betragtning af omkostningerne og risikoen ved at erstatte COBOL-baserede systemer med alternativer, men det betyder ikke, at udviklere vokser op og drømmer om at skrive deres første COBOL-program. Det er et problem, men ikke et problem, jeg har til formål at løse her i dette indlæg. (Undskyld!)

I stedet fik jeg en gennemgang af COBOLs 60-årige historie til at tænke på nutidens sprog, der kunne blive morgendagens "COBOL'er". Det vil sige, hvad er de sprog / teknologier, der stadig vil puttere rundt under emhætten på en lang række morgendagens teknologier?

Morgendagens COBOL i dag

Det er selvfølgelig svært at forudsige fremtiden, men der er stærke sager, der skal laves for SQL, Python og Java. Dave Kellogg har i årevis kaldt SQL for den nye COBOL. Det kan være tilfældet med hensyn til levetid og opfattelsen af, at det er forældet, men parallellen til sidst forlader. Der er kun en COBOL. På trods af alle sine foregivelser af standardisering taler SQL en anden dialekt afhængigt af databaseudbyderen. Selvom det ikke har forhindret SQL i at holde fast (og det vil helt sikkert forblive relevant i de kommende årtier), føles det ikke helt som en COBOL-slægt.

Bestemt ikke på samme måde som Java gør.

Java er ligesom COBOL relativt let at læse og skrive. Ligesom COBOL har Java opretholdt sin modernitet. Hver gang Java så ud til at falme, har noget gjort det bedre. Ifølge Brian Leroux er Android bestemt delvist ansvarlig for [Java's] fortsatte relevans. " Lidt senere genoplivet big data Java yderligere. Som Nitin Borwankar har fremhævet, “Java modtog [en] anden vind på grund af Hadoop og hele datavidenskabelige økosystem inklusive Hive, HBase, Spark, Cassandra, Kafka og JVM sprog som Groovy og Clojure. Alt dette forsvinder ikke når som helst. ”

Som med COBOL er en af ​​de primære grunde til, at vi sandsynligvis vil se Java ætset på vores gravsten, fordi det, som Jonathan Eunice skriver, er "distribueret dybt og bredt i kritiske apps, hvilket gør det værd at systematisk kritik." Jo flere virksomheder integrerer Java i deres mest missionskritiske apps, jo mindre sandsynligt er det, at det bliver rippet og udskiftet med moderne alternativer. Omkostningerne og risikoen mindsker mod at gøre det.

På samme måde kan Python godt bevise sin opholdskraft. Efter Lauren Coonys sind vil Python udholde, fordi det er et "GSD [få ting gjort] sprog versus et sejt sprog." Det er "ikke fancy." Det fungerer bare. Det er vigtigt, ligesom Java, at Python i stigende grad er grundlæggende for moderne datalogi, blandt andet, hvilket meget vel kan vise sig at være morgendagens transaktionsbelastninger, der er underliggende finansielle systemer (hvilket som nævnt er en stor grund til, at COBOL forbliver cool i dag).

Ellers andet? Nå, der er det ikke så tunge-i-kind-svar, at COBOL måske er den fremtidige COBOL. Som Andrew Oliver udtrykker det, ”For mange år siden sagde jeg, at Java er fremtidens COBOL. Alle så mærkeligt på mig. Jeg tror, ​​det er fremtiden. ”