Tänä tehokkuuden ihannoinnin aikakautena yleisenä totuutena pidetään, ettei mitään tehtävää pidä hieroa liian pitkään. Pitää olla selkeä näkemys siitä, milloin homma on valmis, ja silmät avoinna niin että havaitaan kun tila on saavutettu.
Ajatusmallissa on kaksi vikaa. Toinen on yksinkertainen ja selkeä, toinen vähän filosofisempi ja hankalahko.
Ensimmäinen on tietysti se, että osaava tekijä tietää [...]
Jatka lukemista →Metodologioiden huumassa unohtuu välillä korkeamman tason ajattelu ohjelmistokehityksestä. Ohjelmiston kirjoittamisen kustannusten (suorien ja epäsuorien) vähentämisen ylivoimaisesti tehokkain tapa on välttää ohjelmiston kirjoittaminen kokonaan.
Otetaan esimerkki: aikanaan Codentossa huomattiin joidenkin työntekijöiden tekevän jatkuvasti ylitöitä. Tätä haluttiin kontrolloida jollakin tavalla, jos ei vähentämällä päivittäisiä tunteja, laittamalla työntekijät kertymän sitä edellyttäessä pitämään vapaapäiviä.
Ohjelmistoyrityksenä Codentolla oli tietty suuri [...]
Jatka lukemista →Tutkin huvikseni Javan syntaksin muuttamista niin, että luokkien parametrit (Map<String, Integer>) kirjoitetaan hakasulkeisiin (Map[String, Integer]), niin kuin useimmissa kielissä, jotka eivät ole Java tai C++. Osoittautui ettei LALR(1)-parsereiden tapauksessa muutoksella ole suurta merkitystä parserin kokoon eikä minkäänlaista oikeellisuuden saavutettavuuteen. Puhtaan esteettisesti muutos on jopa voitto, koska sisäkkäisten parametrien yhtaikaisen sulkemisen (Set<Set<Integer>>) yhteydessä lekserin ei tarvitse [...]
Jatka lukemista →On yleisesti tunnustettu totuus, että C:n operaattorien sidontajärjestys tarvitsee välttämättä vertailu- ja bittioperaatioiden vaihdon. Esimerkki: a >> 5 & 3 == 1 && b >> 7 & 15 == 8. Melko selkeästi tarkoitetaan (((a >> 5) & 3) == 1) && (((b >> 7) & 15) == 8), mutta C:ssä, ja sen vaikutuksesta yllättävän monessa [...]
Jatka lukemista →Aina välillä joudun, kuten työtoverinikin, lukemaan CV:itä ja haastattelemaan ihmisiä. Näissä tilanteissa kasautuu mielikuva, että aivan kaikki eivät osaa CV:itä kirjoittaa. En tällä kertaa kuitenkaan aio juuttua tavanomaiseen kritiikkiini liian pitkästä dokumentista. On asioita, joita ei missään nimessä pidä mainita CV:ssä.
Työhaastattelussa ei saa kysyä ihan mitä tahansa. Tyypillinen, ja luultavasti eniten rikottu kielto, on [...]
Jatka lukemista →Ohjelmoijien kansanperinteeseen kuuluu erottelu kertakäyttökoodiin ja tuotantokoodiin. Tuotantokoodin erilaisia laatutasojakin nähdään yleensä olevan ainakin muutamia. Haluan kuitenkin tarkastella kertakäyttökoodin käsitettä.
Koska koodi kuitenkin jää olemaan, ja on riski sen uudelleenkäytöstä, pitäisi tunnustaa tosiasiat, eikä elää valheessa. Kaikki koodi pitäisi kirjoittaa vähintään minimaalisella tuotantokoodin tasolla: kehittäjän itsensä pitää ymmärtää se myös puolen vuoden päästä.
Ohjelmoijan tapa [...]
Jatka lukemista →Ohjelmistoja tuottavat organisaatiot tyypillisesti käyttävät versionhallintaa. (Jotkut eivät, vaikka tietävät, että pitäisi. Mutta ei heistä tänään.) Versionhallintahan on helppoa, kun sen osaa. Vai onko? Tarkastellaanpa asiaa lähemmin.
Kaikki versionhallintaa käyttävät softaorganisaatiot luovat uusia projekteja versionhallintaan, lisäävät uutta koodia, ajoittain jopa palaavat vanhempiin versioihin huomattuaan tehneensä virheitä. Jostain syystä laajamittainen versionhallinnan käyttö tuntuu rajoittuvan tähän.
Branchien [...]
Jatka lukemista →Google – tai itse asiassa C:n syyllisenä tunnettu Ken Thompson ja hyvin pieni joukko muita Googlen työntekijöitä – ovat paljastaneet maailmalle kehittäneensä uuden keskimatalan tason ohjelmointikielen.
Julkilausumassa esitellään useita perusteita teolle. Ilmeistä kuitenkin on, että haetaan C:lle tappajaa. Tätä on yritetty ennenkin, eivätkä hyvätkään kielet ole siinä onnistuneet. Mitä tällä kertaa on tehty [...]
Jatka lukemista →Yhteystiedot
Ota yhteys ja kysy Codenton palveluista! Puhelin 040-729 2733, info[at]codento.comTagit
aamiaistilaisuus agile ajankohtaista amazon arkkitehtuuri avoin lähdekoodi aws c CAP cloud cloud-init cvs ec2 english eucalyptus futurologia git go google google appengine hadoop hajautetut järjestelmät howto java kirjat konsultin niksinurkka konsultointi mapreduce näin meillä ohjelmistotuotanto ohjelmointi ohjelmointikielet pilvi post-it python s3 scrum skaalautuvuuden abc skaalautuvuus tapahtumat tietokanta ubuntu verkkopalvelut versionhallinta välimuistiArkisto
- toukokuu 2012
- huhtikuu 2012
- maaliskuu 2012
- helmikuu 2012
- tammikuu 2012
- joulukuu 2011
- marraskuu 2011
- lokakuu 2011
- huhtikuu 2011
- maaliskuu 2011
- helmikuu 2011
- tammikuu 2011
- joulukuu 2010
- marraskuu 2010
- lokakuu 2010
- syyskuu 2010
- elokuu 2010
- heinäkuu 2010
- kesäkuu 2010
- toukokuu 2010
- huhtikuu 2010
- maaliskuu 2010
- helmikuu 2010
- tammikuu 2010
- joulukuu 2009
