torstai 31. joulukuuta 2009

Moraalifilosofia

Timo Airaksinen, Moraalifilosofia. WSOY, Juva, 1993 (1987).

Timo Airaksinen on Helsingin Yliopiston filosofian professori käytännöllisen filosofian laitoksella. Hän on kirjoittanut useita kirjoja, joista Moraalifilosofia on ensimmäisiä ja esittelee modernin etiikan saavutuksia. Kirjaa on käytetty kurssikirjana, mutta se sopii keskustelevan kirjoitustyylinsä ja vähäisen ammattislanginsa puolesta myös maallikon käsiin. Etiikka eli moraalifilosofia on aivan keskeinen osa ihmiselämää. Kirjan tarkoitus on tarjota lukijalle työkalut eettisten ongelmien analysoimiseksi, koska "[i]lman riittävää tekniikkaa ei kritiikistä ja keskustelusta tule yhtään mitään". Etiikka nojaa paitsi käsitteelliseen analyysiin myös terveeseen järkeen, suostutteluun ja retoriikkaan, ja hiottu keskustelutekniikka on erinomainen tapa vaikuttaa ihmisiin. Airaksisen tyyliin kuuluu, että esimerkkien kohdalla ei jäädä näpräämään näennäisyyksillä, vaan niihin ladataan tabuja ja kulttuurisia traumoja (luennoilla esimerkit ovat lennokkaampia kuin kirjassa). Tottumattomalle filosofinen etiikka tai metaetiikka voi tuntua rajulta.

Usein moraalilla tarkoitetaan vallitsevaa käsitystä oikeasta ja väärästä, mikä tietenkin vaihtelee kulttuureittain ja aikakausittain.  Sillä voidaan viitata myös siihen, mikä on oikein ja mikä väärin. Lisäksi sillä voidaan viitata moraalifilosofiaan eli etiikkaan, moraalin systemaattisen tutkimiseen. Eettinen ongelma tarkoittaa käytännön tilannetta, jossa ei ole selvää, mikä on oikein ja mikä väärin; vastakkain on kaksi moraaliperiaatetta. Arkikäytössä eettisisiksi ongelmiksi (tai peräti dilemmoiksi) on erheellisesti väitetty tilanteita, joissa ei ole epäselvää, mikä on oikein tai väärin vaan joissa asianosainen ei yksinkertaisesti halua toimia oikein. Esimerkiksi lahjusten ottaminen on väärin, eikä se ole siten eettinen ongelma.

Toinen arkielämään ja -keskusteluun liittyvä ongelma koskee epävarmuutta eettisistä totuuksista.
Moraalifilosofian paha salakari on moraalisen totuuden ajatus. Suomalaiset uskovat aivan luonnostaan joidenkin asioiden olevan väärin. Ajatellaan vaikka vanhusten ryöstämistä kadulla tai rotusortoa. Mutta kun moraaliarvostelmien totuutta käyttävä henkilö ryhtyy keskustelemaan moraalitotuuden olemassaolosta, hän päätyy usein sellaiseen kummalliseen tulokseen, että kukin mielipide on aivan yhtä hyvä ja kaikki arvoarvostelmat ovat yhtä lailla tosia. Jokainen tulkoon autuaaksi omalla uskollaan. (s. 21-22)
Jos keskustelijat ovat keskenään eri mieltä, syntyy tarve perustella väitteitä. Koska eettinen jalkatyö on vierasta ja vaikeaa, syntyy virheellinen ajatus, että kaikki mielipiteet pitäisi hyväksyä. Etiikan sisäinen realismi tarjoaa kuitenkin maaperän tosille ja epätosille väitteille. "Moraalisysteemin eli -instituution hyväksyvälle ihmiselle moraaliväitteet ovat päteviä tavalla joka on sukua tieteellisen väitteen totuudelle". Tietenkin moraali on ihmisen luomus, eikä moraaliväitteiden totuutta voi mitata.

Johdannon jälkeen luvussa 1 Airaksinen esittelee peruskäsitteet arvo ja tosiasia. Filosofia on keskustelun perinne, ja siten vauhti haetaan aina filosofian historiasta - yleensä antiikista. Yksi keskeisiä etiikan tutkimustuloksia on G. E. Mooren naturalistinen virhepäätelmä. Kaikki yritykset perustella arvoja tosiasioiden pohjalta sortuvat virhepäätelmään, koska "hyvää" ei voi sitoa mihinkään luonnolliseen, empiirisesti havaittavaan ominaisuuteen maailmassa. Niinpä pelkistä tosiasioista ei voi tuottaa normatiivisia eli ohjeita antavia johtopäätöksiä. Kuten David Hume totesi: there is no ought from is.

Luvussa 2 Airaksinen kokoaa R. M. Haren ajatukset moraalin luonteesta. Moraali ja moraalinen kielenkäyttö on 1) kehottavaa tai käskevää (preskriptiivisyys), 2) yleistä (universaalisuus, ei erisnimiä vaan yleisiä periaatteita), 3) itsenäistä (autonomisuus, ei palaudu mihinkään muuhun elämän alueeseen) ja 4) ylivertaista (tärkeintä ihmiselle, moraaliperiaate on ylivertainen suhteessa kaikkiin muihin motiiveihin). Hare yrittää moraaliperiaatteiden universalisoinnin kautta yhdistää velvollisuusetiikkaa ja utilitarismia, mutta Airaksinen näyttää, että liitos jää lyhyeksi.

Luku 3 esittelee neljä keskeistä etiikan suuntausta. Ensimmäinen on emotivismi, jonka mukaan ihminen toimii oikein, jos hän toimii vaistojensa tai intuitionsa mukaan. Moraaliperiaatteet ovat emotivismin mukaan tunteen ilmauksia. Emotivistille hyvä on vain jotain, mitä hän rehellisesti pitää hyvänä -- sen pidemmälle hyvää, oikeutta tai velvollisuutta ei päästä.  Toinen on moraalirelativismi, jonka mukaan moraaliväitteen pätevyyys riippuu joko i) sen esittäjästä (subjektivismi) tai ii) historiasta ja yhteiskunnasta (hegeliläistä etiikkaa). Näin relativismi on enää kuvailevaa, eikä esitä kehotuksia tai käskyjä. Kolmas suuntaus on intuitionismi, jonka mukaan ihmisellä on luontainen taipumus tunnistaa todet moraaliväitteet. Intuitionistin on vaikea perustella moraaliperiaatteen preskriptiivisyyttä eli kehottavuutta, koska näkemys on keskeisesti kuvaileva (deskriptiivinen). Niinpä kahden intuitionistin on vaikea sovittaa kilpailevia intuitioita yhteen.  Neljäs suuntaus käsittää egoismin ja altruismin. Altruistin mukaan ihmisen tulee pitää huolta ennen kaikkea muiden eduista. Ajatus ei oikein kanna, koska ihminen nääntyy, jos hän asettaa aina muut etusijalle. Egoismi tarkoittaa, että jokainen pitää huolta vain omista eduistaan. Subjektiivinen egoismi esittää, että kaikki rajoitukset oman edun tavoittelulle ja haluille ovat sietämättömiä. Jos tämä ei ole pahuutta, en tiedä, mikä on. Klassisen egoismin mukaan ihmisen tulee toteuttaa itseään vapaasti, mutta mikä tahansa himo tai halu ei ole vapautta. Vain aidot itsensä toteuttamisen tarpeet ovat hyväksyttäviä. Mitä ne sitten ovat? Keskeistä on, että egoisti ei universalisoi moraaliperiaatteitaan. Tämä liippaa tiukkaa liberalismia, joka vaatii ihmistä tavoittelemaan omaa hyväänsä, jolloin jokainen ihminen on moraalinen päämäärä itsessään. Valtion tehtävä on taata yksilön oikeudenmukaista oman hyvän tavoittelua. Oikeudenmukaista on vain tuottava työ ja kaupankäynti. Näissä peleissä viekas voittaa, koska kaupankäynnin oikeudenmukaisuudelle ei ole mittaria, koska se on itsessään oikeudenmukaisuuden mitta.

Neljäs luku käsittelee utilitarismia, jonka mukaan moraalisuuden mitta on tekojen seurauksissa. Idealistinen utilitaristi tavoittelee mahdollisimman suurta "hyvää", hedonisti mahdollisimman suurta nautintoa -- niinpä inhimillisyyden korkein aste olisi kytkeytyä jatkuvaa, mitä suurinta nautintoa tuottavaan koneeseen, jos sellainen olisi. Preferenssi- eli valintautilitarismin mukaan oikein on kahdesta vaihtoehdosta suurempaa "hyötyä" tarjoava. Ongelma on hyötyjen vertailussa: miten vertaillaan laadullisia ja määrällisiä hyötyjä? Valintautilitaristi on aseeton kovan egoistin edessä: itsekkyyden vaatimusta on vaikea kumota ilman hyötylaskelmia edeltävää laatukriteeristöä. Toisaalta taitavan donkkaajan taidonnäytteet vierasottelussa tuottaisi määrällisesti enemmän mielipahaa yleisössä kuin mielihyvää omassa joukkuessa, ja siten se olisi määrällisen hyödyn kannalta väärin -- lopulta voidaan mitata kannattajajoukkoja. Jos hedonistin tavoittelema mielihyvä korvataan hyödyllä ja onnella, voidaan kysyä, miksi hedonisti olisi kiinnostunut abstraktista yleisestä mielihyvästä?

Ennen kuin hyötykalkyyli on räknätty, utilitaristi ei voi pitää mitään pahana, rumana tai vääränä. Usein itseään utilitaristeina pitävät sotkevat järkevän toiminnan ja moraalin.
Tehkäämme ero moraalin ja järkevän toiminnan (prudentiaalisuuden) välillä. Prudentiaalisuus on sitä, että toimii järkevästi eli pitää huolta omien elämisen mahdollisuuksiensa toteutumisesta nyt ja huomenna. Moraali edellyttää uhrauksia siinä mielessä, että ihmisen on ainakin joskus todettava yhteinen etu tai toisen ihmisen etu tärkeämmäksi kuin oma hyvinvointi. Esimerkiksi jos kaupunkiin rakennetaan puisto lahjoitusvaroin, kaikki voivat sitä käyttää, myös ne jotka eivät lahjoittaneet rahaa. Järkevä ihminen ei lahjoita rahaa, koska silloin hänellä koituu puiston perustamisesta ylimääräistä menoa. Hän tajuaa, että kaikki ihmiset voivat käyttää puistoa, aivan riippumatta siitä, ovatko he tehneet lahjoituksen vai eivät. Julkisiin menoihin osallistuminen on ongelmallista, koska saman edun voi saada osallistuipa kustannuksiin tai ei.

Moraalinen ihminen lahjoittaa rahaa, koska hän haluaa olla solidaarinen eikä hän välitä hyötyä ansiottomasti muiden uhrauksista. Ongelmana on siis prudentiaalisuuden ja moraalinen sovittaminen yhteen siten, ettei moraalisuus edellytä kovin suuria ja perusteettomia uhrauksia. Moraali, joka vaatii suuria tai julmia uhrauksia ei voi olla oikeutettua. On vastattava kysymykseen, joka koskee moraalin motivoivuutta. (s. 143)
Utilitaristi tavoittelee mahdollisimman suurta hyvinvointia mahdollisimman monelle ihmiselle. Jos toimintavaihtoehdot sisältävät riskejä, maksimoidaan kokonaishyvinvoinnin odotusarvo. Ei ole selvää, miksi pitää maksimoida. Onko onnellisuus velvollisuus? Koska yksilön hyvinvointi on vain osa kokonaishyvinvointia, voi käydä niin, että kokonaishyvinvoinnin maksimointi vaatii yksilöä uhraamaan oma hyvinvointinsa. Ihminen voi uhrata terveytensä taistellakseen kansantaloustuotteen kasvattamiseksi. Se voi olla kokonaisuuden kannalta hyödyllistä, mutta utilitarismi ei pysty perustelemaan yksilöä koskevia velvollisuuksia. Airaksinen tunnustaa toki, että onnellinen maailma on hyvä maailma ja suurin mahdollinen hyvinvointi kaikille ihmisille on oikea ja jalo päämäärä. Vaikka utilitarismi on ehkä puutteellinen etiikan teoria, mutta se on rationaalinen päätöksenteon ideologian kannalta elimellinen. Airaksinen esittelee rationaalisuutta ja peliteoriaa muutamien sivujen verran.

Luvussa 5 käsitellään oikeuksia ja velvollisuuksia. Airaksinen esittelee Immanuel Kantin kategorisen imperatiivin. On tutkittava teon toimintaan liittyvää periaatetta, ja pohdittava, voiko sen yleistä kaikkia koskevaksi ristiriidattomaksi luonnonlaiksi. Varkaus tuhoaa omaisuuden ajatuksen, mutta varkaus on nimen omaan omaksi ottamista -- ristiriita. Velvollisuus on käsky, jonka moraalinen ihminen asettaa itselleen siksi, että on moraalinen. Silti jäykkä kantilainen velvollisuuksien ohjaama elämä olisi helvettiä. Kaikkien tulisi auttaa kaikkia hädänalaisia missä tahansa. Tekemättä jättäminen (omissio) on velvollisuusetiikan mukaan tekoon rinnastettava. Kissan tappaminen ja pelastamatta jättäminen ovat yhtä suuria pahoja. Todellisuus ei sovi yhteen kovan velvollisuusetiikan kanssa.

Airaksinen esittelee myös Alan Gewirthin teorian oikeuksista. Teko sisältää vapauden (henkilö on ollut vapaa tekemään X). Ihminen vaatii vapautta ja hyvinvointia oikeuksikseen. Oikeuslause on muotoa: henkilöllä A on oikeus asiaan X ja henkilöä B vastaan syystä Y. Gewirth yrittää perustella oikeuksia universalisoinnin kautta: vaatimalla oikeuksia tunnustan muiden oikeudet. Oikeusvaateet ovat loogisia ja niiden synnyttämät velvollisuudet jäävät perustelematta, koska ne eivät edellytä toisen aseman omaksumista.
Oikeudet ovat siis muiden ihmisten suhteen esitettyjä perusteltuja vapausvaateita.  Se, että oikeudet suuntautuvat jotakin ihmistä vastaan, tarkoittaa, että ne luovat tuolle ihmiselle velvollisuuksia. Oikeudet ovat rajoitettujen velvollisuuksien lähde. Ei silti ole itsestään selvää, miksi muut ihmiset ottaisivat minun oikeusvaateeni tuottamat velvollisuudet kuuleviin korviinsa. [...] Ei ole helppo nähdä, miksi hukkuva voisi vaatia ohikulkijaa pelastamaan itsensä. Ohikulkija voi todeta vain, että hukkuva saa hänen puolestaan tehdä mitä haluaa. Jokainen saa toteuttaa omat päämääränsä, ja tämä ajatus soveltuu myös hukkuvaan. Gewirthin teoria on tyypillinen liberalistinen oikeusperustainen teoria, jossa yksilön oma toiminta määrää muiden velvollisuudet. Vapaus on keskeinen ajatus. Toinen tärkeä idea on, että teoria on muodollinen ja looginen, jolloin sen tulkinnasta riippuu, mitä velvollisuuksia ja vapauksia ihmisillä on. (s. 183-186)
Oikeudet ovat keskeinen osa ihmisenä olemista. Ilman niitä ihminen lankeaa kasviksi tai orjaksi. Oikeudet eivät silti kuvaa, millainen on hyvä ihminen. Airaksinen esittelee eri oikeuslajeja.

Kuudes luku käsittelee John Rawlsin teoriaa oikeudenmukaisuudesta, joka on osaa etiikkaa. Airaksinen pitää Rawlsin kirjaa A Theory of Justice (1971) klassikkona. Yksilö tulee valita yleiset moraaliperiaatteensa "tietämättömyyden verhon" takana: hän ei valinnassaan perusta mitään omiin kykyihinsä, tarpeisiinsa tai arvostuksiinsa eikä myöskään yhteiskunnan historiaan. Tämä on tapa universalisoida. Tuloksena on reilu peli. Esimerkkinä Airaksinen mainitsee omenan jakamisen: yksi leikkaa omenan kahtia, toinen saa valita kahdesta palasta. Jos molemmat ajattelevat omaa etuaan, menetelmä takaa reilun pelin. Toisaalta venäläinen ruletti on sekin reilu menetelmä, vaikka ei päädykään hyvinvoinnin tasajakoon.

Reiluudella tarkoitetaan, että rationaalisesti ajattelevat ja teoriasta hyvin perillä olevat henkilöt itse valitsevat itselleen moraalin ottaen huomioon sen, että joutuvat itse elämään valintojensa mukaan. Mitä valinnoista seuraa, on reilu järjestys, josta kenelläkään ei voi olla mitään valittamista. [...]
"Ensimmäinen: kullakin henkilöllö on oltava yhtäläinen oikeus suurimpaan sellaiseen perusvapauteen, joka sopii yhteen muiden ihmisten samanlaisen vapauden kanssa. Toinen: yhteiskunalliset ja taloudelliset erot on järjestettävä niin, että (a) niiden voidaan olettaa koituvan kaikkien eduksi ja (b) ne liittyvät kaikille avoimiin asemiin ja tehtäviin." (Rawls, 1971, s. 60)
Rawls painottaa tehokkuusperiaatetta, joka muistuttaa Pareto-optimaalisuutta: kenenkään hyvinvointia ei voi enää parantaa heikentämättä jonkun toisen hyvinvointia. Hän kuitenkin esittää, että hyvinvointierojen on koiduttava huono-osaisten hyväksi. Koska palkka on hyvä, lääkäreiksi hakeutuu lahjakkaita ihmisiä, mikä on kaikkien sairaiden etu. Järjestelmä on reilu, vaikka lääkärit ovatkin rikkaita. Rawlsin ideat ovat sen verran mielenkiintoisia, että vuosia hyllyssä odottanut opus pitänee lukea kevään aikana.

Viimeinen luku käsittelee hyveitä. G. H. von Wrightin mukaan hyveitä ei voi ympyröidä kuin joukkoa sanoja. Hyve on luonteenpiirteenä sellainen, joka tasapainottaa paheen vaikutusta ja lisää inhimillistä hyvinvointia. Hyve hillitsee pahoja taipumuksiaan. Hyveellisyys on opittua itsehillintää. Airaksinen näkee hyveiden soveltuvuusalueen kuitenkin rajallisena, eikä niiden turvin selviä yleispätevän etiikan ongelmista. Armeliaisuutta tai rakkautta ei voi edellyttää keneltäkään, koska velvoitettuna se olisi tyhjä muoto.

Luvun lopussa esitellään Alasdair MacIntyren hyveteoria. MacIntyren mukaan nykyaikainen etiikka on liian abstraktia ja sekavaa niin, ettei siitä ole opettamaan ketään. Pitäisi palata aikaan ennen Kantia, utilitarismia, emotivismia ja mielipiteiden kaaos, aikaan, jolloin hyve-etiikka vallitsi. MacIntyre tunnistaa kolme historiallista hyveteoriaa: homeerinen hyveteoria, joka lepää sosiaalisella pohjalla, aristoteelinen hyveteoria, jossa ihminen tähtää eudaimonian saavuttamiseen, ja hyötyajatteluun perustuva hyveteoria, jossa hyve on se, mikä auttaa menestymään. Hyötyajattelu tekee päämääristä ulkoisia, eikä ole merkitystä, millä keinoin päämäärä saavutetaan. Huijaaminen ei ole väärin, jos se tuottaa paremman lopputuloksen. MacIntyre suosittaa paluuta aristoteeliseen hyveeseen, joka on ihmisen aitojen päämäärien tavoittelua. Ihminen täydellistyy opettelemalla ja toteuttamalla hyveitä.  Nykyihminen ei kuitenkaan tunne päämääriään (vrt. Fromm), joten paluun onnistuminen on epävarmaa. 

Moraalifilosofia pakkaa kahteen ja puoleen sataan sivuun paljon asiaa. Airaksinen esittää kaikkiin teorioihin vastaesimerkit eikä ihaile mitään. Kirja ei siten tarjoa ensimmäistäkään vastausta yksittäisiin moraalisiin ongelmiin tai edes pomminvarmaa menetelmää niiden ratkomiseksi. Kirja esittelee modernia etiikkaa - joskin mukana on nyttemmin käsittääkseni taka-alalle jäänyt marxilainen etiikka - sekä sen ongelmia ja siten valmentaa lukijaa käsittelemään ja pohtimaan käytännön ongelmia. Kuten sanottua, kirjoitusote on rauhallinen, melkein leppoisa. Paikoin olisivat selkeämmin muotoillut määritelmät olleet paikallaan.

tiistai 29. joulukuuta 2009

Kesän taittuessa

Truman Capote, Kesän taittuessa. Englanninkielisestä alkuteoksesta Summer Crossing (2005) kääntänyt Kaijamari Sivill. Tammi, Helsinki, 2007.

Yhdysvaltalainen kirjailija ja toimittaja Truman Capote (1924-1984) tuli kuuluisaksi teoksistaan Aamiainen Tiffanylla ja Kylmäverisesti. Vuonna 2004 Sothebyn huutokauppaan päätyi Capoten käsikirjoitus, jota hän oli kirjoittanut joskus 1940-luvulla ja jonka hän oli hylännyt vanhaan asuntoonsa. Käsikirjoitus julkaistiin nimellä Summer Crossing vuonna 2005 ja sen suomennos Kesän taittuessa vuonna 2007.

Nuori tyttö jää yksin New Yorkiin kesällä 1945, kun hänen vanhempansa matkustavat Eurooppaan. Tyttö on rikas, kaunis ja haluttu, mutta hän haluaa paeta häneen ladattuja odotuksia ja suunnitelmia. Pakokeinoksi muodostuu miessuhde, joka kääntyy viattomasta haaveilusta varovaiseksi salaisuudeksi ja vastuuttomaksi syöksymiseksi. Nuori Capote kirjoitti kaunista, kielikuviltaan hieman koukeroista tekstiä.

perjantai 25. joulukuuta 2009

The Flight of the Nighthawks

Raymond E. Feist, The Flight of the Nighthawks. EOS Fantasy, New York, NY, USA, 2006.

Raymond E. Feist on yhdysvaltalainen kirjailija, jota Science Fiction Chronicle ylistää kiistatta yhdeksi parhaista elossa olevista fantasiakirjailijoista. The Flight of the Nighthawks on ensimmäinen osa kolmiosaista saagaa, mutta ainakaan tämä teos ei lunasta ylistysten superlativiiveja. Hyvikset huomaavat vahingossa taistelevansa suurpahista vastaan kun taustalla kummittelee pelko vielä pahemmasta pahasta. Jos Hobbin maailmassa tuulahti Yhdysvaltain itärannikko, Feist peittelee eteläistä Kaliforniaansa vielä kevyemmin. Tarinassa on selkeitä puutteita. Se on epäselvä ketju kliseitä, roistoja, pahoinpitelyjä, ansoja, "ovelia" juonia ja vielä "ovelampia" vastajuonia, joita suurhyvikset arvuuttelevat ja selittelevät keskenään. Jää epäselväksi, miksi pahis tekee, mitä tekee. Toiseksi henkilöhahmot ovat epäkiinnostavia. He säntäilevät edestakaisin äkillisten oivallusten vallassa, eikä mikään tunnu loksahtavan. Feistin varhaisemmat teokset ovat saaneet kiitosta, mutta epäilen, tartunko Feistin teoksiin toiste.

Ehkäpä fantasia on kirjallisuuden lajina vaikea tai jopa rikki.

sunnuntai 20. joulukuuta 2009

Poikani Kevin

Lionel Shriver, Poikani Kevin. Englanninkielisestä alkuteoksesta We Need to Talk About Kevin (2003) kääntänyt Sari Karhulahti. Kustannusosakeyhtiö Avain, 2006.

Amerikkalainen kirjailija Lionel Shriver vaihtoi nimensä Margaret Annista Lioneliksi 15-vuotiaana, koska koki, että miehiä kohdellaan paremmin.  Poikani Kevin on hänen paitsi seitsemäs romaaninsa myös hänen läpimurtoteoksensa. Siinä amerikkalainen perheenäiti käy läpi työtään, avioliittoaan, lasten hankintaa ja koulutoveriensa ampujaksi 15-vuotiaana syyllistyneen poikansa kasvatusta, hirmutyötä ja syyllisyyttä. Kaikkien muiden tavoin äiti etsii tapahtuneelle selitystä. 

Kirjeiden muotoon kirjoitettu kertomus pui amerikkalaista ja miksei länsimaista yhteiskunta-, perhe- ja naisideaalia (tai -myyttiä). Perheen äidin ääni on fiksu, rehellinen ja uskottava. Lapset ottavat perheissä vallan, onnettomuuksiin halutaan syyllinen eikä kellekään ole oikein selvää, miksi ihmiset ruhjovat itseään uralla eteenpäin. Shriverin kritiikki on terävää, kielikuvat monin paikoin hauskoja, mistä Karhulahden käännöstyö selviää hyvin. Tapahtumat etenevät ja ahdistus kasvaa loppua kohden -- 500 sivua taittuu nopeasti.

tiistai 15. joulukuuta 2009

Object-oriented and Classical Software Engineering

Stephen R. Schach, Object-oriented and Classical Software Engineering, 6th ed. McGraw-Hill, New York, NY, 2005. 

Eteläafrikkalainen Stephen R. Schach valmistui maisteriksi fysiikasta, mutta vaihtoi pian alaa, väitteli matematiikasta ja päätyi ohjelmistotuotantoprosesseja tutkivaksi tietojenkäsittelijäksi. Vaikka tietojenkäsittelyssä on monta mielenkiintoista tutkimusaluetta, ohjelmistotuotannon saavutuksilla lienee kauaskantoisimmat vaikutukset tutkimusalueen ulkopuolella "todellisuudessa". Niin, ohjelmistotuotanto (software engineering) on oppisuunta, joka tähtää virheettömän, käyttäjän tarpeita vastaavan ohjelmiston toimittamiseen sovitussa aikataulussa ja budjetissa. Jotta näihin ideaaleihin päästään, on syytä ohjelmistoa kehittäessä soveltaa sopivia tekniikoita, joita mm. tässä kirjassa käsitellään.
 
Heti alkuun Schach lukeekin opiskelijalle tai tulevalle ammattilaiselle madon luvut. Vuonna 2000 tehdyn 280,000 kehitysprojektia käsittäneen tutkimuksen mukaan vain 28% onnistui suunnitellusti, 23% projekteista keskeytettiin, ja loput 49% toimitettiin myöhässä, arvioitua budjettia kalliimpina ja vähemmin toiminnallisuuksin (tutkimustuloksia on tietenkin sittemmin arvosteltu). Toisen, vuonna 1976 tehdyn tutkimuksen tunnistama huono onnistumisprosentti herätti keskustelun ohjelmistokriisistä. Oman kokemukseni mukaan kriisi on kaikkea muuta kuin ohi.

Ennen vuotta 1975 alalla ei ollut juuri laajalle levinneitä kehitysmenetelmiä. Klassinen ohjelmistokehitysmalli hahmottui seuraavan kymmenen vuoden aikana tarjoten järjestelmälliset tavat tietorakenteiden ja -voiden analyysiin, ohjelmointiin ja testaukseen. Malli osoittautui kuitenkin riittämättömäksi järjestelmien kasvaessa ja kompleksisuuden lisääntyessä. Klassiset menetelmät keskittyvät tyypillisesti operaatioihin, joilla tietoa muokataan, tai sitten tietomallinnukseen, jonka ympärille ohjelmisto rakennetaan, mutta ei molempiin. Olio-ohjelmointi on paradigma, jossa tieto ja sitä koskevat operaatiot paketoidaan olioiksi, joiden käyttäytyminen on huomattavasti helpompi suunnitella, toteuttaa ja testata. Olio-ohjelmoinnin edut ovat kiistattomat, ja Schach kuljettaakin klassista ohjelmistoparadigmaa mukana tekstissä nimenomaan vertailukohtana.

Object-oriented & Classical Software Engineering ilmestyi ensimmäisen kerran vuonna 1990. Käsillä oleva kuudes laitos on vuodelta 2005. Väliin mahtuu tietotekniikan laaja leviäminen ja internet. Kirjaa on tietenkin korjailtu ja kirjoitettu uudestaan, mutta osa tekstistä nojaa vanhoihin lähteisiin. Tämä on hyvä ja huono. Hyvä se on siksi, että tietojenkäsittelytiede ei ole eikä pitäisi olla pelkkää tekniikkaa vaan myös kulttuuri. Monien "uusien" juttujen juuret ovat 1970-luvulla tai kauempana. Näin on esimerkiksi inkrementaalisen ja iteratiivisen projektimallin kohdalla, samoin olio-ohjelmoinnin. Huonoa on se, että, jos nopeasti kehittyvältä alalta pitää antaa yleiskatsaus, vanhojen ja todennäköisesti vähän käytettyjen ohjelmistometriikoiden läpikäyntiin ei ole ehkä tarve uppoutua. Pahempi ongelma on, että eri aikoina kirjoitettu teksti ei kulje luvusta toiseen kauniisti, vaan se tuntuu erityisesti loppua kohden poukkoilevan.

Kirjan ensimmäinen osa esittelee ohjelmiston elinkaarimalleja, kehitysprosesseja, kehitystiimejä, kehitystyökaluja, testausta, suunnittelua, uudelleen käyttöä, suunnittelua ja arviointia. Toinen osa käsittelee ohjelmiston elinkaaren työnkulkuja (workflow) kuten mm. vaatimusmäärittely (klassinen ja oliomalli), suunnittelu, toteutus ja ylläpito. Kaaviot ovat pääosin joko ER tai UML-tekniikoin piirrettyjä. Kiusallista on, että Java-ohjelmointiesimerkit, jotka ovat toki vain esimerkkejä, rikkovat paikoin Javan perusideologiaa. Kirjoittaja mainitsee agile-menetelmät mutta ei usko niiden voimaan suurten projektien toteutuksessa. Vastaesimerkkejä on olemassa, mutta Agile-menetelmät vaatinevat tiukkaan ammattietiikkaan sitoutumista, ja kovat ammattilaiset saavat millä tahansa menetelmällä asiat hoidettua -- Agile-menetelmät ovat vain yksi hyvä tapa. Jos tekijätiimissä vallitsee vaatimattomampi ammatillinen eetos, esim. vesiputousmalli takaa, että useimmiten saadaan edes jotain ulos jossain vaiheessa.

Kirja oli hyvä muistinvirkistys, ja eheämpi sisällysluettelo tekisi kirjasta kohtuullisen manuaalin. Hajanaisuus on ehkä tiedostettu, koska Schachilta julkaistiin heti 2007 uusi teos Object-Oriented Software Engineering, josta siis klassinen menetelmistö on pudonnut ainakin otsikosta.