* (25.8.2016) : Siitä paljon puhutusta koodaamisesta

Tampere 25.8.2016

Nyt kaikki koodaamaan! Tätähän hoetaan nyt joka puolella. Ja etenkin sitä miten tytöt ja naiset saataisiin teknologian kuluttamisen sijaan luomaan teknologiaa. Tuuti Piipon Futuremakers-kirja vuodelta 2015 on tästä hyvä osoitus ja esimerkki. Hyviä kertomuksia naisista, jotka ovat muuttaneet maailmaa teknologian avulla. Tytöt ja naiset nähkääs pitäisi myös saada enemmän pelaamaan pelejä ja myös luomaan niitä ja tuomaan suunnitteluun ja toteutukseen oman näkökulmansa. Näin myös tietysti saataisin enemmän pelejä kaupaksi. Business is business. Ja hyvä niin.

Mutta takaisin aiheeseen eli siihen koodaamiseen. Tätä alussa mainitsemaani kehotusta voisi melkeinpä verrata hiekkakakkujen tekemiseen. “Hei katsokaapas, meidän Juuso tässä loihti juuri mahtavan hiekkalinnan!” Vai voiko koodaamista ja hiekkakakkujen tekemistä verrata toisiinsa? Mitä oikeastaan on koodaaminen? Ensinnäkään se ei ole se iso, paljon puhuttu “juttu”, vaan yksi vaihe muiden joukossa.

“Ai pitääks tässä niinku suunnitellakin?” Kyllä, valitettavasti, ja suunnitteluun ja taustalla olevaan ideaan juuri kaikki perustuu. Ensin täytyy olla tietysti idea, tarve, luotu tarve ym. mikä luo alun. Ei siten, että ensin istuudutaan koneen ääreen ja sitten kun pitää koodia vääntää, niin ei tulekaan mitään. Nähty ja koettu on! Tai että ensin hankitaan domain-osoite ja vasta sitten mietitään, että mitähän silläkin tehtäisiin. Tämäkin on nähty ja koettu!

Sitten tarvitaan sitä Sipilän kuuluttamaa iterointia, ettei koko homma menisi ihan vatuloinniksi. Valitaan menetelmät, luodaan vuokaavioita, valitaan ohjelmointikieli tai kielet, sitten koodataan, sitten testataan koodia, palataan takaisin suunnitteluun ja sitten taas väännetään koodia ja iteroinnin kautta saadaan yhä parempi ja parempi ohjelma. Jossain vaiheessa on ehkä käytetty apuna käsitteellistä mallintamista. Kuten opettajani professori Hannu Kangassalo aikoinaan Tampereen yliopistossa korosti: käsitteiden määrittely on tärkeää! On myös pitänyt eritellä ohjelman toiminnot ja luoda ja kiinnittää huomio siihen niin aina tärkeään käytettävyyteen ja käyttöliittymään.

Ja sitten vaihe, josta en muista, että Piipon kirjassa olisi ollut puhetta, nimittäin usein unohdettu vaihe eli testaaminen. Eli ei suoraan julkaisuun koskaan. On testattava ohjelman toiminnot, toimivuus eri käyttöjärjestelmissä tai esim. selaimissa. On tehtävä käyttäjätason testaukset esim. testilaboratoriossa. Tehdään esimerkiksi videoitu käyttäjätestaus, erilaiset ja eritasoiset käyttäjät huomioonottaen. Lisäksi voidaan tehdä kyselytutkimus.

Testituloksia ei tietysti jätetä huomioimatta, vaan niiden pohjalta muutetaan käyttöliittymää. Saattaapa paljastua jokin perustavanlaatuinen asia, jota suunnittelijat eivät ole lainkaan ottaneet huomioon.

Kaikenhan voi tietysti tehdä aina yksin, jos sattuu olemaan unicorn kuten Facebookin Zuckerberg. Sovellusten tekeminen on ollut jo kauan aikaa tiimityötä, enää ohjelmia ei väännetä yksin Basicillä kuten 80-luvulla. On siis hallittava tiimitaitoja. Kaiken takana on joukkojen voima! Ja onhan ohjelma vielä markkinoitavakin.

Itse aloitin ohjelmoinnin 80-luvulla tietokoneena Vic-20 ja keskusmuistia vaivaiset kolme kilotavua. Yhtä spagettiohjelmointiahan se oli, se Basic. Tein jotain yksinkertaisia ohjelmia, mutta en koskaan tajunnut mitä olivat Peek, Poke ja ihmeen datan määrittelyt ohjelman lopussa. Sain sentään jotain musiikkiakin koneesta irti.

90-luvulla avoimen yliopiston tietojenkäsittelyopin approbatur-opinnoissa tutustuin ja pääsin sisälle C++:aan. Olihan ohjelmointi sillä aivan toista kuin Basicillä.

Yliopistokurssien lisäksi innostuin suunnittelemaan ja ohjelmoimaan C++:lla ensimmäistä omaa avaruuspeliä. Projekti pohjautui Commodore 64:lle 1985 vuonna julkaistuun hienoon avaruuspeliin nimeltä Psi-5 Trading Company. Ehdottomasti yksi parhaita C64:lle tehtyjä avaruuspelejä legendaarisen vektorigrafiikkapeli Eliten lisäksi. Oman projektini nimi oli Psi-5 Trading Company Project 2000. Ensin alkuun ohjelmoin pelistä DOS-versiota. Kunnianhimoisena tavoitteena oli joskus tehdä pelistä Windows-peli ja grafiikkapuoli tietysti DirectX:llä. Ohjelmointi, siis se koodauspuoli, oli mielenkiintoista. Myös ohjelman virheiden etsiminen eli debuggaus. Tutkinkin tovin kaksisuuntaisten listojen alkioiden muistipaikkoja. Peliprojektini kesti kaksi vuotta, mutta lopetin sen yliopisto-opintojeni alkuvaiheessa. Olin kuitenkin niin innostunut projektistani, että myöhemmin 3D-kurssilla tein pelistä 3DMax:lla animaatioita. Hypermedian kurssilla tein vielä grafiikkaa peliin liittyen.

(Tekstin olen julkaissut alunperin Linkedin:ssä 22.2.2016)

Kirjoittaja: Samuli Heikkilä (C)

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top