Maailma, jossa kaikki osaavat koodata

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ää.

programming-motherfucker

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.

6 kommenttia artikkeliin ”Maailma, jossa kaikki osaavat koodata”

  1. Luin tän kirjoituksen ja Otso, minusta sinun lähestymistapa asiaan on vähän suppea. Miksi puhua Pythonista, kun ihmiselle ymmärrettäviä, toistoa helpottavia, työkaluja on tehty jo vuosikymmeniä. Esim. luettava AppleScript julkaistiin jo kauan sitten. Se on sittemmin kehittynyt Automatoriksi, jossa asioita voi helposti valita graafisessa käyttöliitymässä tai ”nauhoittaa” käskysarjoja. Adobe omalla tahollaan on tehnyt jo vuosikymmen- tai kaksi sitten graafisen työkalun, eli Photoshopin Actionit, joilla mainitsemasi kuvanmuokkaukset voi hoitaa ilman, että täytyy ajatella alla olevaa koodia tai nollia ja ykkösiä tms… Lista jatkuu, mutta nämä nyt esimerkiksi automatisoinnista, joilla peruskäyttäjä voi tehdä elämänsä helpommaksi. Mutta näitäkään ei – oman kokemukseni mukaan – liiemmin osata käyttää. Scriptausta on toki hyvä osata, sitä en kiellä. Kyllä minäkin kirjoitan shell-scriptin, jos joku perusasia pitää tehdä useaamin, kuin 10 kertaa. Ja toki Photoshopissakin pitää joskus turvautua scriptaukseen, kun Actionit ei taivu, mutta se on jo kaukana peruskäyttäjän tarpeista.

    1. Käytin Pythonia esimerkkinä, koska se on se kieli jolla itse skriptaan. Mutta tarkoitin kyllä nimenomaan sisällyttää ajatukseen kaikenlaiset macrojen nauhoitukset, graafiset kielet ja jopa Excel-makrot. Ne ovat kaikki tässä mielessä ohjelmointia.

      Suurimmaksi osaksi tällainen ”jokamieskoodaus” olisi varmaan nimenomaan valmiiden ohjelmien makrotusmahdollisuuksien hyödyntämistä. Osittain sitten laajojen data-aineistojen yhteenvetoa.

      Vaikka niissä ei varsinaisesti kirjoiteta koodia, niin koodia vastaavat mentaaliset rakenteet täytyy niissäkin hahmottaa. Ehtolause on ehtolause ja toisto on toisto, vaikka ne miten esitettäisiin. Se on se koodauksen ydin, joka on hyvä osata.

  2. Jyväskylän yliopiston järjestämät nuorten peliohjelmointikurssit ovat joka kerta täynnä innokkaita oppilaita. Samoin varmaan nuo Helsingin yliopiston peliohjelmointikerhon tapaamiset. Pelit ja niiden tekemisen helppous viehättävät.

    Kouluissakin voitaisiin opettaa perusteita mielekkäiden aiheiden avulla. Ohjelmoinnin opettamisesta ei tule mitään, jos se tehdään Excelillä ja tylsillä tehtävillä, jollaisiin oppilaat eivät muuten törmäisi kuin vasta aikuisina. Voisi skriptin nopeutta manuaaliseen toistamiseen tietysti verrata, mutta toistuvien ongelmien pitäisi olla sellaisia, joihin nuoret itse törmäävät.

  3. Ainakin ministerin jutuista referoidun perusteella olen saanut sen käsityksen, että ohjelmointi olisi tulossa jonkun ”käytännön taidot” -palikan yhdeksi nurkaksi, eli todellisuudessa kouluissa varmaan opetetaan jatkossakin Officea, ellei opettaja satu olemaan asianharrastaja. Voisi tuon ehkä speksata vähän paremminkin.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *