View previous topic :: View next topic |
Author |
Message |
VoidMain n00b

Joined: 19 Mar 2007 Posts: 3
|
Posted: Wed Apr 11, 2007 10:32 am Post subject: Linux ohjelmointi |
|
|
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
C++ ja olio-ohjelmointi; Päivi Hietanen, mikä on perus kirja C++/olio opetuksessa lähes joka koulussa?
http://www.docendo.fi/?p=showproduct&product=951-846-199-6
Mikä olisi sellainen editori jossa olisi samat toiminnot kuin "Ms .NET" editorissa että kun klikkaa jotain funktiota tai muuttujaa niin näkee missä tiedostossa itse olio/aliohjelma sijaitsee.
Ison ohjelman toimintaa on vaikea hahmottaa jos se koostuu kymmenistä eri lähdekooditiedostoista, tarvitsisi olla jokin aputyökalu hommaan.
Entä onko mitään ohjelmaa joka näyttäisi koodia vuokaavion muodossa?
Kun Gentoossa ohjelmia levitetään lähdekoodina pakattuna, niin mihin ohjelmaan tämän lähdekoodin voisi "importata" ja sitten muuttaa koodia ja kääntää sen? _________________ $ emerge emerge |
|
Back to top |
|
 |
Kyrbo n00b

Joined: 01 Apr 2006 Posts: 6 Location: Tampere, Finland
|
Posted: Wed Apr 11, 2007 8:23 pm Post subject: Re: Linux ohjelmointi |
|
|
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.  |
|
Back to top |
|
 |
Zarhan Veteran

Joined: 27 Feb 2004 Posts: 1016
|
Posted: Mon Apr 23, 2007 11:15 am Post subject: |
|
|
Eclipse (emerge eclipse-sdk) lienee kai ihan ok IDE-ympäristö. Asentaa vaan C/C++-pluginit niin se ymmärtää niidenkin päälle. |
|
Back to top |
|
 |
jarski n00b

Joined: 11 Apr 2005 Posts: 3 Location: Oulu, Finland
|
Posted: Sun Apr 29, 2007 2:09 pm Post subject: |
|
|
Vielä muutama IDE:
* KDevelop - http://www.kdevelop.org/
* Anjuta - http://anjuta.sourceforge.net/
Ensimmäinen pohjaa Qt/KDE:hen, toinen GTK+/Gnomeen. Kehitetty C++:lla ja C:llä, joten toiminta on ainakin vanhemmalla masiinalla jouhevampaa kuin Eclipsen kanssa, joka on kirjoitettu Java:lla. _________________ Jarmo Hekkanen |
|
Back to top |
|
 |
Tronic Apprentice

Joined: 28 Jul 2003 Posts: 194 Location: Finland
|
Posted: Sat Jul 21, 2007 9:16 am Post subject: |
|
|
Code::Blocks, Portagessa dev-util/codeblocks, on myöskin erittäin hyvä IDE nimenomaan C++:lle.
Linuxilla ei perinteisesti ole käytetty juurikaan C++:aa, vaan nimenomaan C:tä, joka kieltämättä on aivan erilainen kieli. C:n kanssa käytetään POSIX-API:a, jolloin ohjelmat toimivat aikalailla suoraan myös muilla unixeilla, mutta eivät kuitenkaan Windowsilla. Nykyisin C++-ohjelmointiinkin löytyy hyvä määrä valmiita kirjastoja, joten sekin onnistuu kivuttomasti. Lisäbonuksena useimmat kirjastot ovat alustariippumattomia, eli sama koodi toimii vaikka millä raudalla ja käyttiksellä (myös Windows).
Mainittu Päivi Hietasen kirja ei ole suorastaan huono (kunhan on uusi painos), mutta ei silti kovin suositeltava kielen opiskeluun. Siinä, kuten useimmissa muissakin C++-kirjoissa, lähestymistapa on hyvin Javamainen ja todellinen C++-ohjelmointi jää hieman pimentoon. Jos englanti ei ole esteenä niin suosittelen kirjaksi C++ Primeria (4. painos), jossa mennään suoraan kiinni moderniin C++-ohjelmointiin ja muistetaan käsitellä kaikki olennaiset asiat kielestä. http://www.amazon.com/C%2B%2B-Primer-4th-Stanley-Lippman/dp/0201721481 (löytyy myös kotimaisista kirjakaupoista).
Vuokaavioiden käyttö kannattaa unohtaa alkuunsa, sillä niillä ei voi mitään vähänkään monimutkaisempaa ohjelmaa esittää ymmärrettävästi. UML- tai muista luokkakaavioista sen sijaan saattaa olla iloa ja sellaiset saa isostakin projektista generoitua ohjelman Doxygen (app-doc/doxygen) avulla. Kun asetuksista laittaa kaikki grafiikat käyttöön, saa ihan kivasti erilaisia klikkailtavia diagrammeja ja muuta dokumentaatiota, joilla yleensä alkaa rakenne hahmottua varsin nopeasti. _________________ There are no alternative energy sources to fossil fuels. Whoever claims otherwise doesn't know the difference between mW and MW. -Kurki-Suonio |
|
Back to top |
|
 |
dunp n00b

Joined: 10 Nov 2002 Posts: 3 Location: Finland
|
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|