Osaajapula COBOL-koodareista

Taloussanomat uutisoi, että COBOL-osaajista on pulaa. Uutisen tarkoitus on tietenkin herättää keskustelua, itse kirjoituksen ollessa hyvin provosoiva. Se kuitenkin valitettavasti kertoo tämän hetken tilanteesta, että minkälaisissa ongelmissa monet yritykset ovat myös tietotekniikan alalla, jossa ei ehkä haluta hyväksyä realitetteja, joita ei ole aiemmin jouduttu kohtaamaan. Joilla muilla aloilla todennäköisemmin ymmärretään, että vanhentuneen ja specifin tekniikan käyttäminen vaatii sisäistä kouluttamista aiempien sukupolvien eläköityessä. Ohjelmistoalalla sen sijaan työntekijältä odotetaan osaavan kaikkia työssä tarvittavia tekniikoita. [ts]

Kuva 1. Tämä on tyypillinen tapa tallentaa liukuluku tietokoneen muistiin.

Jos koneinsinööriltä odotettaisiin osaamista esimerkiksi 1930-luvun Chevroletin moottorin jäähdytystekniikasta, niin sitä varmasti pidettäisiin mielettömänä ja kohtuuttomana vaatimuksena [youtube]. Sen sijaan ehkä tuntemus URAL-maastokuorma-autosta on ihan perusteltavaa [Youtube2]. Sama on myös ohjelmointikielissäkin, että ohjelmointikielet eivät useinkaan itsessään ole mikään ongelma, ne ovat hyvin samanlaisia keskenään, pääosin syntaksit vain vaihtelevat kielissä ohjelmoinnin kannalta.

Kuva 2. Tyypillistä COBOL-koodia. Ansaitsisi jonkun vuoden IF-lausepalkinnon, itse en keksi mitään syytä yhdellekään haaralle.

COBOL ei 1950-luvun ohjelmointikielenä juurikaan poikkea esimerkiksi 1970-luvun ohjelmointikielistä kuten C-ohjelmointikielestä. Myös monet uudemmat ohjelmointikielet perustuvat hyvin samanlaiseen ajatteluun. Enemmänkin ongelma on uskoakseni se, että reaaliajassa oleva järjestelmä, jonka on koodannut 1970-luvulla joku Timothy Leary, niin se itsessään pelottaa jo monia [Hikipedia, Youtube/TIM]. Ties millä IBM:n museokoneella pyörii koko järjestelmäkin [Youtube2]. Onneksi tekniikka ei ole kuitenkaan kulttuurisidonnaista, kuten vaikkapa humanistiset asiat, jotka muuttuvat kulttuurin mukaisesti: Samat ydinkärjellä varustetut mannerteväliset ohjukset toimivat kaikkialla ajasta riippumatta, vaikka ne olisi kehittänyt Natsit, Einstein, Timothy Leary, joku autisti tai jopa intilainen.

Kuva 3. Ensimmäinen bugi löydetty testauksessa. [Graham, Montana]

/koh′bol/, n. ”A weak, verbose, and flabby language used by code grinders to do boring mindless things on dinosaur mainframes. […] Its very name is seldom uttered without ritual expressions of disgust or horror.“ The Jargon File 4.4.8.[150]

Pankkijärjestelmien alkuaikana on käynyt tapaus, jossa ohjelmoijat ovat pyöristäneet luonnollisesti kaikki tilisiirtojen summat alaspäin, ihan jo varmuuden vuoksi. Päättivät sijoittaa kaikki pyöristysvirheiden rahat yhdelle tilille, koska luonnollisestikaan alle yhden sentin arvoisia nostoja ei voinut tehdä. Koska tilisiirtoja tapahtui jokaista asiakasta kohti monta ja asiakkaita oli valtavasti, niin tilille kertynyt summa oli valtava. Järjestelmän kehittäjät sitten päättivät ottaa tämän marginaalisen summan rahaa pankin liikevaihdosta itselleen. Asia paljastui vasta kun muut ihmettelivät heidän yllättäen kohonnutta elintasoaan. Kuulin asian joskus mitä mainoimmalta C#-ohjelmointikieltä opettaneelta naisopettajalta kertoessaan liukuluvuista. Valitettavasti en koskaan ole löytänyt tälle tarinalle lähdettä.

Kuva 4. COBOL-koodia. Ilmeisesti summataan muuttujat A, B, C ja saadaan muuttujat D, E. Fantastinen ohjelmointikieli tukee suoraan myös SQL-tietokantaa.

Historian paras kirja ohjelmoinnin opetteluun ja yleissivistykseen: The C Programmin Language
Hikipedia C-ohjelmointikieli
COBOL-kielen kritiikkiä ja puolustusta Wikipediassa
Näin demotaan 1930-luvun Chevroletin koriturvallisuutta, suunnittelija pistää itsensä testiin!

Vastaa

Sähköpostiosoitettasi ei julkaista.

This site uses Akismet to reduce spam. Learn how your comment data is processed.