{"id":84,"date":"2016-08-25T17:45:00","date_gmt":"2016-08-25T17:45:00","guid":{"rendered":"https:\/\/www.kaskipaja.net\/kaskiblogi\/?p=84"},"modified":"2016-08-25T17:45:00","modified_gmt":"2016-08-25T17:45:00","slug":"25-8-2016-siita-paljon-puhutusta-koodaamisesta","status":"publish","type":"post","link":"https:\/\/kaskipaja.net\/kaski\/2016\/08\/25\/25-8-2016-siita-paljon-puhutusta-koodaamisesta\/","title":{"rendered":"* (25.8.2016) : Siit\u00e4 paljon puhutusta koodaamisesta"},"content":{"rendered":"\n<p>Tampere 25.8.2016<\/p>\n\n\n\n<p>Nyt kaikki koodaamaan! T\u00e4t\u00e4h\u00e4n hoetaan nyt joka puolella. Ja etenkin sit\u00e4 miten tyt\u00f6t ja naiset saataisiin teknologian kuluttamisen sijaan luomaan teknologiaa. Tuuti Piipon Futuremakers-kirja vuodelta 2015 on t\u00e4st\u00e4 hyv\u00e4 osoitus ja esimerkki. Hyvi\u00e4 kertomuksia naisista, jotka ovat muuttaneet maailmaa teknologian avulla. Tyt\u00f6t ja naiset n\u00e4hk\u00e4\u00e4s pit\u00e4isi my\u00f6s saada enemm\u00e4n pelaamaan pelej\u00e4 ja my\u00f6s luomaan niit\u00e4 ja tuomaan suunnitteluun ja toteutukseen oman n\u00e4k\u00f6kulmansa. N\u00e4in my\u00f6s tietysti saataisin enemm\u00e4n pelej\u00e4 kaupaksi. Business is business. Ja hyv\u00e4 niin.<\/p>\n\n\n\n<p>Mutta takaisin aiheeseen eli siihen koodaamiseen. T\u00e4t\u00e4 alussa mainitsemaani kehotusta voisi melkeinp\u00e4 verrata hiekkakakkujen tekemiseen. &#8220;Hei katsokaapas, meid\u00e4n Juuso t\u00e4ss\u00e4 loihti juuri mahtavan hiekkalinnan!&#8221; Vai voiko koodaamista ja hiekkakakkujen tekemist\u00e4 verrata toisiinsa? Mit\u00e4 oikeastaan on koodaaminen? Ensinn\u00e4k\u00e4\u00e4n se ei ole se iso, paljon puhuttu &#8220;juttu&#8221;, vaan yksi vaihe muiden joukossa.<\/p>\n\n\n\n<p>&#8220;Ai pit\u00e4\u00e4ks t\u00e4ss\u00e4 niinku suunnitellakin?&#8221; Kyll\u00e4, valitettavasti, ja suunnitteluun ja taustalla olevaan ideaan juuri kaikki perustuu. Ensin t\u00e4ytyy olla tietysti idea, tarve, luotu tarve ym. mik\u00e4 luo alun. Ei siten, ett\u00e4 ensin istuudutaan koneen \u00e4\u00e4reen ja sitten kun pit\u00e4\u00e4 koodia v\u00e4\u00e4nt\u00e4\u00e4, niin ei tulekaan mit\u00e4\u00e4n. N\u00e4hty ja koettu on! Tai ett\u00e4 ensin hankitaan domain-osoite ja vasta sitten mietit\u00e4\u00e4n, ett\u00e4 mit\u00e4h\u00e4n sill\u00e4kin teht\u00e4isiin. T\u00e4m\u00e4kin on n\u00e4hty ja koettu!<\/p>\n\n\n\n<p>Sitten tarvitaan sit\u00e4 Sipil\u00e4n kuuluttamaa iterointia, ettei koko homma menisi ihan vatuloinniksi. Valitaan menetelm\u00e4t, luodaan vuokaavioita, valitaan ohjelmointikieli tai kielet, sitten koodataan, sitten testataan koodia, palataan takaisin suunnitteluun ja sitten taas v\u00e4\u00e4nnet\u00e4\u00e4n koodia ja iteroinnin kautta saadaan yh\u00e4 parempi ja parempi ohjelma. Jossain vaiheessa on ehk\u00e4 k\u00e4ytetty apuna k\u00e4sitteellist\u00e4 mallintamista. Kuten opettajani professori Hannu Kangassalo aikoinaan Tampereen yliopistossa korosti: k\u00e4sitteiden m\u00e4\u00e4rittely on t\u00e4rke\u00e4\u00e4! On my\u00f6s pit\u00e4nyt eritell\u00e4 ohjelman toiminnot ja luoda ja kiinnitt\u00e4\u00e4 huomio siihen niin aina t\u00e4rke\u00e4\u00e4n k\u00e4ytett\u00e4vyyteen ja k\u00e4ytt\u00f6liittym\u00e4\u00e4n.<\/p>\n\n\n\n<p>Ja sitten vaihe, josta en muista, ett\u00e4 Piipon kirjassa olisi ollut puhetta, nimitt\u00e4in usein unohdettu vaihe eli testaaminen. Eli ei suoraan julkaisuun koskaan. On testattava ohjelman toiminnot, toimivuus eri k\u00e4ytt\u00f6j\u00e4rjestelmiss\u00e4 tai esim. selaimissa. On teht\u00e4v\u00e4 k\u00e4ytt\u00e4j\u00e4tason testaukset esim. testilaboratoriossa. Tehd\u00e4\u00e4n esimerkiksi videoitu k\u00e4ytt\u00e4j\u00e4testaus, erilaiset ja eritasoiset k\u00e4ytt\u00e4j\u00e4t huomioonottaen. Lis\u00e4ksi voidaan tehd\u00e4 kyselytutkimus.<\/p>\n\n\n\n<p>Testituloksia ei tietysti j\u00e4tet\u00e4 huomioimatta, vaan niiden pohjalta muutetaan k\u00e4ytt\u00f6liittym\u00e4\u00e4. Saattaapa paljastua jokin perustavanlaatuinen asia, jota suunnittelijat eiv\u00e4t ole lainkaan ottaneet huomioon.<\/p>\n\n\n\n<p>Kaikenhan voi tietysti tehd\u00e4 aina yksin, jos sattuu olemaan unicorn kuten Facebookin Zuckerberg. Sovellusten tekeminen on ollut jo kauan aikaa tiimity\u00f6t\u00e4, en\u00e4\u00e4 ohjelmia ei v\u00e4\u00e4nnet\u00e4 yksin Basicill\u00e4 kuten 80-luvulla. On siis hallittava tiimitaitoja. Kaiken takana on joukkojen voima! Ja onhan ohjelma viel\u00e4 markkinoitavakin.<\/p>\n\n\n\n<p>Itse aloitin ohjelmoinnin 80-luvulla tietokoneena Vic-20 ja keskusmuistia vaivaiset kolme kilotavua. Yht\u00e4 spagettiohjelmointiahan se oli, se Basic. Tein jotain yksinkertaisia ohjelmia, mutta en koskaan tajunnut mit\u00e4 olivat Peek, Poke ja ihmeen datan m\u00e4\u00e4rittelyt ohjelman lopussa. Sain sent\u00e4\u00e4n jotain musiikkiakin koneesta irti.<\/p>\n\n\n\n<p>90-luvulla avoimen yliopiston tietojenk\u00e4sittelyopin approbatur-opinnoissa tutustuin ja p\u00e4\u00e4sin sis\u00e4lle C++:aan. Olihan ohjelmointi sill\u00e4 aivan toista kuin Basicill\u00e4.<\/p>\n\n\n\n<p>Yliopistokurssien lis\u00e4ksi innostuin suunnittelemaan ja ohjelmoimaan C++:lla ensimm\u00e4ist\u00e4 omaa avaruuspeli\u00e4. Projekti pohjautui Commodore 64:lle 1985 vuonna julkaistuun hienoon avaruuspeliin nimelt\u00e4 Psi-5 Trading Company. Ehdottomasti yksi parhaita C64:lle tehtyj\u00e4 avaruuspelej\u00e4 legendaarisen vektorigrafiikkapeli Eliten lis\u00e4ksi. Oman projektini nimi oli Psi-5 Trading Company Project 2000. Ensin alkuun ohjelmoin pelist\u00e4 DOS-versiota. Kunnianhimoisena tavoitteena oli joskus tehd\u00e4 pelist\u00e4 Windows-peli ja grafiikkapuoli tietysti DirectX:ll\u00e4. Ohjelmointi, siis se koodauspuoli, oli mielenkiintoista. My\u00f6s 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\u00e4 my\u00f6hemmin 3D-kurssilla tein pelist\u00e4 3DMax:lla animaatioita. Hypermedian kurssilla tein viel\u00e4 grafiikkaa peliin liittyen.<\/p>\n\n\n\n<p>(Tekstin olen julkaissut alunperin Linkedin:ss\u00e4 22.2.2016)<\/p>\n\n\n\n<p><strong>Kirjoittaja:<\/strong> Samuli Heikkil\u00e4 (C)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tampere 25.8.2016 Nyt kaikki koodaamaan! T\u00e4t\u00e4h\u00e4n hoetaan nyt joka puolella. Ja etenkin sit\u00e4 miten tyt\u00f6t ja naiset saataisiin teknologian kuluttamisen sijaan luomaan teknologiaa. Tuuti Piipon Futuremakers-kirja vuodelta 2015 on t\u00e4st\u00e4 hyv\u00e4 osoitus ja esimerkki. Hyvi\u00e4 kertomuksia naisista, jotka ovat muuttaneet maailmaa teknologian avulla. Tyt\u00f6t ja naiset n\u00e4hk\u00e4\u00e4s pit\u00e4isi my\u00f6s saada enemm\u00e4n pelaamaan pelej\u00e4 ja my\u00f6s &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/kaskipaja.net\/kaski\/2016\/08\/25\/25-8-2016-siita-paljon-puhutusta-koodaamisesta\/\"> <span class=\"screen-reader-text\">* (25.8.2016) : Siit\u00e4 paljon puhutusta koodaamisesta<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"","footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/kaskipaja.net\/kaski\/wp-json\/wp\/v2\/posts\/84"}],"collection":[{"href":"https:\/\/kaskipaja.net\/kaski\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kaskipaja.net\/kaski\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kaskipaja.net\/kaski\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kaskipaja.net\/kaski\/wp-json\/wp\/v2\/comments?post=84"}],"version-history":[{"count":0,"href":"https:\/\/kaskipaja.net\/kaski\/wp-json\/wp\/v2\/posts\/84\/revisions"}],"wp:attachment":[{"href":"https:\/\/kaskipaja.net\/kaski\/wp-json\/wp\/v2\/media?parent=84"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kaskipaja.net\/kaski\/wp-json\/wp\/v2\/categories?post=84"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kaskipaja.net\/kaski\/wp-json\/wp\/v2\/tags?post=84"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}