Ohjelmointia linuxeille

Kumpi on yleisempi kieli tehdä ohjelmia linuxeille?

Entä basic, mitä basic-kääntäjiä (niin ei siis tulkkeja vaan binaareja tekeviä kääntäjiä) löytyy *buntuille, debianille ym.?

Olen C-kielissä melkoisen nyyppä, basicilla tullut vähän enemmän puuhasteltua joten pidän sen varalla jos C-kielellä en onnistu saamaan mitään aikaan.

Niin ja tarkoitus siis tehdä ajokelpoisia binaareja (windows-maailmassa puhutaan exe-tiedostoista) jotka toimivat ilman tulkkeja, ei siis tarvii levittää koko ohjelmointiympäristöä ohjelman mukana. Tulkit sopii kokeiluun mutta kääntäjät parempia kun haluaa oikeasti tehdä jotain.
37261
Äänestä

Muut lukivat myös

Vastaukset 37

Vanhimmat

C && C . Muita vaihtoehtoja sinulla ei tule oleman.



"Kumpi on yleisempi kieli tehdä ohjelmia linuxeille?"

Kumpaakin käytetään.


Tulkattavien kanssa ei kannata alkaa pelleilemään jos kyseessä on yhtään suurempi projekti kuin matopeli.

Äänestä
  • Onhan linuxeille mm. erilaisia Pascal-versioitakin, heti tulee mieleen Lazarus. Ja mitä tulkkeihin tulee, niin juuri sanoinkin aloituksessa että tulkkeja en halua käyttää vaan vain kääntäjiä.

    Ai niin, mites sen basicin kanssa? Kai nyt linuxeillekin löytyy joku basic-kääntäjä? Olis meinaan helpompi aloittaa sillä.

    Äänestä

  • ap. kirjoitti:

    Onhan linuxeille mm. erilaisia Pascal-versioitakin, heti tulee mieleen Lazarus. Ja mitä tulkkeihin tulee, niin juuri sanoinkin aloituksessa että tulkkeja en halua käyttää vaan vain kääntäjiä.

    Ai niin, mites sen basicin kanssa? Kai nyt linuxeillekin löytyy joku basic-kääntäjä? Olis meinaan helpompi aloittaa sillä.

    "Ai niin, mites sen basicin kanssa? Kai nyt linuxeillekin löytyy joku basic-kääntäjä?"

    En tiedä yhtään.


    "Olis meinaan helpompi aloittaa sillä."

    Jaa? Voihan se olla niinkin. Kannattaa kuitenkin ehkä ennemmin alkaa opettelemaan sitä C:tä ;)



    "Onhan linuxeille mm. erilaisia Pascal-versioitakin, heti tulee mieleen Lazarus. "

    Onhan niitä ja vaikka mitä muutakin. Totuus on kuitenkin se että C-kielellä on hyvin vahva asema. Tietenkin on hyvä muistaa että eri asioita on helpompi toteuttaa jollain toisella kielellä. Homma riippuu hyvin paljon lopullisesta tarkoituksesta. Esim. laitteistoajuria tuskin kannattaa alkaa tekemään ihan millä tahansa kielellä.

    Äänestä

  • Unineen kirjoitti:

    "Ai niin, mites sen basicin kanssa? Kai nyt linuxeillekin löytyy joku basic-kääntäjä?"

    En tiedä yhtään.


    "Olis meinaan helpompi aloittaa sillä."

    Jaa? Voihan se olla niinkin. Kannattaa kuitenkin ehkä ennemmin alkaa opettelemaan sitä C:tä ;)



    "Onhan linuxeille mm. erilaisia Pascal-versioitakin, heti tulee mieleen Lazarus. "

    Onhan niitä ja vaikka mitä muutakin. Totuus on kuitenkin se että C-kielellä on hyvin vahva asema. Tietenkin on hyvä muistaa että eri asioita on helpompi toteuttaa jollain toisella kielellä. Homma riippuu hyvin paljon lopullisesta tarkoituksesta. Esim. laitteistoajuria tuskin kannattaa alkaa tekemään ihan millä tahansa kielellä.

    se on mun käsittääkseni ihan kääntäjä eikä tulkki ja toimii windowsissa ja linuxissa, ts. linuxille on olemassa ihan oma natiivi linux-versionsa eikä tarvii ajaa winen avulla.

    Äänestä

  • paljonko on pythonilla kirjoitettuja ohjelmia. Eikä tarvitse levittää tulkkia ohjelman mukana, jos ei aio windowsille julkaista valmispakettia...

    Äänestä

  • huviksesi kirjoitti:

    paljonko on pythonilla kirjoitettuja ohjelmia. Eikä tarvitse levittää tulkkia ohjelman mukana, jos ei aio windowsille julkaista valmispakettia...

    tehdä ohjelma josta on sekä windows- että linux-versiot. Mahdollisesti myös dos-versio. Siksi haluaisin kielen jolla voi tehdä ohjelmia moneen ympäristöön. Macillekin tekisin mutta en omista ainuttakaan Macia jolla voisi testata, so..

    Äänestä

  • ap. kirjoitti:

    tehdä ohjelma josta on sekä windows- että linux-versiot. Mahdollisesti myös dos-versio. Siksi haluaisin kielen jolla voi tehdä ohjelmia moneen ympäristöön. Macillekin tekisin mutta en omista ainuttakaan Macia jolla voisi testata, so..

    C on sitten varmasti "vaivattomin".

    dos??

    Äänestä

  • huviksesi kirjoitti:

    paljonko on pythonilla kirjoitettuja ohjelmia. Eikä tarvitse levittää tulkkia ohjelman mukana, jos ei aio windowsille julkaista valmispakettia...

    Niin?

    Äänestä

  • ap. kirjoitti:

    tehdä ohjelma josta on sekä windows- että linux-versiot. Mahdollisesti myös dos-versio. Siksi haluaisin kielen jolla voi tehdä ohjelmia moneen ympäristöön. Macillekin tekisin mutta en omista ainuttakaan Macia jolla voisi testata, so..

    "myös dos-versio"

    No älä nyt oikeasti viitsi..

    Äänestä

  • Uninen kirjoitti:

    Niin?

    Aika monet gtk-examplet tehdään sekä c:lle että pythonille, pythonin pitäisi olla varsin tehokas ja helposti omaksuttava joskin tulkattava ja sikäli jossain hidasteleva. Meinaan että gnomen ohjelmiin sattuisi kuitenkin.. ei sentään dosiin ;D

    Äänestä

  • old_profile_3778 kirjoitti:

    Aika monet gtk-examplet tehdään sekä c:lle että pythonille, pythonin pitäisi olla varsin tehokas ja helposti omaksuttava joskin tulkattava ja sikäli jossain hidasteleva. Meinaan että gnomen ohjelmiin sattuisi kuitenkin.. ei sentään dosiin ;D

    kyllä päivän/illan/yön paras :D
    Mahtaisiko sille saada edes toimivaa ajan tasalla olevaa kääntäjää mistään kovin helpolla :)

    tulkattavien kielten hitaus on hmm... hidasta. En tuosta pythonin nopeudesta tiedä, mutta ainakin javan nopeus on lähinnä vitsi. Noilla tiedoilla mitä aloittaja on antanut niin suosittelisin edelleen sitä C:tä.
    Vaikea on muuta sanoa, kun ei tiedä mitä hän on tekemässä.

    Äänestä

  • Uninen kirjoitti:

    kyllä päivän/illan/yön paras :D
    Mahtaisiko sille saada edes toimivaa ajan tasalla olevaa kääntäjää mistään kovin helpolla :)

    tulkattavien kielten hitaus on hmm... hidasta. En tuosta pythonin nopeudesta tiedä, mutta ainakin javan nopeus on lähinnä vitsi. Noilla tiedoilla mitä aloittaja on antanut niin suosittelisin edelleen sitä C:tä.
    Vaikea on muuta sanoa, kun ei tiedä mitä hän on tekemässä.

    Olen mittaillut Javaa ja ei se välttämättä ole kuin 2x hitaampi kuin C. Python sitten on jotain 100x hitaampi..

    Äänestä

  • m-kar kirjoitti:

    Olen mittaillut Javaa ja ei se välttämättä ole kuin 2x hitaampi kuin C. Python sitten on jotain 100x hitaampi..

    pitkälti siitä, tehdäänkö matopeli vai joku helvetin iso tietokanta ohjelmisto.

    http://dan.corlan.net/bench.html#COPT

    Tuossa on aika yksinkertaisesti vertailtuna eri kielien nopeuksia. Java on hämmästyttävästi miltei C:n tasolla jos minkäänlaisia kutsuja ei käytetä. Niiden kanssa homma sitten kuseekin jo välittömästi.
    Käytännössä koodi yleensä kuitenkin on pidempi kuin 2 funktiota ja kaikkihan tiedämme miten hidas java on kun koodia alkaa olla enemmän(2x ei varmasti pidä silloin paikkaansa).

    Toki myös kääntäjällä on merkitystä, koodaustyylillä ja vähän kaikella.

    koodaustyylistä.
    -----------------------------------------
    int tradam(int x){
    x ;
    return x;
    }
    int main(){
    int a=0;
    return tradam(a);
    }
    ------------------------------------
    ylempi on hitaampi
    -----------------------------------------
    inline int tradam(int x){
    x ;
    return x;
    }
    int main(){
    int a=0;
    return tradam(a);
    }
    ------------------------------------


    Pyythono luikerteleekin sitten jossain.. Nimen voisi muuttaa Turtle:ksi.

    En tiedä milloin tuo 'testi' on tehty, joten tilanne on voinut sittemmin muuttua. Tuskin kuitenkaan kovinpaljoa.

    Eli loppujen lopuksi ohjelman nopeus on pitkälti koodaajasta riippuvainen asia :)

    No mutta se siitä. Alottaja ottanee käyttöönsä C:n niiden binääriensä tekoon :D


    hihihi...Dos.... :D:D:D

    Äänestä

  • old_profile_3778 kirjoitti:

    "myös dos-versio"

    No älä nyt oikeasti viitsi..

    Ihan oikeasti ja vakavissani. Jos en muille niin itselleni. Dossille on, usko pois, vielä käyttöä. Vaikka vähemmän onkin niin kumminkin.

    Äänestä

  • Uninen kirjoitti:

    pitkälti siitä, tehdäänkö matopeli vai joku helvetin iso tietokanta ohjelmisto.

    http://dan.corlan.net/bench.html#COPT

    Tuossa on aika yksinkertaisesti vertailtuna eri kielien nopeuksia. Java on hämmästyttävästi miltei C:n tasolla jos minkäänlaisia kutsuja ei käytetä. Niiden kanssa homma sitten kuseekin jo välittömästi.
    Käytännössä koodi yleensä kuitenkin on pidempi kuin 2 funktiota ja kaikkihan tiedämme miten hidas java on kun koodia alkaa olla enemmän(2x ei varmasti pidä silloin paikkaansa).

    Toki myös kääntäjällä on merkitystä, koodaustyylillä ja vähän kaikella.

    koodaustyylistä.
    -----------------------------------------
    int tradam(int x){
    x ;
    return x;
    }
    int main(){
    int a=0;
    return tradam(a);
    }
    ------------------------------------
    ylempi on hitaampi
    -----------------------------------------
    inline int tradam(int x){
    x ;
    return x;
    }
    int main(){
    int a=0;
    return tradam(a);
    }
    ------------------------------------


    Pyythono luikerteleekin sitten jossain.. Nimen voisi muuttaa Turtle:ksi.

    En tiedä milloin tuo 'testi' on tehty, joten tilanne on voinut sittemmin muuttua. Tuskin kuitenkaan kovinpaljoa.

    Eli loppujen lopuksi ohjelman nopeus on pitkälti koodaajasta riippuvainen asia :)

    No mutta se siitä. Alottaja ottanee käyttöönsä C:n niiden binääriensä tekoon :D


    hihihi...Dos.... :D:D:D

    vaan....APUOHJELMIA, engl. TOOLS.

    Siksi Dossillekin voi vielä tehdä jotain pientä. Samoin wintoosallekin voisi tehdä appareita.

    Siksi pyyttonit ei tule kyseeseen, ei edes ne pyyttonit jotka luikahtaa housuun (yleensä tosin vain Penteillä).

    Ainoat vaihtoehdot siis basic ja C. joista Basic on mulle tutumpi joten haluaisin aloittaa sillä. Dosille ja wintoosalle mulla on jo basic-kääntäjät (Quick Basic 4.5, Visual Basic for Dos 1.0 joka onkin ainoa Dossille tehty VB, Visual Basic 2.0 std, Visual Basic 3.0 Pro sekä Visual Basic 6.0 Learning edition) ja joku mainitsi jo Freebasicin joten sitä pitää kokeilla koska sen saa linuxillekin.

    Äänestä

  • ap. kirjoitti:

    vaan....APUOHJELMIA, engl. TOOLS.

    Siksi Dossillekin voi vielä tehdä jotain pientä. Samoin wintoosallekin voisi tehdä appareita.

    Siksi pyyttonit ei tule kyseeseen, ei edes ne pyyttonit jotka luikahtaa housuun (yleensä tosin vain Penteillä).

    Ainoat vaihtoehdot siis basic ja C. joista Basic on mulle tutumpi joten haluaisin aloittaa sillä. Dosille ja wintoosalle mulla on jo basic-kääntäjät (Quick Basic 4.5, Visual Basic for Dos 1.0 joka onkin ainoa Dossille tehty VB, Visual Basic 2.0 std, Visual Basic 3.0 Pro sekä Visual Basic 6.0 Learning edition) ja joku mainitsi jo Freebasicin joten sitä pitää kokeilla koska sen saa linuxillekin.

    Pitää tuo ihan lisäyksenä vielä laittaa että ei sit Javaakaan. Mä vihaan Javaa, enkä ole siihen törmännyt muualla kuin yhdessä verkkokaupassa. Sampopankissa kuuleman mukaan myös on Javaan perustuva systeemi mutta onneksi en ole sen paskapankin asiakas enää joten ei ole tarvinnut sen kanssa olla tekemisissä.
    En ole Javasta edes kuullut mitään hyvää, pelkkiä negatiivisia juttuja vain.

    Äänestä

  • ap. kirjoitti:

    vaan....APUOHJELMIA, engl. TOOLS.

    Siksi Dossillekin voi vielä tehdä jotain pientä. Samoin wintoosallekin voisi tehdä appareita.

    Siksi pyyttonit ei tule kyseeseen, ei edes ne pyyttonit jotka luikahtaa housuun (yleensä tosin vain Penteillä).

    Ainoat vaihtoehdot siis basic ja C. joista Basic on mulle tutumpi joten haluaisin aloittaa sillä. Dosille ja wintoosalle mulla on jo basic-kääntäjät (Quick Basic 4.5, Visual Basic for Dos 1.0 joka onkin ainoa Dossille tehty VB, Visual Basic 2.0 std, Visual Basic 3.0 Pro sekä Visual Basic 6.0 Learning edition) ja joku mainitsi jo Freebasicin joten sitä pitää kokeilla koska sen saa linuxillekin.

    Jos haluat binääreitä tehdä jotka toimii ilman mitään ajoympäristöjä ja joita haluat siirtää joka paikkaan niin tarvitset standardoidun kielen joka tekee natiivikoodia. C on paras, ja C jos haluat olioita. Jotkut basic viritykset on epästandardeja ja niiden kanssa on kusessa. Se basic kun on erilainen riippuen siitä millä työkalulla teet ja työkalut tulee ja menee joten ohjelmat lahoaa ja ne pitäisi sitten kirjoittaa uudestaan ja joka paikkaan ei kaikkia aina saa.

    C# olisi yksi vaihtoehto mutta tämän ajoympäristöä ei vielä ole joka paikassa, mutta jos teet Monolla ja linkkaat Monon ajoympäristön mukaan niin sitten toimii sekin. Tosin Hello World voi viedä sitten pari megaa tms.

    Äänestä

  • ap. kirjoitti:

    Pitää tuo ihan lisäyksenä vielä laittaa että ei sit Javaakaan. Mä vihaan Javaa, enkä ole siihen törmännyt muualla kuin yhdessä verkkokaupassa. Sampopankissa kuuleman mukaan myös on Javaan perustuva systeemi mutta onneksi en ole sen paskapankin asiakas enää joten ei ole tarvinnut sen kanssa olla tekemisissä.
    En ole Javasta edes kuullut mitään hyvää, pelkkiä negatiivisia juttuja vain.

    "En ole Javasta edes kuullut mitään hyvää, pelkkiä negatiivisia juttuja vain."

    Montakohan niistä sitten pitää paikkansa...

    Todellisuudessa, Java on paras virtuaalikoneessa toimiva kieli/työkalu tänä päivänä. Ei siis ole natiivikoodille tehty vaan sitä varten, että koneessa on Javaympäristö ja kun se löytyy niin Javalla tehty ohjelma toimii. Kieli on epästandardi, mutta sitä kehitetään pitkälti yhteistyössä vaikka Sun Microsystemsillä on yksistään oikeus kumota päätöksiä, että se on sellainen semiturvallinen vaihtoehto.

    Java on paras vaihtoehto tällä hetkellä jos haluaa suorituskykyistä ja skaalautuvaa softaa palvelimeen tai haluaa tehdä selaimeen rikkaan sovelluksen mihin ECMAScript ei riitä, tai haluaa saman softan toimimaan sellaisenaan joka paikassa ettei tee erikseen käännöksiä eri käyttöjärjestelmille ja arkkitehtuureille. Vaatimuksena on kuitenkin se, että Javaympäristö pitää löytyä.

    Mutta kun et halunut mitään ajoympäristöjä niin sinulle oikea vaihtoehto on lähteä opettelemaan C:tä.

    Äänestä

  • ap. kirjoitti:

    vaan....APUOHJELMIA, engl. TOOLS.

    Siksi Dossillekin voi vielä tehdä jotain pientä. Samoin wintoosallekin voisi tehdä appareita.

    Siksi pyyttonit ei tule kyseeseen, ei edes ne pyyttonit jotka luikahtaa housuun (yleensä tosin vain Penteillä).

    Ainoat vaihtoehdot siis basic ja C. joista Basic on mulle tutumpi joten haluaisin aloittaa sillä. Dosille ja wintoosalle mulla on jo basic-kääntäjät (Quick Basic 4.5, Visual Basic for Dos 1.0 joka onkin ainoa Dossille tehty VB, Visual Basic 2.0 std, Visual Basic 3.0 Pro sekä Visual Basic 6.0 Learning edition) ja joku mainitsi jo Freebasicin joten sitä pitää kokeilla koska sen saa linuxillekin.

    "Ainoat vaihtoehdot siis basic ja C. "


    Ainoa vaihtoehto on C. basicin mukana saa roudata järkyttävän määrän runtimea jos meinaa niitä hirviöitä saada toimimaan missään.
    Turhaan sinä kidutat itseäsi basicillä. Ota vain suoraan härkää sarvista :)


    "Siksi Dossillekin voi vielä tehdä jotain pientä"

    Se on kyllä täysin turhaa puuhaa.

    Äänestä

  • ap. kirjoitti:

    Pitää tuo ihan lisäyksenä vielä laittaa että ei sit Javaakaan. Mä vihaan Javaa, enkä ole siihen törmännyt muualla kuin yhdessä verkkokaupassa. Sampopankissa kuuleman mukaan myös on Javaan perustuva systeemi mutta onneksi en ole sen paskapankin asiakas enää joten ei ole tarvinnut sen kanssa olla tekemisissä.
    En ole Javasta edes kuullut mitään hyvää, pelkkiä negatiivisia juttuja vain.

    sontaa, minkäs sille voi.


    "Mä vihaan Javaa, enkä ole siihen törmännyt muualla kuin yhdessä verkkokaupassa."

    oletpa selvinnyt vähällä :)

    Äänestä

  • Uninen kirjoitti:

    "Ainoat vaihtoehdot siis basic ja C. "


    Ainoa vaihtoehto on C. basicin mukana saa roudata järkyttävän määrän runtimea jos meinaa niitä hirviöitä saada toimimaan missään.
    Turhaan sinä kidutat itseäsi basicillä. Ota vain suoraan härkää sarvista :)


    "Siksi Dossillekin voi vielä tehdä jotain pientä"

    Se on kyllä täysin turhaa puuhaa.

    "Ainoa vaihtoehto on C. basicin mukana saa roudata järkyttävän määrän runtimea jos meinaa niitä hirviöitä saada toimimaan missään.
    Turhaan sinä kidutat itseäsi basicillä. Ota vain suoraan härkää sarvista :)"

    Olen koittanut ottaa C-kielestä vähän selkoa, mutta monet toiminnot on perkeleellisen hankalia, esim. kun basicissa on string eli merkkijono niin tämä puuttuu C-kielestä. C-kielessä joutuu tekemään kikkailuja ja määrittämään esim. char:lle pituuden, siis esmes näin:

    C:ssä:
    char nimi[50]

    kun taas basicissa ei tällaista tarvita koska se sisältää tyypin merkkijono. Entä jos en esim etukäteen tiedä kuinka pitkä tulee olemaan charin tarvitsema tila?

    Tää on vain yksi esimerkki siitä miksi C-kieli on vaikeampaa kuin basic.

    Sitäpaitsi ei niitä runtimeja tarvii kuljettaa mukana, varmaan on vb:ssä sellasia versioita että niillä voidaan tehdä täysin stand-alone versio binaarista joka ei runtimeja tarvitse (ei tosin tuo VB6 Learning edition kykene siihen mutta Pro-versio varmaan pystyy), exe:n koko tosin hieman kasvaa silloin. Ja sitten Linuxeissa tuollaisia runtimeja tuskin edes käytetäänkään.
    VB for Dosissakin on tällainen mahdollisuus, voit kääntää exe:ksi joko niin että käytetään runtimeja tai sitten voit kääntää täysin stand-alone exen jolloin runtimeja ei tarvita. Ihan käyttäjän omasta valinnasta riippuen.

    >"Siksi Dossillekin voi vielä tehdä jotain pientä"<

    "Se on kyllä täysin turhaa puuhaa."

    Ei mielestäni. En minä mitään varsinaisia sovelluksia meinaa dossille tehdä, vaan ainoastaan apuohjelmia. Dos mahtuu mihin vaan, ja se pyörii missä vaan koneessa joten jos tarvii ainoastaan suorittaa jokin tietty toimenpide niin eikun io.sys, msdos.sys, command.com tarpeelliset härpäkkeet mukaan...mahtuu vaikka korpulle joten vanhatkin koneet voi hyödyntää.

    Äänestä

  • Uninen kirjoitti:

    sontaa, minkäs sille voi.


    "Mä vihaan Javaa, enkä ole siihen törmännyt muualla kuin yhdessä verkkokaupassa."

    oletpa selvinnyt vähällä :)

    >"Mä vihaan Javaa, enkä ole siihen törmännyt muualla kuin yhdessä verkkokaupassa."

    oletpa selvinnyt vähällä :)<

    Kyllä ja olen siitä hyvilläni. Ei tarvitse turhia tuollaisia kökköjä koneessaan pitää. Tosin parempi olis jos tuokin verkkokauppa luopuisi Javasta, se kun ei tuo mitään erikoisempaa toiminnallisuutta vaan saman voi tehdä muillakin keinoilla. Lisäksi kun tuo on vielä sellanen kauppa että sieltä voi ostaa sellasta kivaa roinaa mitä ei muualta löydä. :(

    Äänestä

  • ap. kirjoitti:

    >"Mä vihaan Javaa, enkä ole siihen törmännyt muualla kuin yhdessä verkkokaupassa."

    oletpa selvinnyt vähällä :)<

    Kyllä ja olen siitä hyvilläni. Ei tarvitse turhia tuollaisia kökköjä koneessaan pitää. Tosin parempi olis jos tuokin verkkokauppa luopuisi Javasta, se kun ei tuo mitään erikoisempaa toiminnallisuutta vaan saman voi tehdä muillakin keinoilla. Lisäksi kun tuo on vielä sellanen kauppa että sieltä voi ostaa sellasta kivaa roinaa mitä ei muualta löydä. :(

    ..selaimeen: http://www.runescape.com/

    Ja palvelinpuolellahan Java on loistava, aivan kuten vaikka PHP.

    Äänestä

  • ap. kirjoitti:

    "Ainoa vaihtoehto on C. basicin mukana saa roudata järkyttävän määrän runtimea jos meinaa niitä hirviöitä saada toimimaan missään.
    Turhaan sinä kidutat itseäsi basicillä. Ota vain suoraan härkää sarvista :)"

    Olen koittanut ottaa C-kielestä vähän selkoa, mutta monet toiminnot on perkeleellisen hankalia, esim. kun basicissa on string eli merkkijono niin tämä puuttuu C-kielestä. C-kielessä joutuu tekemään kikkailuja ja määrittämään esim. char:lle pituuden, siis esmes näin:

    C:ssä:
    char nimi[50]

    kun taas basicissa ei tällaista tarvita koska se sisältää tyypin merkkijono. Entä jos en esim etukäteen tiedä kuinka pitkä tulee olemaan charin tarvitsema tila?

    Tää on vain yksi esimerkki siitä miksi C-kieli on vaikeampaa kuin basic.

    Sitäpaitsi ei niitä runtimeja tarvii kuljettaa mukana, varmaan on vb:ssä sellasia versioita että niillä voidaan tehdä täysin stand-alone versio binaarista joka ei runtimeja tarvitse (ei tosin tuo VB6 Learning edition kykene siihen mutta Pro-versio varmaan pystyy), exe:n koko tosin hieman kasvaa silloin. Ja sitten Linuxeissa tuollaisia runtimeja tuskin edes käytetäänkään.
    VB for Dosissakin on tällainen mahdollisuus, voit kääntää exe:ksi joko niin että käytetään runtimeja tai sitten voit kääntää täysin stand-alone exen jolloin runtimeja ei tarvita. Ihan käyttäjän omasta valinnasta riippuen.

    >"Siksi Dossillekin voi vielä tehdä jotain pientä"<

    "Se on kyllä täysin turhaa puuhaa."

    Ei mielestäni. En minä mitään varsinaisia sovelluksia meinaa dossille tehdä, vaan ainoastaan apuohjelmia. Dos mahtuu mihin vaan, ja se pyörii missä vaan koneessa joten jos tarvii ainoastaan suorittaa jokin tietty toimenpide niin eikun io.sys, msdos.sys, command.com tarpeelliset härpäkkeet mukaan...mahtuu vaikka korpulle joten vanhatkin koneet voi hyödyntää.

    "Olen koittanut ottaa C-kielestä vähän selkoa, mutta monet toiminnot on perkeleellisen hankalia, esim. kun basicissa on string eli merkkijono niin tämä puuttuu C-kielestä. C-kielessä joutuu tekemään kikkailuja ja määrittämään esim. char:lle pituuden, siis esmes näin:"

    C :sta löytyy string luokka, C:ssä merkkijonot on vain taulukkoja missä merkkejä tai dynaamisesti varattuja muistialueita mihin osoitellaan pointterilla.

    "Entä jos en esim etukäteen tiedä kuinka pitkä tulee olemaan charin tarvitsema tila?"

    Kuten yllä sanoin, dynaamisella muistin varauksella. Toki voit kirjoittaa itsellesi C:lle jonkun merkkijonoluokan ja varmasti valmiina löytyy joku Unicode kirjasto missä voit käytellä Unicodena merkkijonoja ja tiedostoja. C on hyvä kieli mutta siinä ei oikein ole mitään valmiina ja siitä puuttuu jopa merkkijonokäsittelyä.

    C nyt onkin oikeastaan nykypäivänä matalamman tason juttuihin kuten kirjastoihin mutta se olisi hyvä opetella ensiksi ja sitten vasta C missä on vähän oiottu asioita, mutta C :n kanssa pitää olla hyvin varovainen sillä se kieli on suunniteltu pitämään ohjelmoijien palkat korkeana.. Eli sillä voi hyvin helposti tehdä ohjelmia joita ei vaan saa toimimaan koska kieli mahdollistaa tekemään asioita väärin. Esimerkiksi operaattorien ylikuormitukset, moniperintä, iostream yms.

    Eli joo, tämä on konekielen jälkeen sieltä hankalammasta päästä mutta näin tilanne vain on on nykypäivänä.

    Yleensä järkevämpää on näpertää omaan käyttöön pikkuohjelmia Pythonilla vaikka moniin käyttiksiin tarvitsee hankkia eriskeen se ajoympäristö ja vaikka kieli onkin hidas. Se on sellainen nykypäivän Basic. Jos sitten haluaa tehdä vähän parempaa laatua niin sitten viilaa sitä C:tä ja C :aa systeemin kirjastoilla.

    Pythonissa sitten on erittäin laajat standardikirjastot mikä helpottaa sitten hommia kun C/C :ssa sitten tarvitsee enemmän niitä kirjastoja erikseen tai niitä pitää itse tehdä. Sama vahvuus on myös Javassa sillä tämän standardikirjastot sisältää ~kaiken.

    "En minä mitään varsinaisia sovelluksia meinaa dossille tehdä, vaan ainoastaan apuohjelmia. Dos mahtuu mihin vaan, ja se pyörii missä vaan koneessa joten jos tarvii ainoastaan suorittaa jokin tietty toimenpide niin eikun io.sys, msdos.sys, command.com tarpeelliset härpäkkeet mukaan...mahtuu vaikka korpulle joten vanhatkin koneet voi hyödyntää."

    Eli sinun pitäisi tehdä C/C :lla. Djgpp:ssä kun on GCC ja saman kääntäjän saa Windowsille myös, on valmiina linuxeissa, BSD johdannaisissa ja Mac OS X:ssä ja joka paikassa.

    Äänestä

  • ap. kirjoitti:

    "Ainoa vaihtoehto on C. basicin mukana saa roudata järkyttävän määrän runtimea jos meinaa niitä hirviöitä saada toimimaan missään.
    Turhaan sinä kidutat itseäsi basicillä. Ota vain suoraan härkää sarvista :)"

    Olen koittanut ottaa C-kielestä vähän selkoa, mutta monet toiminnot on perkeleellisen hankalia, esim. kun basicissa on string eli merkkijono niin tämä puuttuu C-kielestä. C-kielessä joutuu tekemään kikkailuja ja määrittämään esim. char:lle pituuden, siis esmes näin:

    C:ssä:
    char nimi[50]

    kun taas basicissa ei tällaista tarvita koska se sisältää tyypin merkkijono. Entä jos en esim etukäteen tiedä kuinka pitkä tulee olemaan charin tarvitsema tila?

    Tää on vain yksi esimerkki siitä miksi C-kieli on vaikeampaa kuin basic.

    Sitäpaitsi ei niitä runtimeja tarvii kuljettaa mukana, varmaan on vb:ssä sellasia versioita että niillä voidaan tehdä täysin stand-alone versio binaarista joka ei runtimeja tarvitse (ei tosin tuo VB6 Learning edition kykene siihen mutta Pro-versio varmaan pystyy), exe:n koko tosin hieman kasvaa silloin. Ja sitten Linuxeissa tuollaisia runtimeja tuskin edes käytetäänkään.
    VB for Dosissakin on tällainen mahdollisuus, voit kääntää exe:ksi joko niin että käytetään runtimeja tai sitten voit kääntää täysin stand-alone exen jolloin runtimeja ei tarvita. Ihan käyttäjän omasta valinnasta riippuen.

    >"Siksi Dossillekin voi vielä tehdä jotain pientä"<

    "Se on kyllä täysin turhaa puuhaa."

    Ei mielestäni. En minä mitään varsinaisia sovelluksia meinaa dossille tehdä, vaan ainoastaan apuohjelmia. Dos mahtuu mihin vaan, ja se pyörii missä vaan koneessa joten jos tarvii ainoastaan suorittaa jokin tietty toimenpide niin eikun io.sys, msdos.sys, command.com tarpeelliset härpäkkeet mukaan...mahtuu vaikka korpulle joten vanhatkin koneet voi hyödyntää.

    on monta muutakin veikeää juttua kuten se, että saa läiskiä muuttujiin sisällöksi mitä lystää ja muutenkaan ei tarvitse välittää oikeastaan edes mistään perusasioista. Koodia voi tehdä yhteen pötköön ilman funktioita jos huvittaa ja liekö tuolla rivin vaihdollakaan on mitään merkitystä(

    Äänestä

  • m-kar kirjoitti:

    ..selaimeen: http://www.runescape.com/

    Ja palvelinpuolellahan Java on loistava, aivan kuten vaikka PHP.

    Miksi se olisi hankalaa?

    Äänestä

  • Uninen kirjoitti:

    on monta muutakin veikeää juttua kuten se, että saa läiskiä muuttujiin sisällöksi mitä lystää ja muutenkaan ei tarvitse välittää oikeastaan edes mistään perusasioista. Koodia voi tehdä yhteen pötköön ilman funktioita jos huvittaa ja liekö tuolla rivin vaihdollakaan on mitään merkitystä(

    "Se on ihan hauskaa kun voi 'tuottaa' koodia äkkiä oikeastaan ajattelematta mitään, vähän kuin javallakin."

    Javahan on ihan natsikieli ja pakottaa vahvasti oliomalliin. Tämä onkin suosittu kun on useampi kokki ttekemässä soppaa ja ohjelmoijien tasoissa on vaihtelua kun Java pakottaa väistämättä huononkin ohjelmoijan tekemään jokseenkin järjellistä koodia.

    Todellisuudessa oliomalli ei ole mitenkään ideaalinen mutta sillä saa huononkin ohjelmoijan ojennukseen. Funktionaalinen rakenne on paljon paremmin hallittava.

    Äänestä

  • Uninen kirjoitti:

    Miksi se olisi hankalaa?

    "Miksi se olisi hankalaa?"

    Eipä taida Flash tajuta mistään 3D kiihdytyksistä hittojakaan eikä muutenkaan toimi niin hyvin kuin Java ja Moonlight on ihan vaiheessa. Pelkällä Javascriptillä homma ei myöskään onnistu.

    Vai millä tavalla muuten tekisit tuollaisen pelin selaimeen paremmin?

    Äänestä

  • m-kar kirjoitti:

    "Miksi se olisi hankalaa?"

    Eipä taida Flash tajuta mistään 3D kiihdytyksistä hittojakaan eikä muutenkaan toimi niin hyvin kuin Java ja Moonlight on ihan vaiheessa. Pelkällä Javascriptillä homma ei myöskään onnistu.

    Vai millä tavalla muuten tekisit tuollaisen pelin selaimeen paremmin?

    en ajatellut että sen on just pakko olla jossain selaimessa :)

    Äänestä

  • m-kar kirjoitti:

    "Se on ihan hauskaa kun voi 'tuottaa' koodia äkkiä oikeastaan ajattelematta mitään, vähän kuin javallakin."

    Javahan on ihan natsikieli ja pakottaa vahvasti oliomalliin. Tämä onkin suosittu kun on useampi kokki ttekemässä soppaa ja ohjelmoijien tasoissa on vaihtelua kun Java pakottaa väistämättä huononkin ohjelmoijan tekemään jokseenkin järjellistä koodia.

    Todellisuudessa oliomalli ei ole mitenkään ideaalinen mutta sillä saa huononkin ohjelmoijan ojennukseen. Funktionaalinen rakenne on paljon paremmin hallittava.

    Onhan siinä syntaksi.

    Äänestä

  • Uninen kirjoitti:

    en ajatellut että sen on just pakko olla jossain selaimessa :)

    Ohjelman toimintahan on periaatteessa täysin sama kuin millä tahansa muullakin. clienttia ajetaan toisessa ja serveriä toisessa päässä. clientin gui n alustana nyt vain sattuu olemaan selain :S Siitä voi sitten halutessaan tietysti olla montaa mieltä onko se järkevää.
    Joka tapauksessa java on epävakaa ja hidas räpellys eikä asia muutu miksikään, vaikka sille ei kunnon korviketta olisikaan.
    Eiköhän nyt vain lopeteta jänkkääminen, eihän tällaista jaksa tervejärkinen.

    Äänestä

  • Uninen kirjoitti:

    Ohjelman toimintahan on periaatteessa täysin sama kuin millä tahansa muullakin. clienttia ajetaan toisessa ja serveriä toisessa päässä. clientin gui n alustana nyt vain sattuu olemaan selain :S Siitä voi sitten halutessaan tietysti olla montaa mieltä onko se järkevää.
    Joka tapauksessa java on epävakaa ja hidas räpellys eikä asia muutu miksikään, vaikka sille ei kunnon korviketta olisikaan.
    Eiköhän nyt vain lopeteta jänkkääminen, eihän tällaista jaksa tervejärkinen.

    "Joka tapauksessa java on epävakaa ja hidas räpellys eikä asia muutu miksikään, vaikka sille ei kunnon korviketta olisikaan."

    Kun se Java ei ole mikään epävakaa ja sillä pyöritetään aika tärkeitä juttuja kuten rahaliikennettä monessa paikoissa. 2x hitaampi kyllä kuin C, mutta nopein virtuaalikoneratkaisu mille voi olla käyttöä myös esimerkiksi turvallisuussyistä tai jos ei haluta tehdä käännöksiä joka paikkaan.

    Suurin osa Javan hitaudesta kitinät kyllä tulee jostain menneisyydestä, sillä Java 6:n Update 10:ssä se ajoympäristö nopeutui ihan hemmetisti.

    Äänestä

Mini-filosofiana esitän että jos henkilö tekee itselleen ohjelman niin eihän sillä ole väliä millä se on tehty ja millainen se on, tai jos tekee vielä kaverillekin niin silloinkin on pelivaraa mutta jos tekee "suurelle yleisölle" niin ohjelman on oltava graafinen, selkeä ja helppokäyttöinen, nyt eletään nykyaikaa kuitenkin joten ei mitään komentorivi-virityksiä ellei ne ole tarkoitettu pienen piirin käyttöön. Jos linux-ohjelmoijat ottavat toisen kannan kuin esitin niin Linux pysyy yhä pitkään pienen piirin käyttiksenäkin mutta toki jotkut toivovatkin sitä.

Äänestä

..eri käyttiksille niin opettele C. C :lla saa sitten olio-ominaisuudet mutta sitä on fiksuinta käyttää kuin C:tä missä on oliot, joten opettele C.

Äänestä

Eikös realbasic tee ihan natiivia koodia? Ei omakohtaista kokemusta kun jos jotain tarttee tehdä, niin lazarus on basicia jopa helpompi.

Äänestä

tehnyt mitään matopeliä monimutkasempaa niistä, jotka "tulkattavien kielten hitaudesta" narisevat. MKarin 2x ja 100x mittaukset varsinkin olis tosi mielenkiintosia :)

Äänestä
  • kuin pari varastokirjanpitoa ja muutaman laitteistoajurin. Loput sitten mitä sattuu milloinkin eteen tulemaan ja nappaa mitään yleensä koodata. Se vaan on niin rasittavaa hommaa. Javalla en ole tehnyt juuri mitään, mutta olen kyllä nähnyt muutaman suuremman 'toiminnan' käytännössä. Enkä muuten tule tekemäänkään :)

    Mitä tulee tuohon mkarrin mainitsemaan updateen ja sen 'huippunopeuteen', niin siinähän sitä ongelmaa sitten on kun 'vanhat' sovellukset saattavat alkaa toimia miten saattuu kun pätsätään alusta. Nopeudesta en tiedä, enkä edes välitä tietää :)
    Suurempaa sovellusta on hankala 'hallita' jos alusta muuttuu jatkuvasti. Näin se vaan on, vaikka miten päin asian kääntäisi. Tietenkin runtimen voi pitää aina samana, mutta liekö sekään niin kovin viisasta.
    Todella upea viritys se ei kuitenkaan ole. Käyttäköön ken haluaa.

    Että moi vaan, alan tehdä nyt jotain järkevämpää. Vaikkapa piirtämään.

    Äänestä

Kommentoi aloitusta


C vaiko C++? kirjoitti:

Kumpi on yleisempi kieli tehdä ohjelmia linuxeille?

Entä basic, mitä basic-kääntäjiä (niin ei siis tulkkeja vaan binaareja tekeviä kääntäjiä) löytyy *buntuille, debianille ym.?

Olen C-kielissä melkoisen nyyppä, basicilla tullut vähän enemmän puuhasteltua joten pidän sen varalla jos C-kielellä en onnistu saamaan mitään aikaan.

Niin ja tarkoitus siis tehdä ajokelpoisia binaareja (windows-maailmassa puhutaan exe-tiedostoista) jotka toimivat ilman tulkkeja, ei siis tarvii levittää koko ohjelmointiympäristöä ohjelman mukana. Tulkit sopii kokeiluun mutta kääntäjät parempia kun haluaa oikeasti tehdä jotain.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu