Unix - sukuisissa käyttöjärjestelmissähän C on ollut jo pitkään SE kieli, joten kannattaako siirtyä C++:sta C:hen?
no, C:n ja C++:n syntaksi on miltei sama lukuunottamatta C++:n olioohjelmointiin liittyviä piirteitä, joten C-ohjelmien kirjoittaminen ei ole C++ taustalla kummoinenkaan ponnistus. itse pidän C++:sta enemmän, mutta linuxissa olen tehnyt hommia enemmän C:llä.
minusta kannattaa osata molempia
Tarkoituksena olisi opiskella hieman syventävämmin ja myöhemmin siirtyä kehittämään graafisia ohjelmia.
no, tämä onnistuu molemmilla kielillä ja toki monilla muillakin kielillä.
Ilmeisesti Qt ja C++ sopivat mainiosti yhteen, mutta mikä on GTK:n laita?
Qt on kirjoitettu C++:lla joten se on tietysti sille 'natiivi' vaihtoehto, GTK on puolestaan kirjoitettu C:llä. tuo ei kuitenkaan rajaa kummankaan tapauksesa käytettävää kieltä, sillä kummallakin löytyy bindingseja useille eri kielille.
koska C ja C++ ovat tosiaan enimmäkseen yhteensopivat C -> C++ suunnassa, on GTK:ta mahdollista käyttää sellaisenaan C++-ohjelmasta, sille on olemassa C++-wrapperi GTKmm ja crossplatform toolkit wxWidgets käyttää linuxissa backendinä GTK+:aa (useimmissa distroissa se on tosin edelleen käännetty GTK+1.2:sta vasten vaikak se toimisi uudemmallakin GTK:lla).
toisaalta jos GTK:n kanssa käyttää libgladea (mikä on aika kätevää), ei käyttöliittymäkoodia joudu juurikaan kirjoittamaan, joten kielellä ei ole sen puolestakaan väliä.
Löytyykö hyviä tutoriaaleja (kirjallisuutta)?
kummallekin toolkitille löytyy netistä API-dokumentaatio (ja ainakin GTK:lle löytyy ko. dokumentaatio myös devhelpistä) ja jonkinlaista tutorialia. Qt:lle kirjatilanne on jonkin verran parempi, sillä GTK-puolelle ei ole oikeastaan kuin yksi ajan tasalla oleva kirja The Official Gnome Developers Guide.
Mitenkä Qt:ta käyttävät ohjelmat pelaavat Gnomessa?
jos Qt on asennettuna, niin mainiosti. tosin ulkoasultaan ne eivät oletuksena oikein istu ympäristöön, mutta jos käyttäjä viilaa omaa ympäristöään niin kyllä ne saa sinne sopimaan. testaan itse, opera ja skype käyttävät Qt:ta
Ehdotuksia?
kokeile molempia ja valitse itsellesi paremmin sopiva. GTK-puolella suosittelen libgladen testaamista.
C++ tuntuu sopivan hyvin minulle, joten sitä olisi kiva käyttää tulevaisuudessakin.
käytä sitten sitä
C-ohjelmissa glibin käyttö onneksi paikkaa C:n suurimpia puutteita.
P.S. Ajattelin tunkea tämän pikku kysymyksen tähän samaan threadiin. Osaatteko suositella mitään peruskirjaa, jossa neuvottaisiin yleisiä komentoja ja järjestelmänvalvontaa. Haluaisin hoitaa päivittäiset säädöt komentoriviltä. Kirjan ei tarvitse selittää miten Linux asennetaan, vaan miten sitä käytetään ja hallitaan komentoriviltä.
tähän suositukseni on edelleen ehdottomasti Aeleen Frischin Essential System Administration joka on hitusen vanha, mutta *NIXien ylläpidon niksejä erinomaisesti opettava kirja. siitä on ollut olemassa myös somennettu painos nimellä UNIX - Tehokäyttäjän Opas.
distrokohtaista paketinhallintaa tai muuta säätöä tuo ei tietenkään kata, mutta ne on aika helppo omaksua distrokohtaisista lähteistä kuten tältä foorumilta
Kieleksi käy suomi tai englanti, ja kirjan pitäisi löytyä DataClubista.
tuo toki löytyy dataclubilta:
http://dataclub.fi/product.php?&isbn=0596003439mutta samaa firmaa oleva bookplus myy kirjaa yli 20 euroa halvemmalla:
http://bookplus.fi/product.php?&isbn=0596003439jos edullisempaa etsii, niin Kirjatorilla 2 euron hintaan myytävä UNIX Trainer Kit vaikuttaa hitusen köykäisemmältä opukselta, mutta on varmaan alkuun pääsemisessä ihan hyvä teos.
ja ohjelmointipuolelle UNIXin peruskamat (posix / X/open) löytyvät hyvin stephensin kirjasta Advanced Programming in the UNIX Environment, josta onkin ilmestynyt juuri päivitetty versio:
http://bookplus.fi/product.php?&isbn=0201433079