c/c++ kieli

En ole ollut c/c kielten kanssa enään vuosiin tekemisissä, mutta kehittyykö tämä kieli enään ollenkaan? Meinaan sitä että eikö olis aika tulla jo uusi versio. C# olis hyvä, mutta sehän on vain MS .NET härveli niinsanotusti.

Eniten minua ärsyttää -> osoitin merkintä C kielessä jos osoitetaan jostain dynaamisesti varatusta oliosta johonkin metodiin, miks se ei vois olla vain piste (.) kuten muissakin kielissä???

Myös VC Express editionissa minua vitutti kun on kaiken maailman merkkijonotyyppejä/osoittimia sata biljoonaa eri kappaletta, LPCWSTR, LPCSTR, ihme makroja TEXT("tekstiä") ym. joutuu käyttämää, ilman että tulis biljoonaa varoitusta. Miksi ei vois olla vain String ym. muuttujia, kuten muissakin kielissä.

Tosiaan nykyaikana jo luulis olevan älyä kehittää jokin uusi "C " standarti jutska, joka selkeyttäis hommaa.

Mielestäni C on jo wanhan ajan juttuja rajoituksineen, toki ennen oli konetehon saavutus tärkeetä kun teho oli tiukilla, mutta luulis nykyajan kokemuksella ja tietämyksellä olevan jo ideaa kehittää parempi ja selkeempi C-kieli, niin syntaksiltaan kuin teholtaakin.
171007
Äänestä

Muut lukivat myös

Vastaukset 17

Vanhimmat

Niin tästä vielä:

pOlio->metodi();

Tämä on mielestäni tosi wanhan aikaista, toki tuo on keksitty sillon kun olio-ohjelmointi oli vielä tosi uusi juttu ja haluttiin painottaa asioita, mutta minun mielestäni se tekee koodista aika sekamelskaa luettavaa.

Tosin nou sulkeet säilyttäisin vielä, koska se kertoo selkeesti heti sen, ettei mitään parametreja anneta metodiin. Joissakin kielissä, kuten Pascalissa ei noita sulkeita tarvita :/

Äänestä

Jos tykkäät sofistisesta, yksinkertaisesta ja laitteistoriippumattomasta kielestä niin eiköhän tuo Java ole silloin paras vaihtoehto. Se, minkä se vielä menettää suorituskyvyssä, tullaan tulevaisuudessa kuromaan umpeen kun Java-VM -tekniikka kehittyy.

Äänestä
  • Java on kyllä periaatteea hyvä, mutta minua kismittää Javassa sen köyhät käyttöliittymät, ne on aika perseestä. Kielen ei tarviis olla olla sidottu mihinkään omaan käyttöliittymä jutskiin, vaan homma olis enemmänkin kiinni kehitysväliineestä C /käyttiksen tapaan.

    En kaipaa tätä "kirjoita yhdesti aja kaikkialla", vaan ennemminkin käännä alustalle X, Y, Z samalla koodilla ja aja alustalla X, Y, Z olis paras jne..

    Lisäksi itse olen törmännyt semmoisiin ongelmiin, vaikka osa Delphillä tekemästäni koodista käyttääkin Java juttuja, niin jos yritys jolla on pakko olla jokin waanha JRE, ollaan vitun kusessa, jos wanhan JRE:n menee poistamaan ja korvataan uudella, plaah!

    Lisäksi itse ainaskin kaipailisin pointereita ja roskien keruukin on pelkkää laiskottelua, kyllä sitä nyt hemmetti pitää muistaa vapauttaa se varattu muisti, mitä käyttää!!!

    Ääh! Java on hyvä appleteissa ym. mutta joku oikea uusi C-kieli olis poikaa!

    Äänestä

  • Dinosaurus. kirjoitti:

    Java on kyllä periaatteea hyvä, mutta minua kismittää Javassa sen köyhät käyttöliittymät, ne on aika perseestä. Kielen ei tarviis olla olla sidottu mihinkään omaan käyttöliittymä jutskiin, vaan homma olis enemmänkin kiinni kehitysväliineestä C /käyttiksen tapaan.

    En kaipaa tätä "kirjoita yhdesti aja kaikkialla", vaan ennemminkin käännä alustalle X, Y, Z samalla koodilla ja aja alustalla X, Y, Z olis paras jne..

    Lisäksi itse olen törmännyt semmoisiin ongelmiin, vaikka osa Delphillä tekemästäni koodista käyttääkin Java juttuja, niin jos yritys jolla on pakko olla jokin waanha JRE, ollaan vitun kusessa, jos wanhan JRE:n menee poistamaan ja korvataan uudella, plaah!

    Lisäksi itse ainaskin kaipailisin pointereita ja roskien keruukin on pelkkää laiskottelua, kyllä sitä nyt hemmetti pitää muistaa vapauttaa se varattu muisti, mitä käyttää!!!

    Ääh! Java on hyvä appleteissa ym. mutta joku oikea uusi C-kieli olis poikaa!

    Ainakin ehdon
    " vaan ennemminkin käännä alustalle X, Y, Z samalla koodilla ja aja alustalla X, Y, Z olis paras jne."

    toteuttaa Lazarus ja FreePascal
    Linkkejä:

    http://wiki.lazarus.freepascal.org/Main_Page/fi
    http://www.freepascal.org/

    Äänestä

  • Dinosaurus. kirjoitti:

    Java on kyllä periaatteea hyvä, mutta minua kismittää Javassa sen köyhät käyttöliittymät, ne on aika perseestä. Kielen ei tarviis olla olla sidottu mihinkään omaan käyttöliittymä jutskiin, vaan homma olis enemmänkin kiinni kehitysväliineestä C /käyttiksen tapaan.

    En kaipaa tätä "kirjoita yhdesti aja kaikkialla", vaan ennemminkin käännä alustalle X, Y, Z samalla koodilla ja aja alustalla X, Y, Z olis paras jne..

    Lisäksi itse olen törmännyt semmoisiin ongelmiin, vaikka osa Delphillä tekemästäni koodista käyttääkin Java juttuja, niin jos yritys jolla on pakko olla jokin waanha JRE, ollaan vitun kusessa, jos wanhan JRE:n menee poistamaan ja korvataan uudella, plaah!

    Lisäksi itse ainaskin kaipailisin pointereita ja roskien keruukin on pelkkää laiskottelua, kyllä sitä nyt hemmetti pitää muistaa vapauttaa se varattu muisti, mitä käyttää!!!

    Ääh! Java on hyvä appleteissa ym. mutta joku oikea uusi C-kieli olis poikaa!

    "Java on kyllä periaatteea hyvä, mutta minua kismittää Javassa sen köyhät käyttöliittymät, ne on aika perseestä. Kielen ei tarviis olla olla sidottu mihinkään omaan käyttöliittymä jutskiin, vaan homma olis enemmänkin kiinni kehitysväliineestä C++/käyttiksen tapaan. "

    No Javan oletuskäyttöliittymä on rakennettu AWT:n päälle ja se kyllä kärsii siitä, mutta en lähtisi väittämään esim. Swing tai SWT:tä köyhäksi. Itse asiassa ne on tämän hetken modernimmat palikat käyttöliittymien kyhäämiseen. Sen sijaan ohjelmat joilla näitä käyttöliittymiä rakennetaan on vielä aika ontuvat. En oikein ymmärtänyt tuota "sidottu omaan käyttöliittymä-jutskiin"? Eihän Java-kieli itsessään ole mitenkään riippuvainen käyttöliittymäkomponenteista. Ja jos haluaa, niin väsää vaikka omat käyttöliittymäkirjastot JNI:n avulla.

    "En kaipaa tätä "kirjoita yhdesti aja kaikkialla", vaan ennemminkin käännä alustalle X, Y, Z samalla koodilla ja aja alustalla X, Y, Z olis paras jne.."

    Minusta taas se, että koodi käännetään laitteistoriippumattomaksi tavukoodiksi joka ei ole sidottu mitenkään konekielikoodiin helpottaa huomattavasti mm. debuggaamista. Ja VM tietty muuttaa sen tavukoodin sitten sille alustalle sopivaksi, eihän homma poikkea juurikaan kuin yhdellä välivaiheella.

    "Lisäksi itse olen törmännyt semmoisiin ongelmiin, vaikka osa Delphillä tekemästäni koodista käyttääkin Java juttuja, niin jos yritys jolla on pakko olla jokin waanha JRE, ollaan vitun kusessa, jos wanhan JRE:n menee poistamaan ja korvataan uudella, plaah!"

    Totta, toivon itsekin tämän asian paranevan tulevaisuudessa. Kyllä sen koodin kuuluu olla 100% taaksepäin yhteensopivaa. Onneksi Java on vahvasti dokumentoitu että osaa välttää näitä vähemmän turvallisia ratkaisuja yhteensopivuuden kannalta.

    "Lisäksi itse ainaskin kaipailisin pointereita ja roskien keruukin on pelkkää laiskottelua, kyllä sitä nyt hemmetti pitää muistaa vapauttaa se varattu muisti, mitä käyttää!!!"

    Eipä ole juurikaan ollut osoittimia ikävä. En nyt saa mieleen yhtäkään asiaa mitä osoittimilla voi tehdä paremmin kuin ilman niitä Javassa. Ja mitä automaattiseen roskien keruuseen tulee, sen hyödyt pieksee haitat mennen tullen. C++:aa kun käyttää saa olla aina tarkkana muistuvuotojen varalta, ja vaikka kuinka tarkka on, niitä tulee aina (erityisesti poikkeustilanteissa).

    Äänestä

  • niin no kirjoitti:

    "Java on kyllä periaatteea hyvä, mutta minua kismittää Javassa sen köyhät käyttöliittymät, ne on aika perseestä. Kielen ei tarviis olla olla sidottu mihinkään omaan käyttöliittymä jutskiin, vaan homma olis enemmänkin kiinni kehitysväliineestä C++/käyttiksen tapaan. "

    No Javan oletuskäyttöliittymä on rakennettu AWT:n päälle ja se kyllä kärsii siitä, mutta en lähtisi väittämään esim. Swing tai SWT:tä köyhäksi. Itse asiassa ne on tämän hetken modernimmat palikat käyttöliittymien kyhäämiseen. Sen sijaan ohjelmat joilla näitä käyttöliittymiä rakennetaan on vielä aika ontuvat. En oikein ymmärtänyt tuota "sidottu omaan käyttöliittymä-jutskiin"? Eihän Java-kieli itsessään ole mitenkään riippuvainen käyttöliittymäkomponenteista. Ja jos haluaa, niin väsää vaikka omat käyttöliittymäkirjastot JNI:n avulla.

    "En kaipaa tätä "kirjoita yhdesti aja kaikkialla", vaan ennemminkin käännä alustalle X, Y, Z samalla koodilla ja aja alustalla X, Y, Z olis paras jne.."

    Minusta taas se, että koodi käännetään laitteistoriippumattomaksi tavukoodiksi joka ei ole sidottu mitenkään konekielikoodiin helpottaa huomattavasti mm. debuggaamista. Ja VM tietty muuttaa sen tavukoodin sitten sille alustalle sopivaksi, eihän homma poikkea juurikaan kuin yhdellä välivaiheella.

    "Lisäksi itse olen törmännyt semmoisiin ongelmiin, vaikka osa Delphillä tekemästäni koodista käyttääkin Java juttuja, niin jos yritys jolla on pakko olla jokin waanha JRE, ollaan vitun kusessa, jos wanhan JRE:n menee poistamaan ja korvataan uudella, plaah!"

    Totta, toivon itsekin tämän asian paranevan tulevaisuudessa. Kyllä sen koodin kuuluu olla 100% taaksepäin yhteensopivaa. Onneksi Java on vahvasti dokumentoitu että osaa välttää näitä vähemmän turvallisia ratkaisuja yhteensopivuuden kannalta.

    "Lisäksi itse ainaskin kaipailisin pointereita ja roskien keruukin on pelkkää laiskottelua, kyllä sitä nyt hemmetti pitää muistaa vapauttaa se varattu muisti, mitä käyttää!!!"

    Eipä ole juurikaan ollut osoittimia ikävä. En nyt saa mieleen yhtäkään asiaa mitä osoittimilla voi tehdä paremmin kuin ilman niitä Javassa. Ja mitä automaattiseen roskien keruuseen tulee, sen hyödyt pieksee haitat mennen tullen. C++:aa kun käyttää saa olla aina tarkkana muistuvuotojen varalta, ja vaikka kuinka tarkka on, niitä tulee aina (erityisesti poikkeustilanteissa).

    "Itse asiassa ne on tämän hetken modernimmat palikat käyttöliittymien kyhäämiseen"

    Lazaruksella tekee hyvät käyttöliittymät helposti (ja toimii monella alustalla natiivisti )

    Äänestä

  • niin no kirjoitti:

    "Java on kyllä periaatteea hyvä, mutta minua kismittää Javassa sen köyhät käyttöliittymät, ne on aika perseestä. Kielen ei tarviis olla olla sidottu mihinkään omaan käyttöliittymä jutskiin, vaan homma olis enemmänkin kiinni kehitysväliineestä C++/käyttiksen tapaan. "

    No Javan oletuskäyttöliittymä on rakennettu AWT:n päälle ja se kyllä kärsii siitä, mutta en lähtisi väittämään esim. Swing tai SWT:tä köyhäksi. Itse asiassa ne on tämän hetken modernimmat palikat käyttöliittymien kyhäämiseen. Sen sijaan ohjelmat joilla näitä käyttöliittymiä rakennetaan on vielä aika ontuvat. En oikein ymmärtänyt tuota "sidottu omaan käyttöliittymä-jutskiin"? Eihän Java-kieli itsessään ole mitenkään riippuvainen käyttöliittymäkomponenteista. Ja jos haluaa, niin väsää vaikka omat käyttöliittymäkirjastot JNI:n avulla.

    "En kaipaa tätä "kirjoita yhdesti aja kaikkialla", vaan ennemminkin käännä alustalle X, Y, Z samalla koodilla ja aja alustalla X, Y, Z olis paras jne.."

    Minusta taas se, että koodi käännetään laitteistoriippumattomaksi tavukoodiksi joka ei ole sidottu mitenkään konekielikoodiin helpottaa huomattavasti mm. debuggaamista. Ja VM tietty muuttaa sen tavukoodin sitten sille alustalle sopivaksi, eihän homma poikkea juurikaan kuin yhdellä välivaiheella.

    "Lisäksi itse olen törmännyt semmoisiin ongelmiin, vaikka osa Delphillä tekemästäni koodista käyttääkin Java juttuja, niin jos yritys jolla on pakko olla jokin waanha JRE, ollaan vitun kusessa, jos wanhan JRE:n menee poistamaan ja korvataan uudella, plaah!"

    Totta, toivon itsekin tämän asian paranevan tulevaisuudessa. Kyllä sen koodin kuuluu olla 100% taaksepäin yhteensopivaa. Onneksi Java on vahvasti dokumentoitu että osaa välttää näitä vähemmän turvallisia ratkaisuja yhteensopivuuden kannalta.

    "Lisäksi itse ainaskin kaipailisin pointereita ja roskien keruukin on pelkkää laiskottelua, kyllä sitä nyt hemmetti pitää muistaa vapauttaa se varattu muisti, mitä käyttää!!!"

    Eipä ole juurikaan ollut osoittimia ikävä. En nyt saa mieleen yhtäkään asiaa mitä osoittimilla voi tehdä paremmin kuin ilman niitä Javassa. Ja mitä automaattiseen roskien keruuseen tulee, sen hyödyt pieksee haitat mennen tullen. C++:aa kun käyttää saa olla aina tarkkana muistuvuotojen varalta, ja vaikka kuinka tarkka on, niitä tulee aina (erityisesti poikkeustilanteissa).

    "Ja mitä automaattiseen roskien keruuseen tulee, sen hyödyt pieksee haitat mennen tullen."

    Ei aina, esim. ohjelma alkaa "nykimään", kun GC putsaa muistia ja se on voi voi esim. peleissä.
    Paras muistinhallinta on tietysti sellainen jossa ohjelmoija voi varata/vapautaa muistia "käsin" halutessaan tai käyttää GC:tä. Näinhän on esim. tuossa jo mainutussa D:ssä.
    http://en.wikipedia.org/wiki/D_programming_language#Memory_management

    (Turha sitä Javaa on tällä palstalla tyrkyttää: kaikille se on tuttu (paitsi alottelijoille) ja jokainen on omat johtopäätöksensä tehnyt. Omani: Java on Iso Paska, etenkin muistinkulutukseltaan)

    Äänestä

  • llalalallal kirjoitti:

    "Ja mitä automaattiseen roskien keruuseen tulee, sen hyödyt pieksee haitat mennen tullen."

    Ei aina, esim. ohjelma alkaa "nykimään", kun GC putsaa muistia ja se on voi voi esim. peleissä.
    Paras muistinhallinta on tietysti sellainen jossa ohjelmoija voi varata/vapautaa muistia "käsin" halutessaan tai käyttää GC:tä. Näinhän on esim. tuossa jo mainutussa D:ssä.
    http://en.wikipedia.org/wiki/D_programming_language#Memory_management

    (Turha sitä Javaa on tällä palstalla tyrkyttää: kaikille se on tuttu (paitsi alottelijoille) ja jokainen on omat johtopäätöksensä tehnyt. Omani: Java on Iso Paska, etenkin muistinkulutukseltaan)

    >>Ei aina, esim. ohjelma alkaa "nykimään", kun GC putsaa muistia ja se on voi voi esim. peleissä.>>

    Se on tietenkin voi voi ihan missä vaan, jos ei osaa ohjelmoida eikä ymmärrä työkalujaan. Mutta selvennykseksi kerrottakoon, että tämän ei tarvitse olla totta. GC:n voi tehdä oikeinkin.

    Äänestä

  • Korjausta kirjoitti:

    >>Ei aina, esim. ohjelma alkaa "nykimään", kun GC putsaa muistia ja se on voi voi esim. peleissä.>>

    Se on tietenkin voi voi ihan missä vaan, jos ei osaa ohjelmoida eikä ymmärrä työkalujaan. Mutta selvennykseksi kerrottakoon, että tämän ei tarvitse olla totta. GC:n voi tehdä oikeinkin.

    No, kerro nyt ihmeessä että missä se on tehty oikein.

    Äänestä



  • "// no need for '->'"

    No nyt,, no nyt ollaan jo oikeilla jäljillä :D

    Äänestä

siksi että -> olis . ???
kasva penska aikuiseksi.

Äänestä

C -standardi kehittyy kyllä jatkuvasti ja se tulee jatkossakin näyttelemään tärkeää roolia ohjelmistokehityksessä. C on kuitenkin vaikea kieli ja se tarkoitettu todelliseen ammattikäyttöön esim. tuotekehityksessä. Esim. piste (.) -merkintää voidaan käyttää olion perässä, mutta olion pitää olla automaattisesti allokoitu.

Jos ei harrasta vakavaa ohjelmistokehitystä tai ohjelmistokehitys on hyvin business-koodi painotteista, kannatta käyttää tuottavampia ja helpompia kieliä kuin C on.

Äänestä

Sellainen uusi standardi C :sta on kovasti tulossa. Se on nimetty C 0x:ksi, missä 0x tarkoittaa, että ennen vuotta 2010 pitäs pojjaat niinku saaha tää valmiiksi.

C-kielen viimeisin standardi on vuodelta 1999. Se ei ole ihan varmaa onko kukaan vieläkään tehnyt täysin C99-yhteensopivaa kääntäjää. Hitaasti ne ominaisuudet ovat levinneet joihinkin kääntäjiin.

Mikäs kiire tässä on valmiissa maailmassa?

C#-kieltä voi käyttää myös Monon kanssa esim. Linuxeissa. Kaiketi. En ole kokeillut.

Niin, ja kato sitä selkeempää kieltä vaikka OCamlin suunnalta. C-pelit on aika lailla loppuun pelattuja jo, C#:kin menee funktionaaliseen suuntaan.

Äänestä

Ne tulee vastaan kääntäjästä riippumatta aina kun tekee jotain WinAPI juttuja.

Äänestä

Kommentoi aloitusta


Dinosaurus. kirjoitti:

En ole ollut c/c kielten kanssa enään vuosiin tekemisissä, mutta kehittyykö tämä kieli enään ollenkaan? Meinaan sitä että eikö olis aika tulla jo uusi versio. C# olis hyvä, mutta sehän on vain MS .NET härveli niinsanotusti.

Eniten minua ärsyttää -> osoitin merkintä C kielessä jos osoitetaan jostain dynaamisesti varatusta oliosta johonkin metodiin, miks se ei vois olla vain piste (.) kuten muissakin kielissä???

Myös VC Express editionissa minua vitutti kun on kaiken maailman merkkijonotyyppejä/osoittimia sata biljoonaa eri kappaletta, LPCWSTR, LPCSTR, ihme makroja TEXT("tekstiä") ym. joutuu käyttämää, ilman että tulis biljoonaa varoitusta. Miksi ei vois olla vain String ym. muuttujia, kuten muissakin kielissä.

Tosiaan nykyaikana jo luulis olevan älyä kehittää jokin uusi "C " standarti jutska, joka selkeyttäis hommaa.

Mielestäni C on jo wanhan ajan juttuja rajoituksineen, toki ennen oli konetehon saavutus tärkeetä kun teho oli tiukilla, mutta luulis nykyajan kokemuksella ja tietämyksellä olevan jo ideaa kehittää parempi ja selkeempi C-kieli, niin syntaksiltaan kuin teholtaakin.

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