Avainsana-arkisto: koodaus

Ohjelmointi = koneelle annettuja käskyjä

Maailman muuttuessa ja digitalisaation jyllätessä ohjelmoinnista tai tuttavallisemmin koodauksesta puhutaan paljon mediassa, turuilla ja toreilla. Samassa yhteydessä monesti puhutaan työvoimapulasta, täydennyskouluttamisesta ja koodaamisesta kouluissa. Vellovan keskustelun ansiosta se, mitä pitäisi tehdä, alkaa olla selvää. Valitettavasti vähemmän puhutaan siitä, mistä koodauksessa oikeasti on kyse ja miten aiheesta kiinnostunut pääsisi alkuun.

Asianlaita on valitettava senkin vuoksi, että Internet ja älypuhelimet tarjoavat ennennäkemättömiä mahdollisuuksia kehittää itseään. Silti monelle, motivoituneellekin, voi olla vaikeaa päästä liikkeelle, sillä netti pursuaa ohjeita ja oppaita, joiden väliltä valitseminen tuntuu mahdottomalta. Mielestäni meidän ohjelmistoalalla työskentelevien pitäisikin toimia enemmän ruohonjuuritasolla: puhua ja kirjoittaa ohjelmoinnista lähellä oleville ihmisille, jotta sen aloittaminen olisi helpompaa.

Aloitetaan perusperiaatteista

Ohjelmoinnin oppaiden runsaudenpulaan liittyvä ongelma on onneksi kierrettävissä, sillä monet yksityiskohdat ovat aiheesta kiinnostuneelle vain häiritsevää kohinaa. Mielestäni parhaiten ohjelmoinnista saakin otteen aloittamalla perusperiaatteista. Pohjimmiltaan ohjelmoinnissa on kyse tietokoneelle kirjoitettavista käskyistä, jotka kone sitten orjallisesti suorittaa. Käskyt puolestaan rakentuvat neljästä ideasta: muuttujista, ehdoista, silmukoista ja aliohjelmista.

Muuttujat ovat kuin laatikoita, jonne voi säilöä digitaalisia asioita. Nämä asiat voivat olla numeroita, tekstiä tai jopa kuvaa tai ääntä digitaalisissa muodoissaan. Lisäksi muuttujaan voi aina katsoa ja tutkia sinne säilöttyä asiaa. Eräässä asiassa muuttuja tosin poikkeaa laatikosta: sinne uutta asiaa säilöttäessä aiemmin säilötty asia katoaa eli menee kuuluisaan bittitaivaaseen. Jotkut muuttujista ovat erityisiä: ne on suoraan kytketty tietokoneen näppäimiin ja näyttöön. Niihin säilötyt numerot muuttuvat riippuen siitä, mitä tietokoneen näppäimiä on painettu ja miten hiirtä on heilutettu. Arvojen säilöminen osaan näistä erityismuuttujista puolestaan aiheuttaa esimerkiksi ruudun värin muuttumisen.

Muuttujien sisältöjä voi vertailla esimerkiksi tarkistettaessa, onko kahdessa muuttujassa tallessa sama numero. Ohjelmointikielten ehtorakenteet mahdollistavat sen, että tarkistuksen tulos vaikuttaa siihen, mitä käskyjä seuraavaksi suoritetaan.

Tietokone on hyvä toistamaan

Se, missä tietokoneet ovat nopeutensa vuoksi erinomaisia, on asioiden toistaminen. Ohjelmoinnissa asioita toistetaan silmukkarakenteilla, joilla tietty joukko käskyjä voidaan toistaa halutun monta kertaa. Asioiden toistamista suoraviivaistavat myös aliohjelmat, jotka ovat kokoelma käskyjä. Hyvä aliohjelma pistää tietokoneen tekemään yhden tietyn asian, esimerkiksi piirtämään kirjaimen ruudulle. Usein näihin aliohjelmiin liitetään muuttujia, jotka vaikuttavat sen toimintaan (syöte), ja muuttuja, jonne aliohjelman tulos tallennetaan (ulostulo). Esimerkissämme kirjaimia piirtävästä aliohjelmasta aliohjelman syöte voisi olla piirrettävän merkin numero, esim. kirjainta ”A” vastaa numero 65. Vastaavasti aliohjelman ulostulo olisi tosi tai epätosi sen mukaan, mahtuiko kirjain ruudulle. Aliohjelmien ehdoton etu on, että niiden avulla voit käyttää muiden kirjoittamaa koodia, joka nopeuttaa ja helpottaa ohjelmointityötä huomattavasti.

Ohjelmointi tapahtuu yhdistelemällä neljää edellä mainittua ideaa: muuttujia, ehtoja, silmukoita ja aliohjelmia. Ohjelmoinnin maailmaamullistava voima on siinä, että näin syntyy ohjelmia, jotka ohjaavat robotteja, pyörittävät pankkimaailmaa, teollisuutta ja Internetiä, sekä laskevat, luetteloivat, esittävät ja muokkaavat kaikkea tietoa ympärillämme. Steve Jobsia mukaillen: tietokone on ajattelun polkupyörä.

Jussi Rasku, FT

Seinäjoen yliopistokeskuksen tutkijahotelli

Juttu on julkaistu Ilkka-Pohjalaisessa 23.3.2020

Linkki Jussin väitöskirjaan

Linkki Sepeli ry:n facebook-sivuille