Bittikerho-toiminta
Muutaman vuoden ajan olen pyörittänyt Raision Seurakunnan kerho-ohjaajana Bittikerhoa, joka on alakouluikäisille tarkoitettu ohjelmointi- ja robotiikkakerho. Kerhossa on koodailtu Scratch-ohjelmia sekä rakennettu Lego Boosteilla kaikenlaisia härveleitä.
Seurakunnan ohjelmointikerhosta voi herätä kysymys, mitä tekemistä ohjelmoinnilla ja seurakunnan sanomalla on keskenään. Hyvin paljonkin, väitän minä.
Se joka on koskaan koodannut ja saanut koodinsa toimimaan, tietää että ei ole millään lailla yhdentekevää, missä järjestyksessä käskyt on kirjoitettu (tai Scratchissa blokit mätkitty päällekkäin). Satunnaisesti käskyjä peräkkäin pistämällä ei synny mitään toimivaa.
Miksi elämän synty eroaisi tästä jotenkin? Miten siinä sattuma jotenkin aikaansaisi jotain toimivaa? DNA:ssamme on tallennettuna kaikkien solujemme rakennuspalikoiden ohjeet, mistä ihmeestä se kaikki koodi olisi syntynyt? Vai onko taustalla maailman kovin kooderi?
Evoluutiokin aiheuttaa päänvaivaa. Ajatuksen tasolla se on ihan kiva; pienet mutaatiot DNA:ssa aikaansaavat muutoksia eliössä, ja jos muutos on positiivinen (eli siitä on jotain kilpailuetua verrattuna lajitovereihin), se alkaa rikastua populaatiossa. Näin opetaa perushypoteesi.
Tämän ajatusmallin kompastuskiven ymmärtää kuitenkin jokainen kooderi. Mieti luomaasi funktiota, jossa on vaikkapa 50 riviä koodia. Tehdään siihen ”mutaatio”, eli muutetaan koodia sattumanvaraisesti ja toivotaan että se muuttuisi paremmaksi.
On käytännössä varma että ”mutatoimalla” koodia funktio rupeaa toimimaan väärin tai lakkaa toimimasta kokonaan. Jotta koodi olennaisesti paranisi (niin kuin evoluutiossa oletetaan), ei yhden rivin lisäys tai jonkun palikan siirto toiseen paikkaan sitä muuta, vaan muutoksia tarvitaan kerralla useampi, tai ehkä iso osakin koodista pitää kirjoittaa uusiksi jotta siitä saisi paremmin toimivan. Evoluutio ei kuitenkaan tee suunnitelmallista muutostyötä vaan pieniä muutoksia, ja vaikka pienistä muutoksista lopulta syntyisi se parempi koodi, koko väliajan se koodi ei mitä todennäköisimmin toimi ollenkaan. Toimimaton koodi ei ole mikään kilpailuetu, päinvastoin. Ja sellaisethan juuri karsiutuvat evoluutio-hypoteesissa pois.
Evoluutio siis kykenee selittämään ns. ”mikroevoluution” eli pienet pistemutaatioiden aiheuttamat muutokset (esim. pöpöjen antibioottiresistenssit perustuvat tällaiseen) sekä olemassa olevan geenivalikoiman seasta elinoloihin sopivan variaation ilmentämiseen. Sen sijaan yllä kuvattua suunnitelmallisuutta (ns. ”makroevoluutio”) ei teoria pysty tarjoamaan.
Kooderi jos joku ymmärtää, että elämän järkyttävän monimutkaista mekanismia ei synnytetä mätkimällä satunnaisia koodinpätkiä sinne tänne ja muokkaamalla niitä pikku hijaa, toivoen että jotain positiivista tapahtuu. Kyllä elämä tarvitsee kooderin.
Jumala on maailman kovin kooderi.