VoidMain wrote:Linux ja Gentoo on monipuolinen työkalu ja sisältää oletuksena C++ kääntäjän että voi tehdä omia ohjelmia.
Kun tarkastelee "avoimen lähdekoodin" lähdekoodeja tuntuu siltä ettei koodi olekkaan C++/olio kieltä.
Miten "Linux ohjelmointia" kannattaa lähteä opiskelemaan kun tuntuu ettei koodi ole ollenkaan samaa kun kirjassa
Menee ehkä hieman asian vierestä, mutta Linux (eli siis ydin) on ohjelmoitu pääosin C:llä joka on selvästi laitteistonläheisempi kieli kuin C++. Ylipäätään kaikissa hiukankin laajempien ohjelmien lähdekoodeissa ongelmia "aloittelijalle" taitaa muodostaa jonkinnäköisen hahmotelman kasaaminen siitä mitä eri funktio- ja/tai kirjastokutsujen on tarkoitus tehdä. Asiaa ei tietysti helpota sekään, että kielen syntaksin ja jipot kohtuullisen hyvin tuntevalle kommentiksi voi riittää
mitä koodilla on tarkoitus saada aikaan kun taas kieleen perehtyjä voisi tarvita kommentoinnin siitä
miten koodi tekee sen mitä se tekee. Ohjelmoinnin kannalta "Linux-ohjelmointi" ei ole sen kummempaa kuin mikään muukaan ohjelmointi, joten kielen syntaksin opettelun jälkeen kannattaa tutustua vaikkapa rajapintojen suunnitteluun, periytymiseen (ja viipoloitumisen vaaroihin), STL:n käyttöön sekä muistivuotojen välttämiseen. Nämä nyt ovat vain joitain hyvin ylimalkaisia suuntaviivoja ja käytännössä parhaiten oppii tekemällä eikä pelkästään kirjasta teoriaa lukemalla. Kehitä siis itsellesi vaikka joku projekti jonkun oppilaitoksen ohjelmointikurssien harjoitustöistä joita löytynee googlettamalla.
En tuota kirjaa tunne, mutta kannattaa tehdä jo opetteluvaiheessa mielessään selvä ero, jollet ole vielä tehnyt, olio-ohjelmoinnin ja C++-ohjelmoinnin välille. Ensimmäinen on pikemminkin ajatusmalli joka määrittää miten ohjelmia suunnitellaan olioperustaisesti kun taas jälkimmäinen on "vain" työkalu halutun (olio)rajapinnan toteuttamiseksi.
VoidMain wrote:
Entä onko mitään ohjelmaa joka näyttäisi koodia vuokaavion muodossa?
Editorikysymykseen minulla ei ole antaa muuta vinkkiä kuin, että älä yritä ymmärtää liian isoa osaa ohjelman toiminnasta yhdellä kertaa ja silloinkin katso vain rajapintadokumentaatiota aina kun mahdollista. Tuohon ohjelmalogiikan esittämiseen vuokaaviona minulla ei ole myöskään tarjota mitään ohjelmaa joka automaattisesti generoi sen lähdekoodista, mutta kannattaa silti tutustua UML-mallinnukseen jota usein käytetään ohjelmistojen suunnitteluvaiheessa.
Jos taas olen tässä ladellut itsestäänselvyyksiä niin jätä kaikin mokomin tämmöset joutavanpäiväiset jorinat huomiotta.
