C++ och dess framtid att programmera minnessäkert - Hur går utvecklingen?

Permalänk

Nu förstår jag inte riktigt hur det skulle fungera.

En nivåindelning är jag helt med på, även om det på de platser jag jobbat skett naturligt snarare än en uttalad uppdelning kategorier.
Hur hjälper en core, company, target, play-indelning mot att någon i play-kod pillar på privata medlemsvariabler i core-klasser? Bygger det på review-förfarande eller kan ni automatisera detta?

Permalänk
Medlem
Skrivet av Ingetledigtnamn:

Hur hjälper en core, company, target, play-indelning mot att någon i play-kod pillar på privata medlemsvariabler i core-klasser? Bygger det på review-förfarande eller kan ni automatisera detta?

Om utvecklaren har bara lite erfarenhet så räcker det att säga till personen. Medlemsvariabler används bara internt i klassens metoder, inte utanför.

Det borde räcka

Är det fortfarande problem (aldrig varit med om det för C++ utvecklare, det är så grundläggande).

Då kan man förklara med att förändra ett objekts state utanför metoderna kommer förstöra koden direkt. Det är inte ens bra att skriva getter och setter metoder (bl.a. på grund av coupling) även om det kan gå i nödfall. Där går det ändå att lägga in mer kontroll.

Andra språk har mer problem med denna typ av regler men normalt fattar C++ programmerare direkt.

Permalänk
Datavetare
Skrivet av klk:

Använder exempelvis inte ens "private" för medlemsvariabler just av denna orsak. Vill man testa eller har buggar där man måste skriva om lite kod för att se och förstå hur bäst buggen löses så är det jobbigt med dessa hinder. Har flera gånger svurit över extern kod där de satt saker som private men som man skulle använda sig av.

Utvecklare får bara lära sig att inte accessa medlemsvariabler i färdig kod.

Har några gånger haft diskussioner med andra där de frågat "varför använder du inte private" på medlemsvariabler. Brukar då fråga varför jag skulle göra det. Tror aldrig jag fått något bra svar

Onödiga hinder gynnar inte koden

public: del av API
protected: nödvändigt plåster för att OOP inte ska vara allt för horribelt att jobba med /s
private: implementationsdetalj, kan ändras när som helst

Du borde testa C#, där är ovan lite granna som "well, det är vår officiella rekommendation, men om det inte passar är det ju bara gå via reflection så kan du göra precis vad du vill (true story, det fungera på det sättet by design)..."

Fast är man mästare på att hantera minne ska det väl inte vara så svårt att läsa/skriva saker oavsett om de är public eller private, inte så att de ligger i ROM!

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av Yoshman:

Du borde testa C#

Har kodat en del C# men undviker om jag inte måste. C# (likt java) har så mycket designfel. Hur kan man designa språk där allt skall vara objekt.
Datorer gillar inte objekt, de vill ha data i långa rader

Permalänk
Medlem

Tipsar om den här, brukar själv flytta kod till free functions och klassen blir mer av en wrapper. Det beror lite på vad man gör självklart men ofta bra om objekt är enkla utåt.
Istället för att "labba" med public, protected och private

statiska medlemsmetoder föredrar jag själv och få en markering i namnet "*_s"
Exempel:
static void method_s();

Där är det ok att slarva och man kan samtidigt hålla interfacet utåt rent.

Permalänk
Medlem

Läste just den här på linkedin

Citat:

Anatomy of a Rust fanboy.
Chapter 1.

His stack:
- Rust
- Not C.
- Not JS.
- Not TS.
- Not PHP.
- Not Java.
- Certainly not C#.

His Beliefs:
- "Garbage collectors are for the weak."
- "If you’re not fighting the borrow checker daily, are you even coding?"
- "Rust will replace C everywhere… any decade now."
- "I could rewrite that in Rust. No, really, I already started."

His Daily Routine:
- Morning: Reads the latest Rust RFCs instead of the news.
- Afternoon: Refactors an already perfectly safe function *just because*.
- Evening: Lurks on Linkedin, waiting for someone to mention memory safety so he can evangelize Rust.
- Night: Dreams about lifetimes and ownership.

His Social Life:
- Spends 90% of conversations explaining ownership.
- Tries to convince his boss to rewrite the entire codebase in Rust.
- Has an existential crisis when asked to write a quick script in JS or Python.
- Reacts physically to words like "runtime error" or "garbage collection".

Permalänk
Skrivet av klk:

Läste just den här på linkedin

Jag bad Google Gemini 2.0 Flash Thinking producera en linkande för C++ med fokus på manuell minneshantering:

Citat:

Anatomy of a C++ Fanboy (Manual Memory Management Purist Edition).

Chapter 1.

His Stack:
- C++ (the only way to have true control).
- Raw pointers. Lots and lots of raw pointers.
- malloc, free, new, and delete are his best friends.
- Disdain for anything that "abstracts away" memory management.
- Might use custom allocators, but definitely manages the memory himself.
- Build systems are acceptable, but only if they don't try to "help" with memory.

His Beliefs:
- "Smart pointers are for people who don't understand memory."
- "If you can't manage memory manually, you shouldn't be programming in C++."
- "RAII is fine in theory, but true masters control their resources directly."
- "Memory leaks are a sign of sloppy coding, easily avoided with discipline." (He might have a few lingering ones he hasn't found yet).
- "Overhead from smart pointers? Unacceptable! Every byte counts."

His Daily Routine:
- Morning: Reads the documentation for the standard memory allocation functions.
- Afternoon: Carefully reviews code to ensure every new has a corresponding delete, and every allocated block is freed exactly once.
- Evening: Debugs a segmentation fault caused by a double-free or use-after-free error.
- Night: Dreams of meticulously balanced calls to malloc and free.

His Social Life:
- Spends 90% of conversations explaining why raw pointers are superior and how smart pointers introduce unnecessary complexity and overhead.
- Tries to convince his boss that the team's reliance on smart pointers is a sign of weakness and inexperience.
- Scoffs audibly when someone mentions the "safety" of smart pointers.
- Reacts with a lecture on the fundamentals of memory management if he sees someone using a smart pointer in a code review. He might even submit a patch to replace them with raw pointers.

Anmärk löjligheten i båda. Det bästa en programmerare kan skriva och kompilera är ödmjukhet, både mot sig själv och andra.

Mvh,
WKF.

Visa signatur

(V)ulnerabilities
(I)n
(B)asically
(E)verything
Programming

Permalänk
Medlem
Skrivet av klk:

Läste just den här på linkedin

Du läste en av många korkade saker på Linkedin och tänkte att: "korkade saker resonerar med mig så jag ska posta detta i en helt orelaterad tråd"?

Nu trollar du igen... Den enda som evangeliserar här är du och för C++ av alla saker.

Permalänk
Skrivet av WebbkodsFrilansaren:

Jag bad Google Gemini 2.0 Flash Thinking producera en linkande för C++ med fokus på manuell minneshantering:

Det är ju spot-on, nästan så man undrar om Gemini har inspirerats av somliga i den här tråden

Permalänk
Medlem
Skrivet av orp:

Du läste en av många korkade saker på Linkedin och tänkte att: "korkade saker resonerar med mig så jag ska posta detta i en helt orelaterad tråd"?

Nu trollar du igen... Den enda som evangeliserar här är du och för C++ av alla saker.

Tyckte den var rolig så ville muntra upp men det gick kanske inte
Han som postade den är Rust utvecklare, det var alltså humor

Permalänk
Medlem
Skrivet av klk:

Tyckte den var rolig så ville muntra upp men det gick kanske inte
Han som postade den är Rust utvecklare, det var alltså humor

Problemet är att det inte finns något roligt i det, det är ju enbart buzzwords och generalisering. Det är sådant där Linkedin-mumbojumbo som folk postar där för att verka kreativa och har ett behov av att synas. Det är som någon tidigare var inne på så går det inte att avgöra om det är en person eller en content-farm som ligger bakom det.

Jag tror inte att det är en Rust-utvecklare som ligger bakom det utan någon som läst Rust buzzwords.

Permalänk
Medlem
Skrivet av orp:

Problemet är att det inte finns något roligt i det, det är ju enbart buzzwords och generalisering. Det är sådant där Linkedin-mumbojumbo som folk postar där för att verka kreativa och har ett behov av att synas. Det är som någon tidigare var inne på så går det inte att avgöra om det är en person eller en content-farm som ligger bakom det.

Jag tror inte att det är en Rust-utvecklare som ligger bakom det utan någon som läst Rust buzzwords.

Permalänk
Datavetare
Skrivet av WebbkodsFrilansaren:

Jag bad Google Gemini 2.0 Flash Thinking producera en linkande för C++ med fokus på manuell minneshantering:
Anmärk löjligheten i båda. Det bästa en programmerare kan skriva och kompilera är ödmjukhet, både mot sig själv och andra.

Mvh,
WKF.

OK att det är LLM-genererat, men måste ändå vara en rejäl fjäder i hatten om det mest raljanta man kan få till om Go kring samma tema är detta

Klicka för mer information

His Stack:
• Go
• Not Java.
• Definitely not C++.
• Thinks Python is “nice… for scripts.”
• Secretly uses Bash, but only with regret.

His Beliefs:
• “Simplicity is scalable. Complexity is for other people.”
• “If it needs generics, it’s probably overengineered.”
• “Errors are values. Learn it. Love it. Live it.”
• “Goroutines are cheap. Like, really cheap. Go ahead, spawn a thousand.”

His Daily Routine:
• Morning: Reads Go release notes and debates whether sync.Pool is still cool.
• Afternoon: Writes a microservice from scratch. It compiles. It runs. It ships.
• Evening: Gets into a debate about whether interface{} is the root of all evil.
• Night: Falls asleep thinking about how to make his defer usage even cleaner.

His Social Life:
• Tries (and fails) to explain why Go doesn’t need exceptions.
• Calmly suggests rewriting your 1,000-line Python script as a “small Go tool.”
• Chuckles at the phrase “framework fatigue.”
• Starts every project with main.go and finishes before others choose a tech stack.

Visa mer
Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av klk:

<Uppladdad bildlänk>

Ser definitivt ut som en content farm. Namn på Linkedin "Max Wells", Linkedin handle "maxime-montfort" med positionering i Dubai(högrisk) och ett Github-konto som har färre följare än mitt Github-konto ...

Oavsett så har det fortfarande inget med C++ och minnesäkerhet att göra så du kanske borde skapa en tråd "Programmeringshumor"?

Permalänk
Medlem
Skrivet av orp:

Oavsett så har det fortfarande inget med C++ och minnesäkerhet att göra så du kanske borde skapa en tråd "Programmeringshumor"?

Tycker nog ändå att det har en del koppling till tråden även om det var humoristiskt. Han skojar med hur fastlåsta många är i olika tankegångar och hur svårt det då blir att diskutera.

Med det sagt så hade jag en diskussion med annan python utvecklare och vi diskuterade "state", att hantera state i applikationer. Det var inget han direkt tänkte på och därav var koden vi pratade om mycket svår även om den inte var svår för honom (som gjort koden). Problemet var det vanliga med "state" när någon börjat på något och så blir de mer och mer och mer. Olika delar är beroende av samma state och logiken är inte inkapslad.

Kod som för en person kan förstås så länge den ligger inom vad en person kan hålla i huvudet är nära nog omöjlig att förstås av någon annan och det behövs inte mycket kod som är stateberoende innan den är mer eller mindre omöjlig att jobba med.

Det här är visserligen inte något säkerhetsproblem men något som väldigt många projekt drabbats av och gör dem mycket svåra att jobba i.

C/C++ utvecklare tror jag har lättare förstå sådant eftersom de är vana vid större kodmassor och det gör ont att göra fel. Att skriva dålig kod i C/C++ visar sig snabbt eftersom utvecklaren får problem med sin kod och måste lära sig.
Andra språk, där gör det inte lika ont. De kommer mycket längre innan det smärtar och det kan möjligen vara orsak till varför det är svårare att diskutera arkitektur i andra grupper.

I min bok är exempelvis lösningar kring state ett gigantiskt mycket större problem än vad minnet är.

Permalänk
Medlem
Skrivet av klk:

Tycker nog ändå att det har en del koppling till tråden även om det var humoristiskt. Han skojar med hur fastlåsta många är i olika tankegångar och hur svårt det då blir att diskutera.

Det är väl därför humor inte fungerar i den här tråden när det kommer från dig, för du har inte självinsikt nog att inse att det är du som är den fastlåsta här

Permalänk
Medlem
Skrivet av Xeonist:

Det är väl därför humor inte fungerar i den här tråden när det kommer från dig, för du har inte självinsikt nog att inse att det är du som är den fastlåsta här

Vad menar du att jag skulle vara fastlåst i?

Permalänk
Medlem
Skrivet av klk:

Tycker nog ändå att det har en del koppling till tråden även om det var humoristiskt. Han skojar med hur fastlåsta många är i olika tankegångar och hur svårt det då blir att diskutera.

Som @Xeonist var inne på så upplever jag att den enda som är fastlåst i tråden är du. Du är fastlåst i:
- Att evangelisera för C++.
- Fördomar om andra språk.
- Fördomar om utvecklare baserat på språk.
- Felaktiga definitioner av vedertagna begrepp.

Det är väl några punker...

Skrivet av klk:

Med det sagt så hade jag en diskussion med annan python utvecklare och vi diskuterade "state", att hantera state i applikationer. Det var inget han direkt tänkte på och därav var koden vi pratade om mycket svår även om den inte var svår för honom (som gjort koden). Problemet var det vanliga med "state" när någon börjat på något och så blir de mer och mer och mer. Olika delar är beroende av samma state och logiken är inte inkapslad.

Detta är något som fascinerar mig med ditt sätt att tänka (inte på ett bra sätt). Du kommer på ett extraordinärt påstående och istället för att ta ett steg tillbaka och försöka verifiera om det stämmer så drar du till med en anekdot eller postar ett enskilt meddelande från någon som delar din åsikt.

Utan att undersöka något så tror jag med stor sannolikhet att merparten av programmeringsspråk klarar av att hantera state i sina applikationer.

Det som Python-utvecklaren pratar om tolkar jag som ett generellt problem med centrala states och varför man försöker designa ifrån centrala states.

Skrivet av klk:

Det här är visserligen inte något säkerhetsproblem men något som väldigt många projekt drabbats av och gör dem mycket svåra att jobba i.

Än mindre ett problem gällande minnessäkerhet eftersom vi än en gång är tillbaka till att klanka ner på Python-utvecklare...

Skrivet av klk:

C/C++ utvecklare tror jag har lättare förstå sådant eftersom de är vana vid större kodmassor och det gör ont att göra fel. Att skriva dålig kod i C/C++ visar sig snabbt eftersom utvecklaren får problem med sin kod och måste lära sig.
Andra språk, där gör det inte lika ont. De kommer mycket längre innan det smärtar och det kan möjligen vara orsak till varför det är svårare att diskutera arkitektur i andra grupper.

Du svamlar på som vanligt ...

Skrivet av klk:

I min bok är exempelvis lösningar kring state ett gigantiskt mycket större problem än vad minnet är.

Vad är state enligt dig? Jag börjar få känslan av att du har en egen definition här

Permalänk
Medlem

Den här tråden är fan "the gift that keeps on giving". Må den aldrig dö ut!

(Bara en röst från åhörarbänken. Bry er inte om mig!)

Visa signatur

MB: MSI MAG B650 Tomahawk Wifi CPU: AMD Ryzen 5 7600X RAM: G.Skill 32GB (2x16GB) DDR5 6000MHz CL30 GPU: MSI Radeon RX 6650 XT GAMING X 8G SSD: WD Black SN850X 2TB Chassi: be quiet! Silent Base 802 TG PSU: Cooler Master XG850 Platinum 850W Monitor: Alienware AW2723DF

Permalänk
Medlem
Skrivet av orp:

Som @Xeonist var inne på så upplever jag att den enda som är fastlåst i tråden är du. Du är fastlåst i:
- Att evangelisera för C++.
- Fördomar om andra språk.
- Fördomar om utvecklare baserat på språk.
- Felaktiga definitioner av vedertagna begrepp.

Det är väl några punker...

Du måste skämta med mig aprillo eller så tolkar du vad jag säger när du läser vad andra säger om mig (mycket vanligt vid sådana här diskussioner).
C++ är ett kraftfullt språk för de som klarar av det men jag har väl aldrig sagt att det är ett språk som alla skall använda eller ens kommer bli välanvänt? Tror jag tvärtom sagt att endast en mindre del av utvecklarkollektivet kommer använda C++ (isåfall kör fler C men det är oftast för att de sitter i miljöer som kräver det).

- Fördomar om andra språk.
Du menar att jag inte håller med dig eller några andra? Sånt är livet, folk tycker olika. Kan du inte sakligt övertyga någon annan så får du räkna med att ni tycker olika. Samma med mig, de argument som förs upp här är inget problem för de allra flesta vana utvecklare.

- Fördomar om utvecklare baserat på språk.
Se ovan

- Felaktiga definitioner av vedertagna begrepp.
Det har jag säkert, det var länge sedan jag brydde mig om att lära mig olika definitioner. De som kan sådant vet nästan aldrig vad de pratar om ändå

Skrivet av orp:

Än mindre ett problem gällande minnessäkerhet eftersom vi än en gång är tillbaka till att klanka ner på Python-utvecklare...

Du väljer inte python om du är intresserad av att bli skicklig utvecklare. Har inget med att klanka ner, det tar tid att lära sig. De är duktiga på annat och "måste" ha något så de kan producera vad de önskar med datorn

Permalänk
Medlem
Skrivet av klk:

- Felaktiga definitioner av vedertagna begrepp.
Det har jag säkert, det var länge sedan jag brydde mig om att lära mig olika definitioner. De som kan sådant vet nästan aldrig vad de pratar om ändå

Det är sådana här påståenden som gör att många tror att du trollar.
Om jag skriver ut hur det låter så blir det "De som kan sina saker är de som inte kan något. Jag som inte kan något är den enda som faktiskt kan något" Det låter ganska befängt, eftersom det också är det.
Bra utvecklare som vet vad de sysslar med vet också oftast vad olika vedertagna begrepp betyder.
De som vill framstå som bra, alltså de som försöker bevisa något och lägger mer energi på det än att faktiskt bli bra, använder gärna tekniska termer för att skapa illusionen av kunskap utan att förstå vad de pratar om.
Jag säger inte att du är en av dem, men felaktigt användande av många tekniska termer kan absolut ge det intrycket.

Permalänk
Medlem
Skrivet av holycrap:

Det är sådana här påståenden som gör att många tror att du trollar.
Om jag skriver ut hur det låter så blir det "De som kan sina saker är de som inte kan något. Jag som inte kan något är den enda som faktiskt kan något" Det låter ganska befängt, eftersom det också är det.

Ok, jag skulle nog kalla det för någon slags elitism om man kräver att andra skall klara av en hög med ord för att uppfattas som bra utvecklare.
De flesta riktigt duktiga utvecklare jag vet om är ganska introverta och inte alls speciellt verbalt begåvade.

För varje "känd" bokskrivande utvecklare eller kanske någon som gjort sig ett namn i olika forum där utvecklare samlas. För varje sådan går det minst 10 stycken som ofta är bättre men de är inte bekväma med att stå och prata inför folk och det kan ha och göra med att man inte har verbala tallanger

Skrivet av holycrap:

Bra utvecklare som vet vad de sysslar med vet också oftast vad olika vedertagna begrepp betyder.

Menar du betyder som en slags uppslagsbok eller att de förstår tekniken bakom

Permalänk
Medlem
Skrivet av holycrap:

Jag säger inte att du är en av dem, men felaktigt användande av många tekniska termer kan absolut ge det intrycket.

Lungt, tror nog du förstår att jag inte bryr mig för annars skulle jag aldrig ge mig in i en sådan här varggrop Tycker det tvärtom är ganska kul, än roligare i verkligheten.

Programmering är ett av de få områden där man ganska blixtsnabbt (kanske någon timma) kan bevisa vem som kan något.

Sitter jag (förlåt skrytet) i möte så hör jag nästan omedelbart när någon inte förstår vad den pratar om. Självklart är det känsligt men beter sig personen lite drygt så är det lätt att plocka ner vederbörande med någon eller några frågor där de får bekänna färg.

Permalänk
Skrivet av klk:

Vad menar du att jag skulle vara fastlåst i?

Jag tycker mig ha anat ett tema i dina inlägg: C++ är bättre än alla andra språk. Programmerare som använder C++ är bättre än de som använder andra språk. Det finns ingen hejd på de positiva egenskaperna du tillskriver C++ och negativa egenskaper du tillskriver andra språk, oavsett om det är sant eller inte.

Jag läste en artikel nyligen där det stod att man skulle skilja på vad man vet, vad man tror och vad man tycker. Jag tror att din debattstil skulle uppfattas som mindre aggressiv om du separerade fakta från tyckande och var tydlig med att det mesta är dina åsikter och ibland rena killgissningar.

Skrivet av klk:

C/C++ utvecklare tror jag har lättare förstå sådant eftersom de är vana vid större kodmassor och det gör ont att göra fel. Att skriva dålig kod i C/C++ visar sig snabbt eftersom utvecklaren får problem med sin kod och måste lära sig.
Andra språk, där gör det inte lika ont. De kommer mycket längre innan det smärtar och det kan möjligen vara orsak till varför det är svårare att diskutera arkitektur i andra grupper.

Det här är ett lite ovanligt uttalande från dig. Du skriver både att du tror och du har en motivering till varför du tror det. Bra!

Men sedan börjar du tillskriva C++-programmerare och andra grupper egenskaper och jag undrar

  • Är average Joe som programmerar C++ mer van att hantera stora kodbaser? Det finns stora projekt i C++, ingen tvekan om det, men gör det att C++-programmerare i allmänhet hanterar större kodmängder än de som jobbar i andra språk? Kanske inte, men avsaknaden av ramverk som Django, Spring och React tvingar nog C++-programmeraren att göra mer "för hand", så de kanske jobbar med mer egenskriven kod. Så jag får nog köpa argumentet att de är mer vana att jobba med en större kodbas, men är bristen på hjälpande ramverk en bra sak?

  • Varför gör det mindre ont att skriva dålig kod i andra språk? Vad lägger du i begreppet "dålig kod"? Är det minneshanteringen som spökar igen? Om man nu har problem att göra en bra lösning, oavsett språk, är det då en bra idé att lägga extra sten på bördan genom att välja ett språk som inte har automatisk minneshantering? Den oerfarne C++-utvecklaren får ju bara ännu fler möjligheter att skjuta sig i foten. Handlar det om dålig design/arkitektur så ser jag ingen som helst skillnad på om de gör sina nybörjarmisstag i C++ eller i något annat språk

Permalänk
Medlem
Skrivet av klk:

Ok, jag skulle nog kalla det för någon slags elitism om man kräver att andra skall klara av en hög med ord för att uppfattas som bra utvecklare.
De flesta riktigt duktiga utvecklare jag vet om är ganska introverta och inte alls speciellt verbalt begåvade.

För varje "känd" bokskrivande utvecklare eller kanske någon som gjort sig ett namn i olika forum där utvecklare samlas. För varje sådan går det minst 10 stycken som ofta är bättre men de är inte bekväma med att stå och prata inför folk och det kan ha och göra med att man inte har verbala tallanger

Menar du betyder som en slags uppslagsbok eller att de förstår tekniken bakom

Jag är inte heller bekväm med att prata inför folk. Antar att jag faller i "introvert"-kvadranten av spektrumet.
Det är dock ovidkommande.

Min erfarenhet av umgänge med andra utvecklare är att de som är duktiga och kan tekniken oftast kan terminologin också.

Permalänk
Medlem
Skrivet av klk:

Sitter jag (förlåt skrytet) i möte så hör jag nästan omedelbart när någon inte förstår vad den pratar om. Självklart är det känsligt men beter sig personen lite drygt så är det lätt att plocka ner vederbörande med någon eller några frågor där de får bekänna färg.

Rent generellt så är väl ett sätt att upptäcka att någon inte förstår vad de pratar om, vare sig det rör utveckling eller något annat, om de säger ord och sedan visar att de inte förstår deras innebörd? Använder tekniska termer fel? En bra utvecklare är inte bara en person som skriver bra kod (vad det nu innebär) utan en som också kan kommunicera väl kring sin, eller andras, kod. Då krävs också att man kan använda rätt terminologi.

grammatik
Permalänk
Skrivet av klk:

Ok, jag skulle nog kalla det för någon slags elitism om man kräver att andra skall klara av en hög med ord för att uppfattas som bra utvecklare.

Om man hävdar att utvecklare i andra språk är sämre för att de inte lärt sig minneshantering i livets hårda skola, att de inte förstår hur CPUer, cachar, prefetching och optimeringar fungerar och att det inte går att diskutera med programmerare i andra språk, osar det lite elitism?

Permalänk
Medlem
Skrivet av Ingetledigtnamn:

Jag tycker mig ha anat ett tema i dina inlägg: C++ är bättre än alla andra språk.

Korrekt, vad jag vet så är inget annat språk så flexibelt och har så mycket möjligheter för de som önskar möjligheterna och det är oftast de som kan.

Skrivet av Ingetledigtnamn:

Det finns ingen hejd på de positiva egenskaperna du tillskriver C++ och negativa egenskaper du tillskriver andra språk, oavsett om det är sant eller inte.

Hur tänker du när du menar negativa saker?
Vad jag vet så är det riktigt "störande" med andra språk om man är van vid friheten i C/C++. Det blir jobbigt att inte kunna göra som man vill. Och samtliga andra språk har ofta olika hinder inbyggda. Så det jag menar med sämre är just dessa hinder
Men bara för att jag tycker de är sämre så betyder inte det att andra har samma problem med det.

Däremot vet jag att lösningar kan se ganska lustiga ut när utvecklare måste gå runt hindren för att få till det eller som anpassar man sig.

De riktigt kassa språken, alltså där jag anser att de faktiskt är dåliga är java och C# (framförallt java). Dessa språk har så mycket designfel i sig, kanske inget de som jobbar med språken tänker på men de finns där i alla fall.

Rust tycker jag inte är dåligt, det är riktigt smart gjort och jag tror det språket kommer plocka mycket från java och C# men jag tror det kommer komma varianter av rust som kanske blir tuffa konkurrenter. Orsaken till att jag tror det beror på hur de valt att benämna en del i språket. Att det är så mycket som är förkortat. Typiskt för linux nördar att älska sådant och man kan tydligt se att språket är gjort av grupper därifrån.

zig är intressant och har potential av det lilla jag sett, det är väldigt kreativt språk. En sak som passar "skapare"

Permalänk
Medlem
Skrivet av Ingetledigtnamn:

Om man hävdar att utvecklare i andra språk är sämre för att de inte lärt sig minneshantering i livets hårda skola, att de inte förstår hur CPUer, cachar, prefetching och optimeringar fungerar och att det inte går att diskutera med programmerare i andra språk, osar det lite elitism?

Vi lägger olika värdering i det.

För mig är det inget konstigt med sämre eller bättre men det är inte samma som jag tolkar elitism. Det finns ju gott om juniora och seniora utvecklare, ett mått på sämre och bättre.
Elitism för mig är att använda icke relevant/egenskaper för att vara bättre. Alltså saker som inte har något och göra med vad vederbörande är bra på

Permalänk
Medlem
Skrivet av klk:

Du måste skämta med mig aprillo eller så tolkar du vad jag säger när du läser vad andra säger om mig (mycket vanligt vid sådana här diskussioner).
C++ är ett kraftfullt språk för de som klarar av det men jag har väl aldrig sagt att det är ett språk som alla skall använda eller ens kommer bli välanvänt? Tror jag tvärtom sagt att endast en mindre del av utvecklarkollektivet kommer använda C++ (isåfall kör fler C men det är oftast för att de sitter i miljöer som kräver det).

Det är ganska tydligt att du inte läst 90% av mina svar de senaste sidorna.

Skrivet av klk:

- Fördomar om andra språk.
Du menar att jag inte håller med dig eller några andra? Sånt är livet, folk tycker olika. Kan du inte sakligt övertyga någon annan så får du räkna med att ni tycker olika. Samma med mig, de argument som förs upp här är inget problem för de allra flesta vana utvecklare.

- Fördomar om utvecklare baserat på språk.
Se ovan

Nej det är inte för att vi har meningsskiljaktighet kring språken som att vissa föredrar functional över procedural eller oop.

Dina och mina åsikter skiljer sig för att du har fördomar om språken och dess utövare oavsett fakta. Här är några citat från dig genom tråden:

Skrivet av klk:

Python kodare brukar skriva kod för icke programmerare, Python är egentligen ett språk för de som inte tycker om att programmera men ändå måste få något gjort. Python kod som inte är dokumenterad är bland det mest svårlästa som finns även om det är så lätt så att en icke-programmerare kan skriva kod

Python-kodare per definition programmerar. Koden som Python-utvecklare skriver är för sig själv och andra utvecklare och att hävda att det inte skulle vara till för programmerare är att insinuera att dom är mindre programmerare än du.

Skrivet av klk:

Testade nyligen det här biblioteket och där finns det felet. Nästan 3 tusen stjärnmarkeringar
https://github.com/p-ranav/argparse
Gör man exakt så som det är dokumenterat så fungerar det men försöker man något annat så får man vara beredd på att det smäller. Tror det är någon Python utvecklare som lekt lite med C++

Dålig C++-kod enligt dig måste vara skriven av en Python-utvecklare. Du insinuerar än en gång att Python-utvecklare är mindre programmerare än dom som skriver C++.

Skrivet av klk:

Det som är lite kul med videon är just detta med att RUST programmerare hela tiden beskriver hur mycket bättre språket är än allt annat.

Jag tror att många som är vana vid C++ reagerar på när utvecklare i rust kodar för att de inte lärt sig designa kod. Något som man tvingas göra i C++ om man inte vill trassla till minneshanteringen (då gör det ont).

- Du påstår att Rust-programmerare hela tiden hävdar sitt språk. Detta är exakt vad du gjort genom tråden för C++.
- Du antar att bara för man kodar i Rust så kan man inte designa kod. Du hävdar än en gång att C++-utvecklare är någon form av superior människa.

Skrivet av klk:

Python har inga ambitioner av att bli ett språk man gör större system med men har det där med att det dräller av komponenter, där är poängen med att snabbt slänga ihop något, behöver de ändra så skriv nytt. Där är det ok med komponenter som plötsligt inte fungerar. De skriver nytt och tanken är inte att skriva kod som går att underhålla.

Du lägger prestige vid stora saker som stora kodmängder, många tabeller i databaser och här större system. Du påstår att Python inte har ambitioner att nå upp i din prestigeklassning. Du påstår även att saker som är viktiga för programmering generellt som maintainability inte är viktigt för Python. Du insinuerar än en gång att Python inte är ett lika viktigt programmeringsspråk.

Skrivet av klk:

Det är massor syntactic sugar som C saknar ja, men C kod är jättelätt att läsa. Jag förstår absolut de som ogillar C++ framför C. Att läsa C kod och man förstår nära nog exakt vad som händer. C går abstrahera något otroligt och gömma saker så koden blir mer eller mindre omöjlig att följa. Är inte jättesvårt att skriva smart C++ kod så annan deklarativ C++ slaktar python i abstraktionsnivå.

Du hävdar att C++ skulle ha bättre abstraktionsnivåer och därför "slakta" python i abstraktionsnivåer. Du hävdar än en gång att C++ är bättre än Python baserat på något så tramsigt som mängden abstraktionsnivåer...

Skrivet av klk:

Och hade samma kod skrivits i java eller kanske python hade den varit ännu enklare. Så varför går inte alla över till python där man knappt behöver vara programmerare för att skriva kod?

Du hävdar än en gång att man inte måste ha samma färdigheter som programmerare för att koda Python och att det därför skulle vara att språk för sämre programmerare.

Skrivet av klk:

Du väljer inte python om du är intresserad av att bli skicklig utvecklare. Har inget med att klanka ner, det tar tid att lära sig. De är duktiga på annat och "måste" ha något så de kan producera vad de önskar med datorn

Än en gång ett riktigt korkat påstående. Skicklig utvecklare enligt mig är någon som kan språket som dom kodar i, introducerar få buggar, undviker onödigt komplexitet och optimerar där det behövs.

Fall 1: Personen kodar i Python och:
- Kan Pythons många finesser.
- Introducera få buggar.
- Undviker onödig komplexitet.
- Optimerar där det behövs optimering.

Fall 2: Personen kodar i C++ och:
- Kan inte C++ många finesser.
- Introducera flertalet buggar.
- Skriver onödigt komplex kod.
- Optimerar inte där det behövs.

Då är fall 1 en skicklig utvecklare enl. mig och fall 2 är inte en skicklig utvecklare enl. mig. Detta är helt oberoende av programmeringsspråk.

Bara för att man kodar i Python så betyder det inte att man är helt bortabstraherad från alla datorkoncept som concurrency, nätverk, filsystem osv...

Skrivet av klk:

- Felaktiga definitioner av vedertagna begrepp.
Det har jag säkert, det var länge sedan jag brydde mig om att lära mig olika definitioner. De som kan sådant vet nästan aldrig vad de pratar om ändå

Problemet är att du använder dig av vedertagna definitioner på helt fel sätt, det får det att låta som att du inte kan vad du pratar om.

Eftersom du undviker frågan "Vad är state enligt dig?".