Kirjoittaja Aihe: C++ vai C?  (Luettu 3731 kertaa)

Risotto

  • Käyttäjä
  • Viestejä: 52
    • Profiili
C++ vai C?
« : 27.05.06 - klo:18.19 »
Moikka. Kesäloma lähestyy uhkaavasti (muutama päivä vielä  :-\) ja ajattelin terästää vanhoja C++ -  taitoja, sillä eihän rannalla olemisen ja erilaisten pelien pelaamisen lisäksi kesällä ole mitään muuta järkevää tekemistä (ok, oon koko kesän kotona  :D).

Unix - sukuisissa käyttöjärjestelmissähän C on ollut jo pitkään SE kieli, joten kannattaako siirtyä C++:sta C:hen? Tarkoituksena olisi opiskella hieman syventävämmin ja myöhemmin siirtyä kehittämään graafisia ohjelmia. Ilmeisesti Qt ja C++ sopivat mainiosti yhteen, mutta mikä on GTK:n laita? Löytyykö hyviä tutoriaaleja (kirjallisuutta)? Mitenkä Qt:ta käyttävät ohjelmat pelaavat Gnomessa? Ehdotuksia?
C++ tuntuu sopivan hyvin minulle, joten sitä olisi kiva käyttää tulevaisuudessakin.

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ä. Kieleksi käy suomi tai englanti, ja kirjan pitäisi löytyä DataClubista.  :)

Niin, hyvää kesää kaikille!  8)
o//

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Re: C++ vai C?
« Vastaus #1 : 27.05.06 - klo:18.58 »
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=0596003439

mutta samaa firmaa oleva bookplus myy kirjaa yli 20 euroa halvemmalla:
http://bookplus.fi/product.php?&isbn=0596003439

jos 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
Janne

Risotto

  • Käyttäjä
  • Viestejä: 52
    • Profiili
Re: C++ vai C?
« Vastaus #2 : 27.05.06 - klo:21.12 »
Ok. Katselen sitten kumpi miellyttää enemmän Qt vai GTK, mutta hyvä jos kerran C++ toimii  ;D. Onko perus C++ muuten samaa Linuxissa kuin Windowsissa? Eli voinko käyttää ohjetta, jonka kohderyhmänä oletetaan olevan normaalit Windows - käyttäjät, Linuxissa?

http://bookplus.fi/product.php?&isbn=0201700735 Tälläistä kirjaa ajattelin tehokasta opiskelua varten.  ::)

Mainitsemasi Essential System Administration - kirja näyttäisi ihan mukavalta, suomenkielinen versio löytyi jopa Tampereen kirjastosta! Tiedä sitten millainen tämä olisi http://bookplus.fi/product.php?&isbn=0596009305 Ainakin tuo olisi suhtkoht uusi.

Advanced Programming in the UNIX Environment - kirja näyttää myöskin mielenkiintoiselta.  :)

Iltalukemista!

Edit: http://www.bookplus.fi/product.php?isbn=0132435942 ohhoh!

« Viimeksi muokattu: 27.05.06 - klo:21.16 kirjoittanut Risotto »
o//

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Re: C++ vai C?
« Vastaus #3 : 27.05.06 - klo:23.00 »
Onko perus C++ muuten samaa Linuxissa kuin Windowsissa? Eli voinko käyttää ohjetta, jonka kohderyhmänä oletetaan olevan normaalit Windows - käyttäjät, Linuxissa?

kyllä, kieli on aivan sama kaikissa ympäristöissä. käyttöjärjestelmän tarjoamat palvelut ovatkin sitten toinen juttu.

http://bookplus.fi/product.php?&isbn=0201700735 Tälläistä kirjaa ajattelin tehokasta opiskelua varten.  ::)

tuo kirja on erinomainen referenssi, joskin se on läpiluettavaksi hieman raskas ja toimii minusta paremmin referenssinä. tosin sinä osasitkin jo kieltä, joten kirja saattaa toimia mainiosti.

Edit: http://www.bookplus.fi/product.php?isbn=0132435942 ohhoh!

kappas, mitähän tuo mahtaa pitää sisällään :)
Janne

hegulix

  • Käyttäjä
  • Viestejä: 215
    • Profiili
Re: C++ vai C?
« Vastaus #4 : 30.05.06 - klo:22.48 »
Official Ubuntu Book löytyy nykyään Dapperissa ihan ohje valikosta! Kuten myös Example contetsista. Sisältö tuntuu päivittyvän suurinpiirtein joka päivä.