Vinnaren i pepparkakshustävlingen!
2023-05-28, 18:22
  #1
Medlem
Ett stort problem med C++ är att det är inte ett minnessäkert programmeringsspråk. För att lösa det där med minnessäkerheten så har skaparen av C++, Bjarne Stroustrup, har sagt i en video här att C++ kan inte förenklas som språk, men C++ kan förenklas när det kommer till användning.

Bjarne Stroustrup säger i videon att ofta när man programmerar i C++ så bryter man mot massa regler. Då finns det externa program som analyserar C++ koden som man har skrivit och avgör vilka regler man har brutit mot. Problemet är att dessa program är externa program, inte något som ingår i C++ standarden. Något som Bjarne Stroustrup vill implementera.

Han kallar det för "Statisk analyserare". En sådan kan analysera om man har bryter mot minnessäkerheten t.ex. man har minnesläckor i sin C++ kod.

Då är frågan

Denna typ av fråga har varit på tapeten under många år. Programmeringsspråket Rust tar just nu många C++ utvecklares uppmärksamhet för att Rust har denna möjlighet att låta kompilatorn analysera Rust-koden och sedan skriva ut vart felen är.

Kommer en sådan analyserare bli inkluderad i C++ i framtiden?
Citera
2023-05-30, 13:04
  #2
Medlem
Jadu.

Är väl utvecklarnas egna ansvar att införa kodanalysverktyg i sin egna utvecklingskedja, tänker jag.

Som du skriver, så finns det redan idag massa verktyg, och tror inte att det hade blivit någon skillnad om man integrerade det i C++ standarden. Folk hade förmodligen bara struntat i resultatet, stängt av varningarna osv..
Citera
2023-05-30, 18:33
  #3
Medlem
Den som lever får se... om Bjarne säger det så kan det säkert materialiseras.
Vore väl inte helt fel.

Men är man inte hyffsat säker om man enbart använder sig av smart pointers? Skippar råa pekare och heap-allokeringar med 'new' ?
Citera
2023-06-01, 14:03
  #4
Medlem
Pepsthecats avatar
Citat:
Ursprungligen postat av oxis
Jadu.

Är väl utvecklarnas egna ansvar att införa kodanalysverktyg i sin egna utvecklingskedja, tänker jag.

Som du skriver, så finns det redan idag massa verktyg, och tror inte att det hade blivit någon skillnad om man integrerade det i C++ standarden. Folk hade förmodligen bara struntat i resultatet, stängt av varningarna osv..
Man kan införa statisk analys eller core guidelines, men att tro att det gör någon skillnad är naivt. Det är upp till utvecklaren att inte "cut corners" och vara rigorösa i sin kodning. Men av det jag har sett så är det oftast inte så. Rust kommer inte kunna nå samma användarbas som C++ har idag oavsett hur bra Rust blir. De flesta företag är inrutade med C++ och de måste se till att bästa praxis följs.
Citera
2023-06-06, 19:25
  #5
Medlem
Citat:
Ursprungligen postat av G.Zamani
Då är frågan

Denna typ av fråga har varit på tapeten under många år. Programmeringsspråket Rust tar just nu många C++ utvecklares uppmärksamhet för att Rust har denna möjlighet att låta kompilatorn analysera Rust-koden och sedan skriva ut vart felen är.

Kommer en sådan analyserare bli inkluderad i C++ i framtiden?

För duktiga programmerare (ursäkta om någon känner sig kränkt) är minnet inte något större problem. Tänk på att nästan allt är skrivet i C++ om du går ner i programs kärnfunktionalitet.
Utvecklar en frontendprogrammerare i Javascript är det egentligen inte javascript utan det är en javascript tolk skriven i C++ som omvandlar javascript till maskinkodsinstruktioner.

Det har hela tiden funnits programmerare som börjat koda C++ men inser att de är för svårt och letar sig till andra språk där det finns bättre skydd. Friheten i C++ gör självklart att man också kan göra fel. Kör du en formel-1 bil måste du lära dig. Kör du en volvo kan du nästan somna bakom ratten

C++ kommer fortsätta dominera, inte på det viset att majoriteten av utvecklare sitter i språket. Mer att duktiga kodare i C++ blir så extremt produktiva och skapar mycket som väldigt många andra använder.
Citera
2023-06-09, 19:45
  #6
Medlem
Citat:
Ursprungligen postat av Pepsthecat
Man kan införa statisk analys eller core guidelines, men att tro att det gör någon skillnad är naivt. Det är upp till utvecklaren att inte "cut corners" och vara rigorösa i sin kodning. Men av det jag har sett så är det oftast inte så. Rust kommer inte kunna nå samma användarbas som C++ har idag oavsett hur bra Rust blir. De flesta företag är inrutade med C++ och de måste se till att bästa praxis följs.
Jo exakt.
Hos oss så har vi massa olika kodanalysprogram, som hindrar att vi kan committa in till vår master branch om någon regel bryts.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback