Java 8 ja ohjelmistojen yhteensopivuus

Jep, vaikuttaisi siltä että vaikka Java 8 itsessään on jo valmis, monet sovelluskehykset eivät ole vielä ajan tasalla. Esim. Grails kieltäytyy tekemästä domain luokkia nykyversiossa jos sitä ajetaan Java 8 alaisena, Play Framework myös nikottelee hieman, ja monet muut pinot myös kehittävät aivan uudenlaisia pulmia. Omassa koneessa on tässä kohtaa vielä rinnan Java 7 ja Java 8. Sen verran lupaava tuo 8 kyllä on että enenevässä määrin teen sillä mahdollisimman paljon. Netbeans tuki sille on suorastaan loistava tällä hetkellä jo.

Mutta aika korjaa nämäkin. Pientä jännitystä voi tulla kirjastojen, ajurien ja kehysten kanssa joita ei päivitetä tiheään nykyisin.

Edit: PMD koodilaadun analyysiohjelma, FindBugs, Cobertura eivät tajua Java 8 bytekoodia. JaCoCo tuntui ainakin kevyellä testauksella toimivan ihan uusimmassa versiossa, vaikka siinäkin vähän huteruutta.

Mainokset

Groovy RSSReader

No niin, Groovy ja Grails kurssia pitäessä piti piruuttaankin tehdä taas RSS syötteen lukuohjelmaa, samoin kuin tein aiemmin Scalalla. Päädyin itse tämmöiseen:

new XmlSlurper().parse('http://feeds.feedburner.com/tieturi').channel.item.findAll { println "- ${ it.title }"}

Se on siinä, ilman mitään importteja sun muita. Tulostaa Tieturin blogin päätason otsikot alekkain. On nää kauniita nää uudet dynaamiset kielet.

Osaakohan joku lyhentää tuotakin? 😉

Tampere Goes Agile!

Kävin pitämässä lightning talkin Tampere Goes Agile tapahtumassa aiheesta Agile Enabler: Grails, eli aiheena miten aikainen prototypointi auttaa saamaan aikaan sen mitä asiakas todella TARVITSEE eikä sitä mitä HALUAA. Want ja Need voivat joskus johtaa samaankin asiaan, mutta ne eivät itseisarvoisesti ole sama asia – jonka ketteryyttä tuntevat toki hyvin tietävätkin.

Java alustalla toimiessa ja projektia aloittaessa iskee usein valintahalvaus: vaihtoehtoja on lukemattomia tehdä sama asia. Spring? Puhdas Java EE ja JSF? GWT? Kun valinta on tehty, valitaan lisää. JDBC vai JPA? SQL vai NOSQL? Log4j vai util.logging? Maven vai Ant? Matka siitä kun tuoteidea on päätetty toteuttaa ja alusta valittu siihen kun on jotain mitä voi prototypoida ja demota on pitkä, pahimmillaan kuukausia.

Ongelma ei ole sama kun tietää mitä tekee, valinnat on tehty ja yhdistelmästä on kokemusta ja apuvälineet rakennettu. Mutta silti, miten pitkään menee ensimmäiseen toimivaan prototyyppiin? Josta siis saa arvokasta palautetta siitä mennäänkö oikeaan suuntaan, ja siitä mitä suuntia on edes tarjolla. Kuukausia? Viikkoja? Päiviä?

Grailsillä vastaus on minuuteja. Ja customoidessa yksityiskohtia ehkä tunteja. Koska prototyypit ovat pystyssä heti, muutokset reaaliaikaisia, oletuksia paljon, ja valinnat jo tehty, alusta on äärimmäisen tuottava. Tein seminaari-ilmoittautumisjärjestelmän parissa tunnissa. Ja verkkokoulutusjärjestelmän parissa päivässä. Nopeita iteraatioita, nopea palautesilmukka.

P.s. seminaarikahvi on TODELLA asiallista… :p

image