Programming in Scala vastaan Programming Scala



Luin yleisestä mielenkiinnosta molemmat toimistolla olevat Scala-kirjat [1]. Ne ovat Programming in Scala (Odersky, Spoon, Venners) ja Programming Scala (Wampler, Payne). Nimet ovat hämäävän samankaltaiset, toisaalta tämänlaisessa tietokirjallisuudessa näin vain käy. Ensimmäisen kirjoittajista yksi, Martin Odersky, on Scalan pääasiallinen suunnittelija ja liikkeellepaneva voima.

Lyhyesti, Oderskyn et. al. Programming in Scala on minulle olennaisesti sopivampi kirja. Syyt ovat monimutkaiset.

Molemmissa kirjoissa on itse asiassa sama sisältö korkealla tasolla tarkasteltuna. Odersky on hieman paksumpi, mutta tyyli on niin paljon monisanaisempaa, ettei tästä seuraa yhtään sen suurempaa asiamäärää.

Myös kirjojen rakenne on samanlainen: ensin kerrotaan miten saadaan koneelle käännösympäristö, sitten parinkymmenen sivun nopea kielen läpikäynti, kolmanneksi (suurimman osan kirjasta käsittävä) perusteellinen kielten ominaisuuksien käsittely, ja lopuksi valikoima kirjastomaisempia ominaisuuksia ja pohdintaa liittymistä erilaisiin Java-frameworkeihin.

Tuntuva ero syntyy siitä, että Oderskyä on miellyttävä lukea, ja Wampleria ei. Kirjojen vaatima keskittyminen on luonteeltaan täysin erilainen. Odersky vie flow-tilaan, Wampleria joutuu pureskelemaan samalla tavalla kuin lakimiehen kirjoittamaa sopimusta. Tämän seurauksena Wampleria jaksaa lukea korkeintaan kymmenen minuuttia kerrallaan, kun taas Oderskyn voi lukea kerralla läpi, vaikka siihen meneekin koko päivä.

Tätä vertailua tehdessä tulikin vasta mieleen kuinka tärkeä tekstin tyyli on myös tietokirjallisuudessa. Jos tyylin käsittely vaatii lukijalta työtä, se on pois substanssin käsittelystä, mikäli substanssi vaatii aivotyötä. Ja sitä se vaatii, jos kyseessä on esimerkiksi uuden ohjelmointikielen opettelu.

Pidän kuitenkin täysin mahdollisena, että joku toinen lukija saattaa kokea näiden kirjojen luettavuuden täsmälleen päinvastaisena. Tämä lukija tulee silloin juuri päinvastaiseen lopputulokseen kirjojen paremmuudesta, koska sisällöllisesti teokset ovat kutakuinkin samanarvoiset.

[1] Scala on Java-bytekoodiksi kääntävä kohtuullisen hyvin Java-kirjastojen kanssa interoperoiva ohjelmistokehityksen vakavasti ottaville ohjelmoijille suunnattu ohjelmointikieli.

Tämän artikkelin on kirjoittanut Teemu Kalvas ja sitä ovat sittemmin muokanneet muut Codenton työntekijät.

3 kommenttia artikkeliin ”Programming in Scala vastaan Programming Scala

    • Subramaniam on tunnetusti hyvin luettavaa ja mukavasti kulkevaa tekstiä kirjoittava. Pitää lukea tuokin, voin hyvinkin olla sen jälkeen samaa mieltä.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *