Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Linux ohjelmointi
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Finnish
View previous topic :: View next topic  
Author Message
VoidMain
n00b
n00b


Joined: 19 Mar 2007
Posts: 3

PostPosted: Wed Apr 11, 2007 10:32 am    Post subject: Linux ohjelmointi Reply with quote

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
View user's profile Send private message
Kyrbo
n00b
n00b


Joined: 01 Apr 2006
Posts: 6
Location: Tampere, Finland

PostPosted: Wed Apr 11, 2007 8:23 pm    Post subject: Re: Linux ohjelmointi Reply with quote

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.

VoidMain wrote:

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

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
View user's profile Send private message
Zarhan
l33t
l33t


Joined: 27 Feb 2004
Posts: 921

PostPosted: Mon Apr 23, 2007 11:15 am    Post subject: Reply with quote

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
View user's profile Send private message
jarski
n00b
n00b


Joined: 11 Apr 2005
Posts: 3
Location: Oulu, Finland

PostPosted: Sun Apr 29, 2007 2:09 pm    Post subject: Reply with quote

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
View user's profile Send private message
Tronic
Apprentice
Apprentice


Joined: 28 Jul 2003
Posts: 194
Location: Finland

PostPosted: Sat Jul 21, 2007 9:16 am    Post subject: Reply with quote

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
View user's profile Send private message
dunp
n00b
n00b


Joined: 10 Nov 2002
Posts: 3
Location: Finland

PostPosted: Thu Aug 09, 2007 8:12 pm    Post subject: Reply with quote

Oliskohan tästä apua :)
http://mindview.net/Books/TICPP/ThinkingInCPP2e.html

-Sebastian
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Finnish All times are GMT
Page 1 of 1

 
Jump to:  
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