CGI:n blogi - kirjoituksia eri asiantuntijoilta

CGI Suomen asiantuntijat

Kirjoituksia asiantuntijoiltamme

Asiakkaamme odottavat IT-ratkaisujen toimittajilta jatkuvasti parempaa tuottavuutta. Väitän, että valitulla ohjelmointikielellä on suurempi vaikutus IT-ratkaisujen toteutuksen tuottavuuteen kuin usein ajatellaan. Miksi näin?

Lean Startup, MVP, DevOps, pilviteknologiat - näitä meiltä kysytään. Miksi? Koska uusilla menetelmillä ja teknologioilla haetaan parempaa tuottavuutta.

Asiakkaamme odottavat meiltä tuottavuutta. Siksi tuottavuus on myös tärkeimpiä työmme laadun mittareita.

 

 

Mitkä ovat sitten tärkeimmät edellytykset hyvälle tuottavuudelle?

1. Koodaaminen tulkattavalla ohjelmointikielellä
Kehittäjien ajasta aivan liikaa menee kääntämiseen, asennuksiin sekä prosessien käynnistelyihin. Tulkattavalla kielellä tehty koodimuutos näkyy sovelluksessa välittömästi, ja kehittäjä voi keskittyä olennaiseen, eli koodin kirjoittamiseen. Tuottavuus nousee huimasti.

2. Tyypittömyys
Kaikissa tilanteissa tyypit eivät tuo lisäarvoa. Esimerkiksi TypeScriptillä tehty toteutus vaatii noin 30 % enemmän koodia verrattuna tyypittömään JavaScript-toteutukseen. Toimivia asioita saa tehtyä hämmästyttävän pienellä koodimäärällä, kun rajapintoja, domainmalleja ja mallien mappayksiä ei tarvitse erikseen määritellä ja ylläpitää.

3. Funktionaalisuus ja tilattomuus
Olio-ohjelmoinnin ongelma on päätöksenteon hajautuminen ja tilallisuus. Tilallisuus on haasteena skaalautuvissa järjestelmissä, ja se myös monimutkaistaa asioita. Tilallinen olio käyttäytyy eri tavalla eri tilanteissa, mikä tekee siitä arvaamattoman.

Tilattomat funktiot sen sijaan ovat luotettavia, koska ne palauttavat aina saman arvon, kun niitä kutsuu samoilla parametreilla. Se tekee myös toteutuksen testaamisen helpoksi.

Olioita voi periä, mikä on kiva juttu, mutta funktioille voi antaa parametreina funktioita ja ne voivat palauttaa funktioita. Hienojakoisia funktioita yhdistelemällä voidaan siis rakentaa uusia toimintoja todella kätevästi. Funktioiden uudelleenkäytettävyys on ylivoimainen verrattuna olioihin. Tämä vähentää koodimäärää ja parantaa koodin luotettavuutta.

 

Väitän, että valitulla ohjelmointikielellä on suurempi vaikutus IT-ratkaisujen toteutuksen tuottavuuteen kuin usein ajatellaan.

 

Rohkeutta päätöksentekoon

Monissa paikoissa mietitään pilvistrategioita ja teknologioita. Fronttipuolella JS-frameworkkeja harva enää kyseenalaistaa, mutta APIen osalta valitettavan usein turvaudutaan perinteisiin Java/.NET -ratkaisuihin.

Itse kannustan valitsemaan Node.js:n API-toteutuksiin. Tässä muutama syy, miksi liputan sen puolesta:

  • Kehittämisen tuottavuus nousee tulkattavuuden ja tyypittömyyden ansiosta.
  • JavaScriptissä yhdistyy mukavasti olio-ohjelmointi ja funktionaalisuus.
  • Frontendin ja backendin toteutus onnistuu samalla ohjelmointikielellä.

Blogin on kirjoittanut Matti Koljonen.

 


 

Tutustu myös

Kirjoittajasta

CGI:n blogi - kirjoituksia eri asiantuntijoilta

CGI Suomen asiantuntijat

Kirjoituksia asiantuntijoiltamme

CGI on kansainvälisesti suomalainen digitalisaatiokumppani.  Suomessa noin 3 800 asiantuntijaa konsultoivat asiakkaitamme liiketoiminnan ja ICT-ratkaisujen kehittämisessä. Tällä profiililla julkaisemme kirjoituksia CGI:n eri asiantuntijoilta.