Python: Kustannustehokasta koodausta

Python: Kustannustehokasta koodausta

joulu 3, 2013 Anders Innovations

Oikean ohjelmointikielen valitseminen projektiin voi säästää aikaa ja rahaa.

Ohjelmistokehittäjän tärkein työkalu on ohjelmointikieli. Ohjelmointikieli on formaali kieli, jonka avulla ihminen käskyttää tietokonetta. Kirjoitetun koodin avulla asiakkaan toiveet muutetaan koneiden ymmärtämään muotoon ja teknologia saadaan palvelemaan asiakasta tämän haluamalla tavalla.

Tavoite: liiketoiminnan ja teknologian harmonia

Andersilla jokainen projekti tuo meille kaksi haastetta: asiakkaan toiveiden ymmärtämisen ja niihin vastaamisen parhaalla mahdollisella tavalla. Näistä ensimmäinen edellyttää ymmärrystä asiakkaan liiketoiminnasta ja jälkimmäinen riittävää taitoa muotoilla koodin avulla ratkaisuja, jotka edesauttavat tuota liiketoimintaa tai vievät sitä uusille alueille.

Ihmisten välisessä viestinnässä kieli elää jatkuvasti ja käytettyjen sanojen merkitys vaihtelee tilanteiden mukaan. Kuulijan ei välttämättä tarvitse edes ymmärtää puhujan jokaista sanaa ymmärtääkseen tämän viestin tarkoituksen. Ohjelmointikieli ei toimi näin. Tietokone ei osaa lukea kehittäjän tahtoa ”rivien välistä” vaan tekee aina juuri sen mitä käsketään, eikä yhtään enempää.

Asiakkaan liiketoiminnan tavoitteiden muuntaminen puhtaan logiikan tasolle ja yksiselitteisiksi koodilauseiksi vaatii suunnaton määrän tietoa, kokemusta ja ennen kaikkea keskustelua asiakkaan kanssa. Meiltä kehittäjiltä vaaditaan järjestelmällisyyttä, kokemusta, kykyä hahmottaa suuria kokonaisuuksia ja jatkuvaa tarkkuutta.

Kieli vaikuttaa projektityöhön

Olen tehnyt Andersilla viimeiset 10 kuukautta töitä Python ohjelmointikielellä, joka on Andersilla eniten käytetty kieli. Voin näiden kuukausien jälkeen todeta, että Python tekee tuosta hankalasta viestinnästä ihmisen ja koneen välillä varsin miellyttävää. Ehkä tärkein syy tähän on se, että Pythonilla kirjoitettu koodi on (ainakin ohjelmoijan silmiin) helposti luettavaa.

Python tarjoaa myös huomattavan määrän kehitystyötä tehostavia ominaisuuksia kuten:

  • Automaattinen roskienkeräys
  • Dynaaminen tyypitys
  • Tiivis syntaksi (erittäin helppolukuinen)
  • Valtava määrä uudelleen käytettäviä ohjelmistokirjastoja

Koodin tärkein tehtävä on välittää viesti ihmiseltä tietokoneelle, mutta lähes yhtä tärkeää on, että koodi on sitä lukeville ja kirjoittajille helposti ymmärrettävää. Tämä saattaa kuulostaa maalikoista itsestäänselvyydeltä, mutta usein koodin ilmaisuvoima kuitenkin asetetaan ymmärrettävyyden edelle. Tällöin lopputuloksena on koodia, jota on vaikea ylläpitää, vaikea lukea, hidas kehittää ja vaikea kommunikoida kehittäjältä toiselle.

Oma kokemukseni rajoittuu seuraaviin ohjelmointikieliin: Python, Ruby, C++, Java, Ada, Javascript ja Coffeescript. Tästä joukosta Python on ehdottomasti tehokkain ohjelmointikieli, jota olen käyttänyt (Ruby loistavana kakkosena).

Asiakkaiden näkökulmasta Python-kehitystä on kustannustehokasta. Uskonkin, että käyttämällä Pythonia teemme palveluksen asiakkaillemme lyhentämällä kehitykseen käytettyä aikaa. Oikeanlaisten lopputulosten aikaan saaminen kömpelömmillä kielillä kun vaatii aina enemmän aikaa ja vaivaa kehittäjiltä.