Sous-vide-ohjelmointi



Sous-vide-keittotavassa valmistettava ruoka pakataan tyhjiöpussiin ja kypsennetään vesihauteessa. Ruokaa ei keitetä, vaan veden lämpötila on 50-60 Celsius-astetta. Menetelmä vaatii runsaasti aikaa. Sitkeitä lihoja täytyy kypsyttää vuorokausia. Porkkanatkin vaativat tunnin.

Harva kokki, kotona tai ravintolassa, jaksaa nähdä menetelmän vaatiman vaivan. Ne, jotka jaksavat, palkitaan harvinaisen maistuvalla ja rakenteeltaan miellyttävällä aterialla. Matala lämpö hellii ruuan aromeja ja jättää soluseinämät ehjiksi.

Sous-vide-ohjelmointi noudattaa samaa kaavaa. Ongelmaa tai sen ratkaisua kypsytellään pitkään. Projekti tai kirjasto tai applikaatio hautuu tekijänsä päässä kuukausia tai jopa vuosia. Silloin tällöin kokeillaan idean kypsyyttä. Hiljalleen ratkaisu saa muotonsa.

Lopputulokset ovat usein hyvin elegantteja. Näennäisesti hyvin pienellä vaivalla tehdään paljon. Oikotiet ja yksinkertaistukset ovat perusteltuja ja hyvin valittuja. Ohjelma ei ehkä tee kaikkea; sen, mitä se tekee, se tekee hyvin.

Elävän esimerkin tästä tarjoaa Jamis Buckin labyrinttiharrastus. Hän on käyttänyt pari vuosikymmentä erilaisten labyrinttialgoritmien ja -toteutusten parissa – mutta ei tietenkään täysipäiväisesti. Meidän muiden iloksi Buck on myös julkaissut kuvauksia eri algoritmeista ja niiden ominaisuuksista. Suosittelen näitä artikkeleita lämpimästi. Buck osaa asiansa, mikä näkyy selitysten selkeytenä.

Kuten keittiöissä, ei sous-vide sovi kaikkeen ohjelmointiin. Useimmissa (rahaa vastaan tehdyissä) projekteissa deadlinet estävät sous-vide-ohjelmoinnin. Sprintit päättyvät, samoin kuin projektit. Harvalla tekijällä on kanttia vastata, että työn voisi tehdä 10 kertaa hitaamminkin. Ja tämä on ihan hyvä juttu! Näin syntyy tuloksia ja sitä paljon kaivattua lisäarvoa.

Kaikki ikuisuusprojektit eivät ole sous-vide-projekteja. Itselläni on käynyt monen projektin kanssa niin, että alkuinnostuksen jälkeen kiinnostus loppui. Tämä on varsin inhimillistä. Armeliainta on tappaa projekti aikaisin, ettei siitä pääse syntymään zombia. “Ainiin, sitäkin pitäisi edistää joskus jotenkin” on zombi-projektin tunnusmerkki. Sous-vide-projekti säilyy tuoreena päässä; zombi-projekti haaskaa vain huomiota.

Sous-vide-ajattelua voi käyttää laajemminkin. Fyysikko Richard Feynman piti päässään listaa kourallisesta suosikkiongelmiaan. Kun hän oppi uuden laskennallisen menetelmän tai kuuli uudesta tutkimustuloksesta, hän kävi listan läpi. Parhaissa tapauksissa Feynman pystyi näennäisesti tyhjästä tempaisemaan uuden tuloksen ilmasta läsnäolijoiden hämmästykseksi. Feynman itse piti tätä kikkaa syypäänä neron maineeseensa.

Kaikki ongelmat Feynmanin listalla eivät olleet fysiikan rajaseudulta. Hän työsti tunnettuja tuloksia ja yritti todistaa niitä yksinkertaisemmin. Sama pätee Buckin labyrintteihin – hän ei kehitä uusia algoritmeja, vaan valaisee vanhoja. Tämä on arvokasta työtä, kun siihden vielä yhdistää saavutustensa julkaisun vaikkapa blogissa.

Tämän artikkelin on kirjoittanut Antti Rasinen ja sitä ovat sittemmin muokanneet muut Codenton työntekijät.

Yksi kommentti artikkeliin ”Sous-vide-ohjelmointi

Vastaa

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