Ohjelmointi

Onko Java seuraava COBOL?

Uuden maniassa on kätevää unohtaa kuinka kauan "vanha" pysyy kanssamme. Otetaan esimerkiksi COBOL. Kunnioitettava ohjelmointikieli täyttää 60 tässä kuussa, ja kuten Steven J. Vaughan-Nichols on kirjoittanut, se voisi "elää meitä kaikkia".

COBOL tarjoaa todellakin loistavan esimerkin todellisesta edistymisvauhdistamme teollisuudessamme, mutta kenties tarjoaa myös joitain vihjeitä siitä, mitä huomiset COBOLit tulevat olemaan. Java ja SQL, kukaan? Tai ehkä Python?

COBOL työhevonen

Suurin osa tätä viestiä lukeneista ihmisistä ei ole syntynyt vuonna 1959, vuonna Mary Hawes keksinyt idean COBOL-kielelle (Common Business-Oriented Language), jonka Grace Hopper (ja muut) jatkoivat virallistamista ja mainostamista. Hawesin tavoite, kuten Vaughan-Nichols muistuttaa, oli luoda "englanninkielinen sanasto, jota voitaisiin käyttää eri tietokoneissa liiketoiminnan perustehtävien suorittamiseen", todellinen myyjäneutraali kieli.

Vaikka COBOLin kukoistus jatkoi 1980-luvulla, se hallitsee edelleen 70 prosenttia maailmanlaajuisista tapahtumien käsittelyjärjestelmistä, Micro Focus (COBOLia ylläpitävä yritys) mukaan Vaughan-Nicholsin haastattelussa. Otitko rahaa pankkiautomaatista? Käytit COBOLia. Maksoi asuntolainan? COBOL. Soititko puhelinkeskukseen? Jep, se oli myös COBOL. Jopa lomasi varaaminen riippuu melkein varmasti COBOLista.

COBOL on väitetty olevan vanhentumassa vuosikymmenien ajan, mutta 220 miljardia COBOL-linjaa elää edelleen elämässämme. Ohjelmistotekniikan tutkimuskeskuksen Leron mukaan COBOL-tapahtumat vähenivät Google-hakuja 200 kertaa vuonna 2014. Saako Google koskaan kiinni?

COBOL on enemmän kuin jotkut dotardit, jotka asuvat suurkoneiden eläkeläisten asunnossa. Sen lisäksi, että kieli on helposti luettavissa, se on pysynyt ajan tasalla naapureidensa kanssa. Nykyään COBOL integroituu Docker-säilöihin ja Java-sovelluksiin samalla kun se toimii pilvessä, Linuxissa tai Windowsissa tai melkein missä tahansa missä tahansa. Se on erittäin kannettava kieli, jonka avulla kehittäjät voivat keskittyä kirjoittamaan sovelluksensa samalla, kun COBOL huolehtii taustalla olevan käyttöjärjestelmän monimutkaisuudesta.

Nykyään suurin riski COBOLille on, että pätevien ohjelmoijien löytäminen on yhä vaikeampaa. Kielellä saattaa olla vielä vuosikymmenien ajan enemmän aikaa elää kanssamme, kun otetaan huomioon kustannukset ja riski korvata COBOL-pohjaiset järjestelmät vaihtoehtoisilla, mutta se ei tarkoita sitä, että kehittäjät ovat kasvaneet haaveillessaan ensimmäisen COBOL-ohjelmansa kirjoittamisesta. Se on ongelma, mutta ei sellaista, jonka pyrin ratkaisemaan tässä tässä viestissä. (Anteeksi!)

Sen sijaan COBOLin 60-vuotisen historian tarkastelu sai minut ajattelemaan nykypäivän kieliä, joista voi tulla huomisen "COBOL-kieliä". Eli mitkä ovat kielet / tekniikat, jotka vielä putoavat valtavan joukon huomisen tekniikan konepellin alla?

Huominen COBOL tänään

Tulevaisuutta on tietysti vaikea ennustaa, mutta SQL: lle, Pythonille ja Java: lle on tehtävä vahvoja tapauksia. Dave Kellogg on vuosien ajan kutsunut SQL: ää uudeksi COBOLiksi. Se voi olla totta pitkäikäisyyden ja käsityksen mukaan, että se on vanhentunut, mutta rinnakkaisuus lopulta hemmottelee. COBOL on vain yksi. Kaikista standardisoinnista huolimatta SQL puhuu eri murrea tietokannan tarjoajasta riippuen. Vaikka tämä ei ole estänyt SQL: ää tarttumasta (ja se pysyy varmasti ajankohtaisena tulevina vuosikymmeninä), se ei kuitenkaan tunnu COBOL-sukulaiselta hengeltä.

Varmasti ei samalla tavalla kuin Java.

Java, kuten COBOL, on suhteellisen helppo lukea ja kirjoittaa. Samoin kuin COBOL, Java on säilyttänyt modernisuutensa. Joka kerta, kun Java näytti olevan hiipumassa, jotain on herättänyt sen. Brian Lerouxin mukaan Android on ehdottomasti osittain vastuussa [Javan] jatkuvasta merkityksestä. " Hieman myöhemmin, big data elvytti Java edelleen. Kuten Nitin Borwankar on korostanut, "Java sai [toisen] tuulen Hadoopin ja koko datatieteen ekosysteemin, mukaan lukien Hive, HBase, Spark, Cassandra, Kafka ja JVM, kuten Groovy ja Clojure, ansiosta. Kaikki tämä ei ole kadonnut pian. "

Kuten COBOL, yksi tärkeimmistä syistä, miksi todennäköisesti näemme Java syövytetyn hautakiveihimme, johtuu siitä, että kuten Jonathan Eunice kirjoittaa, se on "otettu käyttöön syvällisesti ja laajasti kriittisissä sovelluksissa, joten se ansaitsee järjestelmällisen kritiikin". Mitä enemmän yrityksiä upottaa Java tärkeimpiin tehtäväkriittisiin sovelluksiinsa, sitä vähemmän todennäköistä, että se kopioidaan ja korvataan moderneilla vaihtoehdoilla. Kustannukset ja riskit lieventävät sitä.

Samalla tavalla Python voi hyvinkin todistaa pysyvyytensä. Lauren Cooney ajattelee, että Python kestää, koska se on "GSD: n [asiat tehdään] kieli vs. siisti kieli". Se ei ole hienoa. Se "vain toimii". Tärkeää on, että Java-tavoin Python on yhä enemmän perustava muun muassa nykyaikaiselle datatieteelle, mikä voi hyvinkin osoittautua huomispäivän transaktiokuormitukseksi, joka on finanssijärjestelmissä (mikä, kuten mainittiin, on suuri syy, miksi COBOL on edelleen viileä tänään).

Mitään muuta? No, siellä on ei-niin-kieli-poskessa vastaus, että ehkä COBOL on tuleva COBOL. Andrew Oliverin mukaan "Vuosia sitten sanoin, että Java on tulevaisuuden COBOL. Kaikki katsoivat minua oudosti. Luulen, että se on tulevaisuus. "