Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: silli - 01.10.08 - klo:21.12

Otsikko: Linux ja ohjelmointi
Kirjoitti: silli - 01.10.08 - klo:21.12
Jeps, eli olen vähän vajaa puoli vuotta koodannut C++ -koodia, lähinnä windowsille. En todellakaan ole hyvä ohjelmoija, mutta sen verran, että perusasiat sujuu.

Aika shokkina tuli tuo Linuxin komentorivikääntäminen mutta sekin alkaa jo sujua.

Eniten minua pelottaa mitä kirjastoja nyt tarvitsen, C ja C++ vakiokirjastoilla kun ei pitkälle pötkitä.

Olen aika tottunut WinAPIn suht. hyvään dokumentointiin funktioiden osalta, joten pelokseni huomasin että Linuxilla ei taida liiemmin tälläistä omaa rajapintaa olla, vaan pitää käyttää kolmannen osapuolen kirjastoja. Näitä sitten on monenlaisia.

Mikä olisi sellainen helposti projektiin lisättävä, aloittelijalle sopiva kirjasto? Lähinnä juuri, että voisi jtn messageboxeja loihtia, tunnistaako painettiinko näppäintä ja vaikkapa saada joku helpohko ikkuna aikaiseksi?

Otsikko: Vs: Linux ja ohjelmointi
Kirjoitti: Masse - 01.10.08 - klo:21.37
Juuri tänään kävin cprogramming (http://www.cprogramming.com/tutorial) sivustoa läpi. Lisääpä includen jälkeen 'using namespace std;'
Otsikko: Vs: Linux ja ohjelmointi
Kirjoitti: silli - 01.10.08 - klo:21.38
Heh, kerkesin jo edittaa sen pois, tajusin sen pari min sen jälkeen kun olin siitä lisännyt. Hävettää nimittäin miten saatoin unohtaa noin yksinkertaisen jutun  ;)
Otsikko: Vs: Linux ja ohjelmointi
Kirjoitti: Sonobana - 08.10.08 - klo:10.50
g++:n maken ja ties minkä opettelu voi olla hyödyllistä, mutta ei pakollista. Kannattaa tutustua kehitysympäristöihin eli IDE:ihin.

Itse käytän eclipseä, joka alunperin ainakin tarkoitettu javan koodaamiseen, mutta saa todella näppärän c++ kehitysympäristön asentamalla siihen tarkoitetun pluginin.

http://fi.wikipedia.org/wiki/Eclipse_(IDE) (http://fi.wikipedia.org/wiki/Eclipse_(IDE))

http://www.ibm.com/developerworks/opensource/library/os-eclipse-stlcdt/ (http://www.ibm.com/developerworks/opensource/library/os-eclipse-stlcdt/) <- Skippaa Windows-härdellit alusta
http://packages.ubuntu.com/hardy/eclipse-cdt (http://packages.ubuntu.com/hardy/eclipse-cdt)
Otsikko: Vs: Linux ja ohjelmointi
Kirjoitti: Pellervo Kässi - 08.10.08 - klo:11.39
Linux-maailmassahan voi valita gui-ohjelmoinnin kannalta kahden suuren vaihtoehdon väliltä (on niitä pienempiäkin): Qt- johon KDE perustuu ja Gtk+-jonka päälle on rakennettu mm. Gnome ja xfce. Qt:lle on olemassa ilmeisesti ihan pätevä kehitysympäristö (Kdevelopment? en ole itse käyttänyt). Yksi vaihtoehtoinen Gtk-ide on Anjuta, helpottaa mukavasti kääntämisprosessia, itse en tosin ole tuolle lämmennyt.

Kun kysyt C++-ohjelmointiin ohjeita, niin Gtk:n kanssa pelaaminen ei onnistu ihan suoraan (Gtk on tehty C:lle), vaan siihen on olemassa oikeastaan kaksi yleisesti käytettyä vaihtoehtoa: Guin tekeminen Gladella sen sisällyttäminen omaan ohjelmaan käyttäen libgladea. Toinen vaihtoehto on käyttää gtkmm:ää, jolla voidaan kirjoittaa gui-elementit suoraan koodina.

Kaikki mainitsemani ohjelmat löytyvät pakettienhallinnasta.
Tässä vielä linkki gtkmm:n sivuille: http://www.gtkmm.org/ sieltä löytyy kattava tutoriaali ja esimerkit lisäksi lähdekooditiedostoina.
Otsikko: Vs: Linux ja ohjelmointi
Kirjoitti: Sonobana - 08.10.08 - klo:11.46
Linux-maailmassahan voi valita gui-ohjelmoinnin kannalta kahden suuren vaihtoehdon väliltä (on niitä pienempiäkin): Qt- johon KDE perustuu ja Gtk+-jonka päälle on rakennettu mm. Gnome ja xfce. Qt:lle on olemassa ilmeisesti ihan pätevä kehitysympäristö (Kdevelopment? en ole itse käyttänyt). Yksi vaihtoehtoinen Gtk-ide on Anjuta, helpottaa mukavasti kääntämisprosessia, itse en tosin ole tuolle lämmennyt.

Kun kysyt C++-ohjelmointiin ohjeita, niin Gtk:n kanssa pelaaminen ei onnistu ihan suoraan (Gtk on tehty C:lle), vaan siihen on olemassa oikeastaan kaksi yleisesti käytettyä vaihtoehtoa: Guin tekeminen Gladella sen sisällyttäminen omaan ohjelmaan käyttäen libgladea. Toinen vaihtoehto on käyttää gtkmm:ää, jolla voidaan kirjoittaa gui-elementit suoraan koodina.

Kaikki mainitsemani ohjelmat löytyvät pakettienhallinnasta.
Tässä vielä linkki gtkmm:n sivuille: http://www.gtkmm.org/ sieltä löytyy kattava tutoriaali ja esimerkit lisäksi lähdekooditiedostoina.

Gui-ohjelmien koodaaminen on mielestäni jo aika haastavaa, joten perusteet kannattaa osata ennenkuin ryntää sille puolen. Toisaalta eihän kukaan seppä syntyessään.
Otsikko: Vs: Linux ja ohjelmointi
Kirjoitti: janne - 08.10.08 - klo:22.34
Gui-ohjelmien koodaaminen on mielestäni jo aika haastavaa, joten perusteet kannattaa osata ennenkuin ryntää sille puolen.

GUI:n koodaaminen Qt:lla tai GTK+:lla (ehkä jopa libgladen avulla) on oikeasti lasten leikkiä verrattuna GUI-softan kirjoittamiseen käyttäen Win32APIa. jos tapahtumapohjaista ohjelmointia haluaa jostain syystä harjoittaa ilman GUI:ta, niin sekin toki em. kirjastoilla onnistuu (tai GTK:n tapauksessa tarvitaan vain glib). silti, koska GUI:n luominen on mm. noilla kirjastoilla niin triviaalia, niin en näe sellaisen kanssa leikkimiseen mitään estettä.

Qt:lle on olemassa aika hyvä dokumentaatio ja GTK+:n dokumentaatiokin on enimmäkseen kelvollinen (jotain dokumentoimattomia juttuja siellä on, mutta niihin ei kyllä ihan alussa törmää). gnome/GTK+ -puolella hyvä työkalu dokumentaation lukemiseen on softa nimeltä devhelp ja dokkareita siihen saa asentamalla kirjastojen -doc -paketteja ;)