Django & dumbbells: toimarin paras kesäloma

Vietin lomani jälleen parhaimmalla mahdollisimmalla tavalla: päivät perheen kanssa tai salilla, illat koneen äärellä uusia asioita opetellen. Tällä kertaa kaivauduin vähän syvemmälle pythonin ja djangon maailmaan. Python on erityisesti tiedemaailmassa ja keinoälysovelluksissa suosittu ohjelmointikieli, ja django on taas pythonin päälle rakennettu framework, jolla voi rakennella kaikenlaisia mielenkiintoisia verkkopalveluita. Iltapuhteina syntyi rss-syötteiden lukemiseen tarkoitettu palvelu, blogforest.io.

Blogforest

Elämässäni on ollut pitkään tyhjiö Googlen suljettua Google Reader-palvelunsa. Erilaisia korvaavia palveluita on, mutta niissä kaikissa on joko liikaa hilavitkuttimia tai mainoksia, jotta olisin varsinaisesti ihastunut niihin. Kaipasin jotain simppeliä ja yksinkertaista. Haluan tuoreimmat linkit valitsemistani blogien RSS-syötteistä ja sillä hyvä. Ja jos maailmalta ei löydy mieleistä, täytyy tehdä oma.

Kaupallistettavaksi palvelusta tuskin on, koska tein siitä työkalun vain itseäni varten. Palveluun voi kuitenkin rekisteröityä ja sitä voi vapaasti käyttää. Rekisteröi tunnus, lisää blogeja, ja palvelu käy kymmenen minuutin välein hakemassa uudet artikkelilinkit rss-syötteistä. Toivottavasti siitä on hyötyä muillekin kuin minulle!

Valitsin ohjelmointikielen logon perusteella

Kun kerroin opettelevani koodaamaan, sain vähän vaihtelevaa palautetta. Osa ihmetteli, enimmäkseen hämmästeltiin. Pari ruojaa jopa antoi ymmärtää, että paree olisi jos keskittyisin vain toimaroimaan. Hah! Samalla logiikalla voisi sanoa, että toimarin ei kannata opetella kirjanpitoa tai mitään muutakaan. En uskonut.

En osaa ohjelmoida millään ohjelmointikielellä edes keskikertaisesti. Se on myös vahvuuteni. Tylysti todettuna voisi sanoa, että olen sen verran uuvatti, etten ole oppinut vielä aivan kauhean huonoja tapoja joista pitäisi kovalla vaivalla hankkiutua eroon. Mielessäni oli kyllä selkeä kuva erilaisten ohjelmointikielien parhaista ja huonoista puolista (on todella opettavaista kuunnella koodarien henkistä pissauskilpailua parin oluen jälkeen).

Ruby
Pitkällisen – noin puoli päivää kestäneen – harkinnan jälkeen päädyin valitsemaan ohjelmointikieleksi logon perusteella Rubyn ja frameworkiksi Ruby on Railsin. Toki katselin muitakin vaihtoehtoja: Java haisi liikaa isojen monoliittyritysten maailmalta, Pythonin asentamiseen onnistuin tuhraamaan liikaa aikaa (taas), PHP:tä en haluaisi kosketella enää ikinä ja Node.js on tyypillistä JavaScript-oksennusta.

Iso syy Rubyn valitsemiseen oli myös Linda Liukas. Ohjelmointikielen valinneet ihmiset kertovat paljon itse ohjelmointikielestä. Kaikkien muiden ohjelmointikielten ekosysteemit ovat kauhean äijämäisiä. Ruby ja Ruby on Rails ovat ainakin marginaalisesti vähemmän sitä itseään.

Tykkään myös Rubyn filosofiasta. Ruby on ohjelmointikielenä suunniteltu vähäisimmän hämmennyksen periaatteella (käänsin itse, anteeksi), eli ohjelmointikieli on suunniteltu mahdollisimman ymmärrettäväksi ja ennen kaikkea, kivaksi. Yukihiro Matsumoto, Rubyn kehittäjä kertoo syntyprosessista:

Often people, especially computer engineers, focus on the machines. They think, ”By doing this, the machine will run fast. By doing this, the machine will run more effectively. By doing this, the machine will something something something.” They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves.

Ohjelmointikielen valinnan jälkeen oli aika käydä hommiin. Sen sijaan että olisin vain juossut nettiin etsimään uusimpia tutorialeja, hyppäsin Pragmatic Studion RoR-kurssille. Se kannatti. Videopohjainen kurssi kesti pari viikkoa, ja sinä aikana tuli opittua perusasiat. Kurssin lisäksi vetäisin pari Ruby-kirjaa ja sitten siirryinkin mutustelemaan testipohjaisen ohjelmointimetodiikan saloja. Stack overflow on myös tullut tutuksi.

Ja miltä nyt tuntuu? Hyvältä. Kirjoitin Woudin ihan itse, ja sitten kirjoitin sen uudestaan kun tajusin millaista rapaa olin tehnyt. Nyt sitten hion viimeisintä versiota beta-julkaisukuntoon.

Uusien asioiden opettelu kannattaa aina. Sinäkin voit valita ohjelmoinnin opettelun – tai minkä hyvänsä muunkin uuden asian opettelun – sohvalla löhöämisen sijaan. Mikset aloittaisi jo tänään?

Kaikki kirjoitukset löytyvät blogiarkistosta.