C++ halutaan lopettaa

Kokemusten perusteella Googlen edustaja väittää rust-koodikielen olevan kehittäjille nopeampaa käyttää kuin c++-kielen.

Androidin alustatyökalujen ja kirjastojen parissa työskentelevä Google-johtaja Lars Bergstrom kertoi Rust Nation UK -konferenssin lavalla go- ja c++-kielillä koodattujen ohjelmien muuttamisesta rust-projekteiksi. Samaan aikaan Googlella ollaan vaihtamassa javasta kotliniin.
23340
Äänestä

Muut lukivat myös

Vastaukset 23

Vanhimmat

USA on sitä mieltä että C++ koodi on bugista ja reikäistä, turvatonta ja hidasta joka syö resusseja.

Äänestä
  • siinä he on ihan oikeassa!

    Äänestä

  • Vielä suurempi hyöty tuli esille c++:aan verrattuna:

    ”Joka tapauksessa olemme havainneet tarvittavan panostuksen yli kaksinkertaisesti vähentyneen rustilla kehitettäessä sekä ylläpidettäessä ja päivittäessä palveluja”, Bergstrom kertoi.

    Tämä on Bergstromin mukaan iso asia, koska c++:lla kehittäminen on kallista suurten tiimien ja riskien takia.

    Äänestä

  • C++ kakkaa!

    Äänestä

  • Ja ne on aivan oikeassa siinä. Olen samaa mieltä siinä. Rustin edut C++:n nähden on kiistattomat. Vaikka olisit kuinka hyvä ja huolellinen ohjelmoija niin C++ on silti kieli, jolla on aina ollut turhan helppo saada aikaan omituisia ja hankalasti selvitettäviä ongelmia aiheuttavia muistinhallintabugeja, joista on sitten aiheutunut silkkoja tietoturva-aukkoja.

    Rust on myös tuossa mielessä mainio kieli.

    T. miksuh

    Äänestä

  • Anonyymi00007 kirjoitti:

    Ja ne on aivan oikeassa siinä. Olen samaa mieltä siinä. Rustin edut C++:n nähden on kiistattomat. Vaikka olisit kuinka hyvä ja huolellinen ohjelmoija niin C++ on silti kieli, jolla on aina ollut turhan helppo saada aikaan omituisia ja hankalasti selvitettäviä ongelmia aiheuttavia muistinhallintabugeja, joista on sitten aiheutunut silkkoja tietoturva-aukkoja.

    Rust on myös tuossa mielessä mainio kieli.

    T. miksuh

    C++:ssa sitten on omat kiistattomat etunsa myös miksi sitä edelleen halutaan käyttää joissakin asioissa.

    Suhtaudun itse näihin työkalujen valintoihin neutraalimmin sillä valintahan ei ole Rust vs C++. Sitä on melkoinen määrä ohjelmointikieliä jotka ehkäisevät muistinhallintabugien tekemistä.

    Minulla ei siis ole mitään Rustia vastaan mutta en kuitenkaan toivoisi porukan seuraavan jonkun muun jalanjäljissä Rustia käyttämään kuin lehmät teuraalle. Työkalu kannattaa edelleen valita tapauskohtaisesti.

    Äänestä

  • Windowsin tunnusmerkit: Vanhanaikainen käyttöliittymä, rajoitettu toimivuus ja hidas suorituskyky.. ja täynnä haitakkeita.

    Äänestä

  • Chromebook 😋 Nam

    Äänestä

  • EN KOODAAN WINKUPASKAAN YHTÄÄN MITÄÄN!

    Äänestä

Ei se C++ mihinkään katoa ainakaan kymmeneen vuoteen vaikka kaikki päättäisivät tänään lopettaa sen käytön.

Äänestä

Kyllähän tosiasia on se, että Rust on aivan syystä noussut ohjelmoijien suosikiksi. Rustissa on paljon todella hyvää ja sen todella soisi syrjäyttävän C ja C++ -kielet ja muut vastaavat. Henkilökohtasesti olen Googlen kanssa samaa mieltä, että Rust -kieltä käyttäen ohjelmoijan elämä helpottuu ja työskentely tehostuu. Lisäksi Rust paikkaa monia C:n ja C++:n heikkouksia, eikä pelkästään muistinhallinnan osalta. Rust on kyllä mainio myös juuri muistinhallinan osalta. C:llä ja C++:lla on turhan helppo synnyttää kaikenlaisia mielenkiintoisia bugeja ja suoranaisia tietoturva-aukkoja muistinhallintaan liittyen, Rust on ratkasu myös siihen.

Toki Rust, kuten mikä tahansa ohjelmointikieli vaatii opettelua. Rustissa on myös joitain äkkiseltään hiukka erikoisia ratkasuja, mutta tarkemmin ajatellen kuitenkin hyviä oivalluksia, jotka olisi pitänyt olla jo C ja C++ -kielissä.

T. miksuh

Äänestä
  • "Kyllähän tosiasia on se, että Rust on aivan syystä noussut ohjelmoijien suosikiksi."

    Itseasiassa ei ole.

    Rust on kyllä kiva kieli mutta on siinä muutama huomio.

    1. Tavaramerkkisekoilu. Keksivät jostain syystä, että sillä ei saa tehdä ohjelmia jonka nimessä on "rust" tai mikään logoa muistuttava. Tarkoittaen sitä, että jos haluaa tehdä vaikka autopelin "My old rusty car game", rikkoisi tavaramerkkiä.

    2. Monista hyvistä puolistaan huolimatta, useimmissa tilanteissa Rustilla softan kirjoittaminen on tiettävästi hitaampaa.

    Näistä huolimatta, näkisin itse Rustin löytävän paikkaansa matalan tason ohjelmoinnista ja sillä helposti kirjoitetaan osia vaikka käyttöjärjestelmistä tai sulautetuista ohjelmista.

    "Rustissa on myös joitain äkkiseltään hiukka erikoisia ratkasuja, mutta tarkemmin ajatellen kuitenkin hyviä oivalluksia, jotka olisi pitänyt olla jo C ja C++ -kielissä."

    C ja C++:n vertaaminen vähän ontuu kun ovat 70-luvun tekniikkaa. Sen aikaisilla laiteresursseilla ohjelmien kääntäminen oli rajoittuneempaa eikä mikä tahansa onnistunut järkevästi.

    Äänestä

  • Tuo muistinhallintaperuste Rustin puolesta ja etenkin C-kieltä vastaan esiintyy taajaan eri yhteyksissä. Peruste on kuitenkin täyttä höpöä.

    Jos verrataan Rustin muistinhallintaa ja C-kielen malloc- ja vastaavia funktioita, verrataan omenoita ja appelsiineja keskenään. Eihän C-kielen muistinhallintaa ole tarkoitettukaan käytettäväksi löysin rantein siten, että muistivuotoa, puskurin ylivuotoa yms. ei tarvitsisi huomioida. Jollei C-koodaaja ole estänyt tällaisten ongelmien syntymistä, syyllinen löytyy peilistä, ei ohjelmointikielestä.

    Tiedän kokemuksesta sanoa, että esimerkiksi C-koodin muistivuodot on erinomaisen helposti ja täydellisesti estettävissä vieläpä siten, että ylimääräistä koodia syntyy vain sovelluksen kehitysversioon.

    Puskurin ylivuoto- ym. ongelmiin on omat ratkaisunsa, esimerkiksi assert() toimii erinomaisesti, kunhan vain näkee tuon pienen vaivan. Standardifunktioiden oheen on monessa tapauksessa lisätty "turvallisia" vastikkeita, joiden käyttöä kannattaa harkita myös. Esimerkiksi kun strcpy() funktion sijaan käyttää funktiota strcpy_s(), voi olla varma, ettei ylivuotoa pääse syntymään.

    C-kielen standardifunktiot toteuttavat dynaamisen allokoinnin bare bone -periaatteella. Se riittääkin melko pitkälle varsinkin PC-ympäristössä. Ahtaammissa ympäristöissä saatetaan tarvita jotakin fiksumpaa, mutta sekään ei ole C-kielen heikkous. Puute on vieläpä hyvin helposti korjattavissa, kunhan sen ensimmäisen kerran jaksaa nähdä hieman vaivaa asian eteen.

    Rust on silti mielenkiintoinen tulokas, jota seuraan tiiviisti. Mutta C-kielen korvaajaksi siitä ei vielä ole varsinkaan sulautetuissa järjestelmissä. Ehkä jonakin päivänä....

    Äänestä

  • Anonyymi00016 kirjoitti:

    Tuo muistinhallintaperuste Rustin puolesta ja etenkin C-kieltä vastaan esiintyy taajaan eri yhteyksissä. Peruste on kuitenkin täyttä höpöä.

    Jos verrataan Rustin muistinhallintaa ja C-kielen malloc- ja vastaavia funktioita, verrataan omenoita ja appelsiineja keskenään. Eihän C-kielen muistinhallintaa ole tarkoitettukaan käytettäväksi löysin rantein siten, että muistivuotoa, puskurin ylivuotoa yms. ei tarvitsisi huomioida. Jollei C-koodaaja ole estänyt tällaisten ongelmien syntymistä, syyllinen löytyy peilistä, ei ohjelmointikielestä.

    Tiedän kokemuksesta sanoa, että esimerkiksi C-koodin muistivuodot on erinomaisen helposti ja täydellisesti estettävissä vieläpä siten, että ylimääräistä koodia syntyy vain sovelluksen kehitysversioon.

    Puskurin ylivuoto- ym. ongelmiin on omat ratkaisunsa, esimerkiksi assert() toimii erinomaisesti, kunhan vain näkee tuon pienen vaivan. Standardifunktioiden oheen on monessa tapauksessa lisätty "turvallisia" vastikkeita, joiden käyttöä kannattaa harkita myös. Esimerkiksi kun strcpy() funktion sijaan käyttää funktiota strcpy_s(), voi olla varma, ettei ylivuotoa pääse syntymään.

    C-kielen standardifunktiot toteuttavat dynaamisen allokoinnin bare bone -periaatteella. Se riittääkin melko pitkälle varsinkin PC-ympäristössä. Ahtaammissa ympäristöissä saatetaan tarvita jotakin fiksumpaa, mutta sekään ei ole C-kielen heikkous. Puute on vieläpä hyvin helposti korjattavissa, kunhan sen ensimmäisen kerran jaksaa nähdä hieman vaivaa asian eteen.

    Rust on silti mielenkiintoinen tulokas, jota seuraan tiiviisti. Mutta C-kielen korvaajaksi siitä ei vielä ole varsinkaan sulautetuissa järjestelmissä. Ehkä jonakin päivänä....

    "Eihän C-kielen muistinhallintaa ole tarkoitettukaan käytettäväksi löysin rantein siten, että muistivuotoa, puskurin ylivuotoa yms. ei tarvitsisi huomioida."

    Etenkin kun C:tä myös käytetään luotettavuuskriittisissä kohteissa joissa ei edes varata muistia vaan käytetään pinoa. Sitä kun on mahdollista muistia varatessa ja vapautettaessa käydä niin, että halutun kokoista aluetta ei saa muistista varattua tai se vie vaikka aikaa ennalta määräämättömän ajan. Siihen on vielä pitkä matka, että Rust on kypsä niihin hommiin.

    Äänestä

C++ on kärsinyt matkan varrella siitä, että sitä on jatkokehitetty liian monta kertaa ja standardeja on nykyään olemassa liikaa. Kirjaimia olisi ollut, joten kieliä voisi olla nimetty jo aiemmin eri nimisiksi ja kehitystä ohjata radikaalimmin toiseen suuntaan. Nykyistä c++:aa ei enää tunnista samaksi kieleksi mitä se oli joskus 2000-luvun taitteessa.
Sen sijaan C:stä en kyllä luopuisi, sillä se on pysynyt lähes samana. Itse asiassa voisi tehdä jaon: Osa porukasta palaa takaisin C:n pariin ja osa opettelee vaikka sitten Rust:ia. Muitakin varteenotettavia vaihtoehtoja on, mutta niitä käytetään nykyään melko pienillä tekniikan alueilla.

Äänestä
  • "Muitakin varteenotettavia vaihtoehtoja on, mutta niitä käytetään nykyään melko pienillä tekniikan alueilla."

    Et nyt taida tietää kuinka monta ohjelmointikieltä löytyy ja kuinka laajasti niitä käytetään.

    Yleisesti ottaen ohjelmointikielet ovat työkaluja ja pyrkivät ratkomaan jotain tarpeita. Ei ohjelmointikielet ole sellaisia, että pitäisi yhdellä kielellä ratkoa kaikki mahdolliset asiat.

    Äänestä

  • Anonyymi00014 kirjoitti:

    "Muitakin varteenotettavia vaihtoehtoja on, mutta niitä käytetään nykyään melko pienillä tekniikan alueilla."

    Et nyt taida tietää kuinka monta ohjelmointikieltä löytyy ja kuinka laajasti niitä käytetään.

    Yleisesti ottaen ohjelmointikielet ovat työkaluja ja pyrkivät ratkomaan jotain tarpeita. Ei ohjelmointikielet ole sellaisia, että pitäisi yhdellä kielellä ratkoa kaikki mahdolliset asiat.

    Mistä arvasit? En todellakaan ole laskenut, kuinka monta ihmistä mitäkin kieltä käyttää - eikä se minua kyllä kiinnostakaan.
    Työkalulla ja ohjelmointikielellä on vissi ero. Ohjelmointikieltä ei ole pakko käyttää aina samalla tavalla: Työkalu on aina sama "vasara", "pora", jne. eikä muuhun taivu. Ohjelmointikieli on ennemminkin työkalun piirustusten valmistustapa.

    Äänestä

  • Anonyymi00017 kirjoitti:

    Mistä arvasit? En todellakaan ole laskenut, kuinka monta ihmistä mitäkin kieltä käyttää - eikä se minua kyllä kiinnostakaan.
    Työkalulla ja ohjelmointikielellä on vissi ero. Ohjelmointikieltä ei ole pakko käyttää aina samalla tavalla: Työkalu on aina sama "vasara", "pora", jne. eikä muuhun taivu. Ohjelmointikieli on ennemminkin työkalun piirustusten valmistustapa.

    "Mistä arvasit? En todellakaan ole laskenut, kuinka monta ihmistä mitäkin kieltä käyttää - eikä se minua kyllä kiinnostakaan."

    Eli et tiedä asiasta yhtään mitään.

    "Ohjelmointikieli on ennemminkin työkalun piirustusten valmistustapa."

    Ohjelmointikieli on työkalu tietokoneohjelman tekemiseen.

    Äänestä

  • Anonyymi00019 kirjoitti:

    "Mistä arvasit? En todellakaan ole laskenut, kuinka monta ihmistä mitäkin kieltä käyttää - eikä se minua kyllä kiinnostakaan."

    Eli et tiedä asiasta yhtään mitään.

    "Ohjelmointikieli on ennemminkin työkalun piirustusten valmistustapa."

    Ohjelmointikieli on työkalu tietokoneohjelman tekemiseen.

    "Ohjelmointikieli on työkalu tietokoneohjelman tekemiseen."
    En nyt usko tuohonkaan. Eri ohjelmointikielet on vähän kuin erilaisia kyniä. Ensin opetellaan käyttämään väriliituja, sitten vesivärejä, lyijykynää jne. Eri kielillä siis asiat hoituvat eri tavalla kuten eri kynilläkin on eri piirtojälki - tästä syystä eri kieliä on ylipäätään olemassa.
    Kieli ei kuitenkaan koskaan voi olla työkalu, koska työkalun määritelmä on, että sillä pystyy tekemään jotakin konkreettista - koodi ei täytä ehtoa.

    Äänestä

Rust=Ruoste. En minä aikanaan halua vaihtaa C++:aa johonkin ruosteiseen kieleen.

Äänestä
  • OLEN TÄSSÄ MIETTINYT
    HMMM! KOLLLIMAATTORI ON HYVIN SAIRAS YKSILÖ! ✝️

    W11 present: Hetki ennen kaatumista.
    Pääosissa, Bugit, Virukset. Paska koodi.
    👾👾👾👾👾👾👾👾👾👾👾👾👾👾

    Äänestä

En minäkään vaihtaisi C++ Rustiin, vaikka ihan aluksi tyrkytetään lähes identtisiä komentoja C++ kanssa osoituksena kuinka helppo RUST olisi omaksua.

Alle kolmen opiskelupäivän sisään tulet huomaamaan ettei sitä helppoa omaksuttavaa riitäkkään sen pitemmälle ja melko suurella varmuudella hylkäät syventymisen siihen.

Äänestä
  • No sitten susta ei ikinä tule ohjelmoijaa. Yksi ohjelmoijalle vaadittavista piirteistä on se, että pitää olla valmis omaksumaan ja oppimaan uutta. Jos siihen ei ole valmis niin sitten ei ole ohjelmoijaksi sopiva. Koko homma kun ylipäätänsä kehittyy niin nopeasti, että toi on ihan välttämätöntä. Jos kolmen päivän rupeama on sulle liikaa jo niin unohda koko homma sitten.

    Äänestä

Ketjusta on poistettu 4 sääntöjenvastaista viestiä.

Kommentoi aloitusta


Anonyymi-ap kirjoitti:

Kokemusten perusteella Googlen edustaja väittää rust-koodikielen olevan kehittäjille nopeampaa käyttää kuin c++-kielen.

Androidin alustatyökalujen ja kirjastojen parissa työskentelevä Google-johtaja Lars Bergstrom kertoi Rust Nation UK -konferenssin lavalla go- ja c++-kielillä koodattujen ohjelmien muuttamisesta rust-projekteiksi. Samaan aikaan Googlella ollaan vaihtamassa javasta kotliniin.

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