Esseessään Mikä minua ei miellytä Antti Nylén pohtii:
Mitä mieltä oltaisiin koodaajasta, joka päivittelisi ihmisten kehnoja C++-ohjelmoinnin taitoja – varmana siitä, että hyvät koodaustaidot tekisivät meistä parempia ihmisiä?
Kyseessä on parodinen vertaus, jolla Nylén argumentoi miten kirjailijoiden puhe kirjoittamistaidon tärkeydestä on oikeastaan vain itsekorostusta.
Mutta otetaanpa kysymys todesta.
Unohdetaan tuosta C++, joka on vanhanaikainen ja hankala kieli. Entä jos kaikki osaisivat skriptata? Koodata yksinkertaisia laajennoksia ohjelmiin ja toistuvien työvaiheiden automatisointia? Millaisessa maailmassa eläisimme?
Juttelin vuosi sitten nuoren lääkärin kanssa tietojärjestelmistä joita hän työssään käyttää. Kaveri ei ollut ihan tavallinen lääkäri, vaan oli tehnyt myös koodaushommia ennen lääkärinuraansa. Hän hyödynsi työkoneensa tietoturvareikää ja asensi siihen graafisen skriptityökalun, joka teki kymmenisen klikkausta ja copy-pastea vaativat operaatiot yhdellä napinpainalluksella. Puolen vuoden jälkeen ohjelma oli tilastointinsa mukaan säästänyt häneltä useamman työpäivän verran turhaa työtä.
Hänen työkaverinsa käyvät läpi nuo klikkaukset ja copypastet. Joka potilaan kohdalla, joka päivä. Tai osa varmaan kirjoittaa tiedot lomakkeesta toiseen käsin, eikä edes copypastella. Helsingin ja Uudenmaan sairaanhoitopiirin mukaan lääkärien työajasta 5-30% menee softien kanssa säätämiseen. Se on miljoonia työtunteja joka vuosi.
Eivätkä huonot tietojärjestelmät ole suinkaan lääkärien yksinoikeus. Melkein jokaisella työpaikalla joku kliksuttelee lomakkeita, tai kopioi tietoja paikasta toiseen. Toistuvia töitä, jotka voisi pienellä skriptaamisella automatisoida yhden napin taakse. Itse olen automatisoinut muun muassa kymmenien kuvien pienentämisen verkkojulkaisua varten, toistuvien etäyhteyksien ottamisen ja haut satoja tiedostoja sisältävistä standardeista.
Maailmassa jossa kaikki osaavat skriptata olisi toimistotyö siis tehokkaampaa. Ehkä paljonkin tehokkaampaa.
Myös yhteiskunnallinen keskustelu on muuttumassa yhä teknisemmäksi. Erilaista dataa on yhä enemmän saatavilla, ja hyvin perustellut argumentit menestyvät paremmin. Enää ei riitä vaatia huolenpitoa lähimmäisistä, vaan uskottava argumentti tarvitsee perustulomallin ja laskelman sen yhteiskunnallisista kustannuksista.
Tai jos otetaan yksinkertaisempi esimerkki, argumentti ratikoiden nopeuttamisesta vaati esittämistään varten yksinkertaisen Python-skriptin, jolla tarvittavan datan kasasin. Käsityönä sama olisi ollut yksinkertaisesti liian rasittavaa.
Maailmassa, jossa datan monimutkaisempi käsittely on harvojen taito, myös valta pikkuhiljaa keskittyy. Koodaamisen perusteet voivat vielä muodostua lukutaidon tapaan kansalaistaidoksi, jonka tarvitsee voidakseen osallistua täysipainoisesti yhteiskuntaan.
Lisäksi maailmassa jossa kaikki osaavat koodata, olisi tietenkin valtavasti enemmän huonoa koodia. Mutta sen kanssa pitänee sitten vaan elää.
Tällainen maailma saattaa hyvinkin olla tuloillaan. Uudistettavaan opetussuunnitelmaan on tarkoitus lisätä tieto- ja viestintätekniikan opetus, sisältäen mm. ohjelmointia. Malli kopioitaneen enemmän tai vähemmän Virosta, jossa ohjelmointia opetetaan jo ensimmäiseltä luokalta alkaen.
Ohjelmoinnin opetus peruskoulussa tuskin sisältää C++:aa, ei ehkä edes Pythonia. Pikemminkin kielinä saattavat olla vaikka Scratch, jota Helsingin yliopiston peliohjelmointikerhossa käytetään, tai LOGO, KODU ja Lego Mindstormin NXT, joita Virossa käytetään.
Realistisesti peruskoulun opetus tuskin johtaa siihen, että kaikki osaisivat koodata. Eiväthän kaikki osaa puhua ruotsia tai laittaa ruokaakaan, vaikka nekin ovat pakollisia aineita. Mutta jos puoletkin ihmisitä osaisi koodata, se olisi suuri muutos.
Palaten Nylénin kysymykseen, entä jos kaikki osaisivat koodata?
Minä olen kokolailla varma, että maailma olisi parempi paikka, jos kaikki osaisivat koodata yksinkertaisia skriptejä. Maailma olisi parempi jo sillä, että minä osaisin Pythonia vähän paremmin.
Siitä sopii olla ihan mitä mieltä haluaa.