The Linux Programming Interface kirja saapui

Tilasin joitakin viikkoja sitten eBayn kautta Michael Kerriskin ohjelmointikirjan The Linux Programming Interface. Arvelin tilatessani, että teos olisi hyvä, mutta kun tänään illalla silmäilin kirjaa, olin enemmän kuin tyytyväinen. Luettuani kappaleen signaalinkäsittelyfunktioista voin todeta, että tämä kirja on huolellisesti ja informatiivisesti kirjoitettu.

Äsken lueskelin kirjaa alusta ja vaikutelma korkeasta laadusta vain lisääntyi. Kerrisk on tehnyt valtavan työn ja nimestään huolimatta tämä teos ei ole pelkästään Linux-spesifistä informaatiota sisältävä, vaan kirjoittaja on pyrkinyt tekemään selväksi mitkä ominaisuudet kuuluvat POSIX/SUS-standardeihin ja mitkä ovat Linuxille ominaisia, epästandardeja laajennoksia.

kerrisk linux

Tähän asti olen vannonut Richard Stevensin Unix-kirjojen nimiin, mutta nyt on todettava, että Michael Kerrisk on sopiva Stevensin manttelinperijäksi. Kerrisk on Linuxin manuaalisivujen pääasiallinen ylläpitäjä ja hänellä tuntuisi olevan kertakaikkiaan valtavat tiedot Linux API:sta, sekä kernelin että glibc:n osalta.

The Linux Programming Interface on vuodelta 2010 ja se on siis jonkin verran vanha, mutta oleellisilta osin siinä kuvatut rajapinnat eivät kuitenkaan ole muuttuneet. Teos on edelleen erittäin relevantti ja siinä on ainakin yli 1400 sivua painavaa asiaa, selkeästi järjesteltynä aliosioihinsa. Olin myös havaitsevinani, että Kerriskin pedagoginen ote on jossain määrin jopa parempi kuin Rich Stevensin. Nimittäin Kerriskin kirja on aloittelijaystävällisempi ja siinä selitetään hyvin ymmärrettävästi esimerkkien avulla miten Linux käyttöjärjestelmänä toimii.

On selvää, että Stevenskin tiesi kaiken mitä Kerrisk kuvailee, mutta hän ei kirjoissaan ottanut huomioon sitä osaa lukijakunnasta, joille Unix oli kokonaisuudessaan melkoinen mysteeri. Tätä kirjaa on ilmeisesti ylistetty paljonkin ja näyttää vahvasti siltä, että kehut eivät suinkaan ole olleet suotta annettuja. The Linux Programming Interface on todellakin laadukasta työtä.

Koska jotkut osa-alueet ovat minulle tuttuja monestakin yhteydestä, en aio lukea kirjaa kokonaisuudessaan, vaan tulen keskittymään niihin osiin, joista en tiedä paljoa, tai joiden sisällön olen jo ehtinyt unohtamaan. Tämä kirja on myös varmasti loistava referenssinä, sillä sen käsittelemä aihealue on suoraan sanottuna suunnattoman laaja. Kerrisk on konsultoinut eri alojen erikoisasiantuntijoita, jotta The Linux Programming Interface olisi mahdollisimman virheetön ja kattava tietolähde.

Esimerkiksi Lennart Poettering, jonka saavutuksiin kuuluu mm. Linuxin keskeinen ohjelmisto systemd, on kehunut Kerriskin kirjaa. Saatuani teoksen tänään käsiini, aloin vasta ymmärtää miten merkittävästä kirjasta on kysymys. Tämän kirjan koostaminen ja tiedon kerääminen on ollut lähes epäinhimillinen urakka, mutta Michael Kerrisk on onnistunut siinä. Ei voi kuin ihmetellä ja ihailla hänen henkisiä kykyjään, ja taitoa esittää informaatio näin hienosti organisoituna ja esimerkein höystettynä.

Rich Stevens teki aikoinaan pohjatyön ja määritteli sen mitä legendaariset Unix-kirjat voivat olla. Michael Kerrisk jatkaa samaa perinnettä ja on tehnyt mielettömän työn kirjoittaessaan tämän kirjan. Olen todellakin positiivisesti yllättynyt!