Viestin lähetti Footless
Kiitokset MadManille, sopulille ja Axel K:lle neuvoista, vinkeistä ja varsinkin tuosta käymästänne keskustelusta.
Nyt kun C:n alkeet rupeavat pian olemaan hallussa ja ensimmäinen pikkuohjelma hakee muotoaan, kurkotan kohti seuraavaa haastetta.
Eli miten on tuo C++:n laita? Kun joskus tulevaisuudessa olen oppinut C:n jollain tasolla, onko minun miten helppo siirtyä C++:n käyttöön? Vai olisiko kannattanut aloittaa suoraan siitä?
Kuten jossain aiemmassa viestissäni sanoin, oliokielen opiskelussa on tärkeää opiskella myös olioajattelua, näin kansanomaisesti sanottuna. Eli mielestäni kannattaisi tutustua esim. Kai Koskimiehen Oliokirjaan, jossa on myös esiteltyinä muutama oliokieli, mm. C++. Ensimmäisen luvun kun luet olet jo paljon viisaampi. Tyyli tosin on hieman "akateeminen", mutta sivistyssanakirjan kanssa siitä selviät, selvisin minäkin :). Varmasti on muitakin olioiden maailmaan mukavasti johdattelevia kirjoja tarjolla. Jos englannin kieli sujuu, suosittelen tutustumista Thinking in C++-kirjaan. Ko. opuksessa on osuus myös olio-ohjelmoinnin peruskäsitteistä.
Tämä käsitemaailman ymmärtäminen kielen ympärillä on todella tärkeää (olipas hienosti sanottu :), mikäli haluaa tulla hyväksi ohjelmoijaksi, ja kukapa ei haluaisi: tarjolla naisia, valtaa, rahaa, nopeita autoja ja ilmaista kokista. Vakavammin, jos peruskäsitteitä kuten perintä ja monimuotoisuus ei ymmärrä edes jollain tasolla, oliokielten ominaisuudet jäävät hyödyntämättä.
Sanotaan, että C++-kieltä ei hallitse täydellisesti maailmassa kuin muutama henkilö, joten haasteita sillä saralla varmasti riittää. Uskon kuitenkin, että kun otat nuo olio-ohjelmoinnin peruskäsitteet haltuun ja olet sinnikäs, ei kauaa mene kun olet jo kirjoittanut ensimmäisen ohjelmasi. Jos homma alkaa todella kiinnostamaan kannattaa tutustua suunnittelumenetelmiin tai ainakin suunnittelumalleihin (design patterns). Elämä helpottuu kummasti. Näistäkin muuten on juttua tuossa Koskimiehen kirjassa.
Ylläolevat kommentit perustuvat omaan kokemukseen. Kun aloin kirjoittaa Javaa, minulla ei ollut aikaa opetella sitä, piti vain kirjoittaa. Nyt myöhemmin kun on ollut myös aikaa hieman opiskella olio-ohjelmoinnin teoriaa, suunnittelumalleja ja muuta "tauhkaa", koodin kirjoittaminen on tullut paljon helpommaksi. Jälkeenpäin on tullut ajateltua että "hitto, näinhän se tietenkin olisi pitänyt tehdä".