(toiminnot)

hwechtla-tl: Kde

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


Tämä mielenkiintoinen ohjelmistoprojekti näyttää olevan jonkinlainen yritys tehdä "oikeaoppinen Windows": siis käyttöympäristö, jonkalainen Windows olisi, jos se olisi suunniteltu kunnolla, toteutettu huolella, ja toteutettu avoimena ohjelmistona kunnollisella käyttöjärjestelmäalustalla (KDE toimii Unixeissa).

KDE pyrkii suunnittelemaan ja tuottamaan kaiken sen infrastruktuurin, jota tarvitaan ympäristön erilaisten ohjelmien kunnollisen yhteistyön varmistamiseksi. Esimerkiksi peliohjelma voi (periaatteessa) sisällyttää ikkunaansa www-selain-komponentin jne... valitettavasti ohjelmien yhteistyöskentelyn rajoituksista suurin osa ei ole teknisiä vaan semanttisia: ohjelmat eivät ymmärrä toistensa toimintaa, joten kaiken niiden yhteistoiminnan pitää olla erikseen suunniteltua ja mahdollistettua.

Toinen KDE:n ongelma on se, että sen toteutuskieli on C++. Tästä en jaksa puhua enempää tässä yhteydessä. Kolmas ongelma on se, että koska KDE pyrkii tekemään kaiken omalla tavallaan hienosti, se ei useissa asioissa viitsi tehdä asioita perinteisillä tavoilla kunnolla: esimerkiksi KDE:n man-sivut ovat olemattomia tai surkeita. Muutenkin KDE:n komentolinjakäytettävyys on surkeaa. Periaatteessa oliopohjaisessa ympäristössä komentolinjan pitäisi olla korvattavissa jonkinlaisella oliopohjaisella skriptausympäristöllä, mutta enpä ole tällaista KDE:lle nähnyt... (C++ on aika epäreflektiivinen kieli, mikä hankaloittaa skriptausympäristöjen rakentamista.)


Tämä oli muuten väite, joka piti tarkistaa. Näyttää siltä, että KDE-ohjelmien IPC-mekanismi, DCOP, tarjoaa mahdollisuuksia skriptaamiseen. Siihen pääsee käsiksi sellaisilla komentoriviohjelmilla kuin dcopstart ja dcop. Kuitenkaan ohjelmien (puhumattakaan olioista) DCOP-rajapinnat eivät vastaa automaattisesti niiden rakennetta, vaan tilanne on samanlainen kuin Microsoftin COM:ssa (tai itse asiassa DCOM:ssa): ensin kirjoitetaan rajapinta, sitten sille toteuttava olio, sitten rajapinnalle komponenttirajapinta, ja sitten komponenttirajapinnalle toteutus(!). Ohjelmien DCOP-rajapintoja ei näytä hirveästi standardisoidun, mutta ehkäpä KDE-ihmiset armeliaasti kiinnittävät tähänkin asiaan huomiota jossain vaiheessa... tai sitten tilanne on heillä sama kuin Microsoftilla: pitää saada nopeasti paljon hienoja juttuja lanseeratuksi, niin ei ehdi tekemään asioita kunnolla...


kommentoi (viimeksi muutettu 27.06.2005 15:41)