9. huhtikuu 2011, 15:55

Käyttöjärjestelmät ja miksi Linux?

IRC:ssä tuli vaihtelun vuoksi keskustelua käyttöjärjestelmien paremmuudesta ja huonoista puolista. Aiheesta keskustelu on täynnä sudenkuoppia, ja siksi siitä on ehkä parempi pidättäytyä. Mutta tein joitain argumentteja siellä keskustelun luonteesta. Ja samalla tulin pohtineeksi taas syitä, miksi minulle Linux on hienompi käyttis.

Käyttöjärjestelmät samanarvoisia

Mikä saa ihmiset arvottamaan käyttöjärjestelmiä? Miksi tapellaan makuasioista? Keskustelu lähti käyntiin siitä, että eräs käyttäjä kirosi Windows 7:n helvetinsyövereihin huonojen ajureiden takia. Sehän on suurin siniruutujen aiheuttaja nykyään. Syy ei siis ole oikeastaan Windowsin. Keskustelu hypähti heti defensiivisen sovittelevaksi, mikä on näissä piireissä epäluonnollista. “Kaikissa käyttöjärjestelmissä on vikansa.” Se on totta. Mutta mitä tarkoitetaan käyttöjärjestelmällä?

Jos Windows-nappulan tahattomasta painalluksesta avautuva Käynnistä-valikko ärsyttää, se ei ole Windowsin syytä. Tai jos KDE:ssä kaikki linkit aukeavat ei-haluttuun Konqueroriin, se ei ole Linuxin syytä. Käyttöjärjestelmää oletusjakeluna ja oletusasetuksilla saa toki syyttää, mutta asetukset on tehty muutettaviksi.

Käyttöjärjestelmäargumentointi on todella ummehtunutta, koska jokaisella henkilöllä on se oma pääkäyttis, joka osataan hyvin. Se osataan niin hyvin, että jos siellä ilmenee vika, niin se osataan korjata. Ja sitten kokeillaan sitä kilpailevaa käyttistä, johon ei paneuduta niin paljoa, että viat saataisiin korjattua. Joko huomaatte, mihin tämä johtaa?

Minä vastikään säädin taas kannettavani Debiania. Siellä tein päivityksen, joka rikkoi graafisen puolen kokonaan. Koitin monia kikkoja ja jippoja, ja lopulta koitin palauttaa vanhaan versioon. En mitenkään keksinyt ratkaisua siihen. En googlella enkä Debian-oppaistakaan. Turhautuneena kirosin koko systeemin helvettiin. Mutta varmaa on vain se, että taatusti siellä on joku kokeneemmalle debianistille helppo trikki hakea edellinen toimiva konffi ja asentaa ne takaisin.

Vastaavalla tavalla keskustelussa kirottiin Gentoon paukkumista päivitysten ohessa. Koska tunnen gentoon tavat, tunnistin vian johtuvan käyttäjästä. Jokainen tietää systeeminsä, ja muihin systeemeihin voi olla vaikea päästä sisään. Ja kasuaalilla testailulla ei varmasti pääse. Pikkuvikoja on joka systeemissä, ja oman suosikin viat nähdään läpi sormien, koska ne osataan korjata rutiininomaisesti. Vieraassa systeemissä se on iso stoppi, ja jättää karvaan maun suuhun.

Windowsista saa tämännäköisen ja Linuxista tällaisen. Lienee selvä, että käyttöjärjestelmien rajat kulkevat kaukana siitä, mihin tavallinen käyttäjä pystyy upottautumaan. Käyttöjärjestelmän valinta on kovasti siis makuasia. Siitä ei pääse mihinkään.

Miksi Linux?

Niin, miksi? Syitä Linuxin valitsemiseen Windowsin sijaan on monia. Hyviä ja huonoja syitä. Listataan joitain esimerkkejä. Lukijan tehtäväksi jää päättää kunkin syyn kohdalla, onko se hyvä vai huono syy vaihtaa käyttöjärjestelmää.

  • Hinta. Linux ja sen vakio-ohjelmisto on halvempi kuin Windows ja sen vastaavat de-facto -sovellukset.
  • Laatu. Linux-kerneli on tehty eritavoin kuin Windowsin, joten jotain eroja on suuntaan tai toiseen. Linux-sovellukset voivat olla keskimäärin Windowsin sovelluksia parempia, koska Visual Basiccia ei Linuxille löydy.
  • Filosofiat. Linux on suurin ilmainen Unix-perillinen, ja Unix-filosofia virtaa hyvin mukana.
  • Keveys
  • Ajurituki
  • Coolness-tekijä

Ja minä aion puhua omasta suosikistani: Unix-filosofiasta. Olen sydämeltäni ohjelmoija. Tykkäsin koodailla Windows 3.1 -ajoiltani lähtien. Into laantui 95:een ja myöhemmin XP:hen siirryttäessä. Painopiste siirtyi kohti GUI-sovelluksia, ja mistä lähtien GUI-ohjelmien sunnuntaiohjelmointi on ollut yleistä? Onhan se toki, (Visual Basic; nykyinen .NET-alusta) mutta ei niin helppoa kuin komentorivisovellusten väsääminen. Windows on hyvin GUI-painotteinen systeemi, ja komentoriviä ei vain käytetä samalla tavalla Windowsissa kuin Nixeissä.

Ja koska GUI-ohjelmia on vaikea saada keskenään toimimaan (toisistaan riippumattomina), on suosittu monoliittisiä ratkaisuja, joissa joka ohjelmaan kirjoitetaan samaa, päällekkäistä toiminnallisuutta. Onneksi GUI-kirjastot yleistyvät monipuolisine komponentteineen ja koodaajan tehtäväksi jää olla suunnittelija ja “bisneslogiikan” kirjoittaja. Ei ihan niinkään. Jos haluan Vi-näppäimiä ja sovelluksen kirjoittaja käyttää kaikkein karvalakeinta tekstiruutua, niin vaihtoehtoni ovat vähäiset.

Komentorivillä ei ole tätä ongelmaa, koska ketjut koostetaan niin luontevasti eri ohjelmista, jotka lukevat yhdestä päästä ja tulostavat toisesta. Toki sen opettelu on vaikeata, ja sitten valikoiman tiedostaminen vaatii työtä. Mutta osaavalle siellä on erinomaiset työkalut saavuttaa mitä tahansa vähällä työllä. Laiskuushan on hyve ohjelmistotuotannossa!

Kaikenlainen vapaus valintaan tulee luonnostaan. X-ikkunoinnin kehittäneet loivat systeeminsä tarjoamaan vain alustaa, ei käytäntöä. Jos olisivat valinneet toisin, olisimme lähelle Windowsin kaltaisessa tilanteessa. Joutuisimme luomaan erilaisia ikkunahallintoja puukottamalla pohjalla olevaa. Nyt meillä on valta luoda keveitä hallintoja, joiden ei tarvitse riippua mistään. Eikä tarvitse puukottaa ketään.

Unix-filosofiasta voisin nostaa lopuksi toisen pointin tiedostojen valta-asemasta. En kertakaikkiaan pidä Windowsin rekisteristä, vaikka voi olla nopea kuin salama. Sen puukottaminen on tuskaista. Sen sijaan helppo käskytys: $EDITOR foo.rc vie minut jo kommentoitujen asetustiedostojen viidakkoon. Ja editoria saa käytellä sitten niin kuin lystää. Sekin perinne on Windowsissa vähän vaipunut. Kuuluu kai siihen Windows-filosofiaan.

Tageja: , ,

---
---

---

Aiheen vierestä