Lähteitä

 

Ihan kaikkea mitä sinun pitää tietää C++-ohjelmoinnista ja yleensä ohjelmoinnista ei löydy näiltä sivuilta. Tässäpä vähän siis suuntaviisaria tutkimusmatkoillesi ohjelmointitietouden maailmaan. Linkeissä olen koittanut panostaa laatuun, en määrään.

 

WWW:

http://users.utu.fi/sisasa/oasis/cppfaq/ - C++ FAQ, siis ennenkin kysytyt asiat C++-ohjelmoinnista

http://www.inquiry.com/techtips/cpp_pro/ - Voit kysyä C++-gurulta tai selailla muiden kysymyksiä. Suosittelen.

http://www.possibility.com/Cpp/CppCodingStandard.html - Yksi näkemys siitä, miten tehdään yhtenäistä C++-koodia.

http://www.csci.csusb.edu/dick/c++std#Drafts - Uusin (ollut ainakin joskus) julkinen C++-kielen standardi. Ei mitään aloittelijan materiaalia.

http://www.comeaucomputing.com/tryitout/ - Online-kääntäjä, joka on hyvin standardinmukainen ja tuottaa pirun hyviä virheilmoituksia. Ohjelmoijan paras apu tilanteessa jossa epäilee oman kääntäjänsä toimintaa. Suosittelen.

http://www.sgi.com/tech/stl - Oppia Standard Template Libraryn (STL) käytöstä.


Usenet news:

sfnet.atk.ohjelmointi.alkeet - Voit kysellä alkeellisiakin kysymyksiä ihan vapaasti (suomeksi).

sfnet.atk.ohjelmointi - Vähän kehittyneempää juttua (suomeksi).

comp.lang.c++.moderated - Täällä pyöriikin todella ammattitaitoista C++-väkeä, tosin kieli on englanti.


Muu kiinnostava ohjelmointimateriaali:

http://www.talula.demon.co.uk/allegro - Pätevä peliohjelmointikirjasto, toimii hyvin monessa ympäristössä

http://www.gaffer.org/ptc - Pätevä grafiikkaohjelmointikirjasto, mahdollistaa ohjelman siirtämisen ympäristöstä toiseen.

http://msdn.microsoft.com - Ehdoton paikka Windows-tietouden hakemiseen. Suosittelen.

Kirjat:

Mikäli sinä haluat kommentoida jotakin lukemaasi C++-kirjaa, niin senkun sähköpostitat vaan. Merkittävimpiä tästä puuttuvia kirjoja ovat Deitel&Deitelin C++-opus ja Bruce Eckelin Thinking in C++.

C++ ja olio-ohjelmointi - Päivi Hietanen (Teknolit, 1998, ISBN: 952-9823-45-2)

Paljon asiaa ja selkeästi esitetty. Ei sellaisia ympäripyöreyksiä mitä alkeisoppaissa valitettavan usein tapaa. Lähestymistapa on mielestäni liiankin perusteellinen ja tarpeettomiin yksityiskohtiin (esim. union) puututaan turhan tarkasti, joten aloittelija voi tuntea itsensä välillä tukahtuneeksi ja turhautuneeksi.

Opeta itsellesi C++-ohjelmointi - Jesse Liberty (Satku, 1996, ISBN: 951-762-335-6)

Oikein perinteinen C++-opas: asiaa riittävästi, asiallisesti esitettynä. Toisaalta juuri yhtään ei vaivauduta selittämään miksi asiat pitää tehdä kuten on neuvottu, joten syvällinen asioiden ymmärtäminen jää vähän heikoksi. Teksti on melko kuivaa ja ne vähätkin mehut haihtuvat lukiessa pitkiä ja mielikuvituksettomia esimerkkejä, joita minun makuun on aivan liian paljon. Pikaisen selailun perusteella kirjan uudempi painos ei ole juurikaan parantunut.

The C++ Programming Language, 3rd Edition - Bjarne Stroustrup: (Addison-Wesley, 1997, ISBN: 0-201-88954-4)

Bjarne on C++:n kehittäjä, Bjarne tietää mistä puhuu. Lisäksi Bjarne on hyvä kirjoittaja. Kirjasta paistaa läpi C++:n täydellinen hallitseminen ja olennaisen erottaminen joutenpäiväisestä. Kuten Stroustrup itse sanoo, tärkeintä on opettaa oikeaa ohjelmointia eikä kielen koukeroita. En suosittelisi tätä erinomaista teosta kuitenkaan aivan aloittelijoille. Kirjasta on myös Special Edition, joka ei ilmeisesti sisällä mitään erityisen hyödyllistä uutta ja siinä olevat lisäkappaleet on saatavilla myös Stroustrupin www-sivuilta. Kirja on myös suomennettu ja suomennos on tiettävästi peräti hyvä.

Introduction to C++ Programming - David M. Collapy: (Prentice Hall , 1999, ISBN: 0-13-88801-9)

Kirja on kerännyt mainetta erityisen onnettoma yritelmänä - tosin itse en ole kirjaa lukenut. Ilmeisesti suurin osa C++:n hyvistä tavoista ja kirjoittamattomista säännöistä on unohdettu esimerkkejä laadittaessa ja muutenkin asian käsittely on hyvin suppeaa. Liekö taustalla ollut pedagoginen ajattelu ja aloittelijalähtöinen lähestymistapa, mutta liika on liikaa.

 

Oliosuunnittelukirjat:

Tässä esitelty kolmikko tarjoaa hyvän menetelmän (eli minun suosikkimenetelmäni) olio-ohjelmoinnin soveltamiseen todelliseen ohjelmointityöskentelyyn.

Design Patterns - Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: (Addison-Wesley, 1995, ISBN: 0201633612)

Oliomaailman ehdoton klassikko. Esittelee suunnittelumallit, hyvät oliosuunniteluratkaisut yleisesti esiintyviin ongelmiin. Sisältää esimerkkejä C++:lla ja Smalltalkilla toteutettuna. On myös suomennettu nimellä Suunnittelumallit, pikaisen tutkistelun jälkeen suomennos vaikutti pääasiassa hassulta.

Extreme Programming Explained - Kent Beck (Addison-Wesley, 2000, ISBN: 0201616416)

Esittelee Extreme Programming (XP) -menetelmän. XP-projekteissä keskitytään vähemmän turhaan dokumentointiin ja enemmän ohjelman tekemiseen ja kehittämiseen. Mielestäni erittäin hyvä tapa organisoida ohjelmointityötä.

Refactoring: Improving the Design of Existing Code - Martin Fowler (Addison-Wesley, 1999, ISBN: 0201485672)

Jotkut ihmiset uskovat, että hyvä ohjelma suunnitellaan niin huolella, että sitä ei tarvitse jälkeenpäin muuttaa. Minä en kuulu tuohon kiihkomieliseen joukkoon. Tulevaisuuden ennustaminen vaatii yli-ihnimillisiä kykyjä, niinpä sellaisen varaan ei kannata ohjelmistoprojektia rakentaa. Parempi vaihtoehto on tunnustaa, että ennustaminen on kaappinostradamusten hommaa ja järjestää ohjelmointityöskentely niin, että sovelluksen rakenteen muokkaaminen on mahdollisimman helppoa. Refaktorointi on keskeinen elementti myös XP-menetelmässä.


Takaisin