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

Permalänk
Datavetare
Skrivet av klk:

"snabbaste" beror helt på vad du mäter. ARM är inte gjord för att vara snabb, den är gjord för att vara energieffektiv. ARM har inte jobbat på att få samma simd prestanda som x86 gjort.

Apple är också de som ligger bakom LLVM för att kunna kompilera upp kod till deras platform och jag kan tänka mig att de anpassat så den kompilatorn är duktig på att optimera för deras processor.

Apple som har så slutet system kan också leka mer för att få till siffrorna.

När vi väljer CPU i molnet så är det uteslutande x86, beräkningsintesiva och/eller att mycket data processas är snabbast där.

Hade varit intressant och jämföra kod kompilerad med GCC eller LLVM för apple, det skall gå men apple tror jag inte supportar GCC. I alla fall så de som sitter med apple datorer har i princip uteslutande LLVM för att kompilera

Nu hävdar du saker som du har noll koll på igen

➜ ~ gcc-14 --version gcc-14 (Homebrew GCC 14.2.0_1) 14.2.0 Copyright (C) 2024 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ➜ ~ hostinfo Mach kernel version: Darwin Kernel Version 24.3.0: Thu Jan 2 20:24:23 PST 2025; root:xnu-11215.81.4~3/RELEASE_ARM64_T6031 Kernel configured for up to 16 processors. 16 processors are physically available. 16 processors are logically available. Processor type: arm64e (ARM64E) Processors active: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Primary memory available: 128.00 gigabytes Default processor set: 941 tasks, 6162 threads, 16 processors Load average: 2.04, Mach factor: 13.94

Räknat per kärna har M4 högsta SpecINT och SpecFP du kan hitta, d.v.s. på de-facto standarden för server CPUer är världens just nu snabbaste CPU en mobil CPU...

Har "bara" en M3 Max, den kompilerar det halvstora C#-projekt jag sitter med nu något _snabbare_ jämfört med i9-14900k när båda kör Windows11+Visual Studio 2022. M3:an har då ändå overhead:en att Windows körs virtualiserat (en M4 är ca 25 % snabbare än M3)! Är total bullshit att det är någon MacOS-magi som skulle göra det snabbt (det är något snabbare i MacOS, men det beror primärt på att man inte kör virtualiserat + vissa saker som 16 kB pages går inte använda i Windows).

Under 2024 växte omsättningen för ARM64-baserade servers med runt 250 %. Alla "hyperscalers" har idag egna ARM64 servers. Så åter igen ett uttalande som i någon mån var rätt för 10-20 år sedan, men helt galet 2025.

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:

Nu hävdar du saker som du har noll koll på igen

Ok men att ens diskutera den processorn är meningslöst eftersom Apple inte tillåter deras hårdvara i andra märken. De är ett slutet system och apple fanboys är helt omöjliga. Allt apple gör är "bäst"

Permalänk
Medlem
Skrivet av klk:

Ok men att ens diskutera den processorn är meningslöst eftersom Apple inte tillåter deras hårdvara i andra märken. De är ett slutet system och apple fanboys är helt omöjliga. Allt apple gör är "bäst"

Detta är troligen det roligaste inlägget jag läst på forumet. LOL!

Permalänk
Skrivet av klk:

Ja det där j***a E-cores kanske gör det men inte på normala kärnor (inte kollat).

E-cores är en extremt korkad lösning från Intel när det skrivs kod som behöver prestanda, begriper inte hur de tänkte. Kod måste anpassas så de inte lägger jobb på de här för då är det sirap i datorn.

E-cores är för throughput, inte max-prestanda. Det handlar om att maximera compute per watt istället för det omvända.

Men det händer saker på den fronten också. Om du är nyfiken kan du kolla på Chips and Cheese artikel om Skymont. Domen var inte riktigt lika snabb som Raptor Lake, men bra nära.

Permalänk
Medlem
Skrivet av Rågren:

Detta är troligen det roligaste inlägget jag läst på forumet. LOL!

Mitt eller ditt
Tror knappt det finns en känsligare grupp än de som gillar apple. Monopol förstör för oss alla men de blundar för det

Permalänk
Medlem
Skrivet av klk:

Tror knappt det finns en känsligare grupp än de som gillar apple. Monopol förstör för oss alla men de blundar för det

Antar att du har en egen definition av monopol också?

Permalänk
Medlem
Skrivet av Ingetledigtnamn:

E-cores är för throughput, inte max-prestanda. Det handlar om att maximera compute per watt istället för det omvända.

Ja men det finns exempelvis mjukvara som bara räknar antalet kärnor och försöker skala efter det och när koden skrevs så var kärnor likvärdiga. Plötsligt kan den koden få problem.

Skrivet av Ingetledigtnamn:

Men det händer saker på den fronten också. Om du är nyfiken kan du kolla på Chips and Cheese artikel om Skymont. Domen var inte riktigt lika snabb som Raptor Lake, men bra nära.

Tack! bra om de försöker jobba bort det

Permalänk
Datavetare

Plötsligt händer det! Lite information som faktiskt är on-topic!

"A brief and incomplete comparison of memory corruption detection tools"
https://devblogs.microsoft.com/oldnewthing/20250124-00/?p=110...

Känner till allt som nämns förutom Time Travel Debugging. Någon som använt det?

Specifik fråga: går det att step:a baklänges? Finns en del sådana debugger, fast de är typiskt svindyra propretära historier.

GDB har i.o.f.s. (begränsat till single-thread applikationer) stöd för att steppa baklänges, något som är otroligt värdefullt.

Och mer C++-nyheter från Bjarne
"C++: Balancing Legacy, Safety, and Innovation"
https://www.universitycube.net/news/bjarne-str-03-08-2025--84...

Det är lite moll-toner när han avslutar med

"The stakes, as he makes clear, are nothing less than the future of C++ itself."

Vad han ändå pekar på är både värdet i C++, men samtidigt det som gör det än svårare att rätta till de problem man nu har

"What Stroustrup proposes is a tightrope walk between modernity and legacy, innovation and stability. C++ faces the unique challenge of being deeply entrenched; it’s not merely a language but an ecosystem that underpins trillions of dollars worth of global infrastructure. Banks, telecommunications companies, industrial control systems, and even the Mars rover rely on C++ to function."

Sen en liten rättelse: Mars rover har i alla fall inget C++ i de kritiska delar, det har jag 1:a handsinfo på. De är 100 % skrivna i C certifierad enligt DO-178C.

Nästan lite för bra för att vara sant, så lite off-topic också...

Skrivet av klk:

Ok men att ens diskutera den processorn är meningslöst eftersom Apple inte tillåter deras hårdvara i andra märken. De är ett slutet system och apple fanboys är helt omöjliga. Allt apple gör är "bäst"

Fråga: är "apple fanboys" mer eller mindre omöjliga idag när det faktiskt är objektivt sant att de är "bäst" (om bäst==har snabbaste CPU), eller var de mer omöjliga på PowerPC-tiden när det eventuellt fanns något skumt Photoshop filter som kördes lite snabbare där?

Och visst är HW begränsad, men var har Microsoft publicerat källkoden för Windows-kärnan? För MacOS hittar man den här
https://github.com/apple-oss-distributions/xnu

Håller ändå delvis med: körde Linux som primärt OS under ~15 år tids, det både på jobbet och hemma. Men hatar inte Apple mer än att det fick bli dem när de släppte M-serien, den är och har i alla fall till nu fortsatt vara den objektivt bästa CPU som pengar kan köpa för det jag primärt använder dator till.

Men finns hopp!!! Apple leder inte lägre perf/Hz (något de gjort med rejäl marginal från 2H 2020). Arm tog över den staffetpinnen i slutet av 2024 med Cortex X925 och allt pekar på att det kommer först en Nvidia CPU designad för Linux under Q2 i år och sedan en till designad för Windows under 2H i år

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:

Specifik fråga: går det att step:a baklänges? Finns en del sådana debugger, fast de är typiskt svindyra propretära historier.

Visual Studio har den funktionen, mycket användbar

Går att backa tillbaka, inte alltid och man får lära sig lite vad som går och inte går.

Permalänk
Medlem
Skrivet av Yoshman:

Nästan lite för bra för att vara sant, så lite off-topic också...
Fråga: är "apple fanboys" mer eller mindre omöjliga idag när det faktiskt är objektivt sant att de är "bäst" (om bäst==har snabbaste CPU), eller var de mer omöjliga på PowerPC-tiden när det eventuellt fanns något skumt Photoshop filter som kördes lite snabbare där?

Apple badar i pengar, vad de säljer är mycket dyrt. Det är många föräldrar som svurit över att deras barn prompt måste ha en apple mobil som är mer än dubbelt så dyr.
Att den är "snabb" spelar ingen roll då det är sällsynt att det går att använda en apple i situationer där det krävs prestanda. Mest utvecklare som gillar datorn och vill trimma sin miljö och tycker det är kul att kasta bort pengar

Eftersom företaget agerar som de gör och gjort tvivlar jag på att någon ens funderar över att satsa på plattformen om de önskar +10 års livslängd eller mer. Går inte lita på monopol.

De andra är inte långt efter men apple är värst.

Förhoppningsvis kan det hända saker här. Personligen anser jag man bör vara orolig för linux för det operativet är mycket viktigt att de inte slukas. Det hade varit mycket bättre om Rust gänget som vill in i linux hade forkat och gjort helt egna varianter. Jag tror risken är stor att om rust gräver djupare in i linux, att de bästa utvecklarna där nu tröttnar. De har inga problem och hitta nya intressantare uppgifter.

Alla jättar inom IT ägs av samma grupper så de håller samman. Ägare skyddar sina ägodelar och de krossade bl.a. Nokia och dyker det upp hot så antingen köper de upp eller infiltrerar företagen.

C++ är inget språk de kontrollerar (än) och viktigt att det framförallt finns flera kompilatorer.

Permalänk
Medlem
Skrivet av klk:

Förhoppningsvis kan det hända saker här. Personligen anser jag man bör vara orolig för linux för det operativet är mycket viktigt att de inte slukas. Det hade varit mycket bättre om Rust gänget som vill in i linux hade forkat och gjort helt egna varianter. Jag tror risken är stor att om rust gräver djupare in i linux, att de bästa utvecklarna där nu tröttnar. De har inga problem och hitta nya intressantare uppgifter.

Rust-gänget ... du får det att låta som att en gruppering med folk som enbart kodar Rust knackar på Torvalds dörr och säger "Vi vill in i Linux".

Du tror inte att folk som redan arbetar med kärnan identifierat att Rust löser en hel del vardagliga problem och ser en vinst med att successivt byta språk?

Vad gör det om några få maintainers väljer att hoppa av sin maintainer-roll för att dom inte vill hantera en flerspråksprojekt?
Inga maintainers kommer vara i projektet för evigt och dom kommer behöva bytas ut för eller senare. Jag anser inte att man är en av "de bästa utvecklarna" om man tröttnar på sin maintainer-roll om det finns ett annat språk i samma projekt.

Permalänk
Medlem
Skrivet av klk:

Java är sämre än C# eftersom de tvingar fram exceptions regler i några sammanhang.

Men allt är "objekt" utan att följa objektorientering eftersom objekt skickas som referenser. Skall du skicka objekten (kopior) så behöver man trixa.
Det här är värstingen för det är ingen liten miss.

Förutom det så tvingar de fram tilldelning. Och har olika logik kring primitiva typer och extended types (klasser).

Har för mig att java inte har unsigned int heller, eller kan ha fel här.

Sedan har vi detta med att språket tillåts göra saker under ytan som utvecklaren inte vet om, tror visserligen inte det är ett problem för javautvecklare men det är absolut tabu för C/C++ kodare.

C# har också allt i objekt likt java, de har inte javas tvingande exeptions men C# har lagt på "godis" som lockar dålig kod. Exempelvis är det vanligt med getters och setters i C# för det är så lätt. DTO objekt är också vanligt då det finns inbyggd funktionalitet för det i utvecklingsmiljön.

Språken kommer också med gigantiska bibliotek man skall använda sig av, kanske inte skall klandra språksyntaxen för det men gillar det inte

Tack för att du delar dina åsikter.
Eftersom det är åsikter ska jag inte försöka övertyga dig om att du har fel.
Har några reflektioner bara och en och annan följdfråga.

Vilka är de gigantiska biblioteken det kommer med? Menar du JRE?
JREn är ju en abstraktion av OS och HW (abstraktion är ju bra). En virtualisering.
Att önska bort den är som att önska bort Linux eller vad man nu kör. Så om man tycker att man inte ska använda dessa bibliotek så gör man säkert inga systemanrop eller använder några existerande drivrutiner heller när man man kodar i andra språk. Bare metal är det som gäller.

Det går väl dessutom att bygga anpassade RE som skalar bort allt ens applikation inte behöver så man kan komma ner i storlek rätt bra. Nej, inte som en native applikation givetvis, men det är inte syftet heller.

Är det att inte "följa objektorientering" om man skickar referenser?
Då får man väl sluta använda pekare i C++ också och bara skicka kopior av allt.

Vad är fel med getters och setters? Jag vet att du uttryckt någonstans att du inte använder privata fält. Jag delar inte uppfattningen att det är bra kod. Jag tror på inkapsling. Då blir getters/setters det publika APIet.

Vill man ha renare DTO finns det ju också records.

Permalänk
Medlem
Skrivet av holycrap:

Vilka är de gigantiska biblioteken det kommer med? Menar du JRE?
JREn är ju en abstraktion av OS och HW (abstraktion är ju bra). En virtualisering.
Att önska bort den är som att önska bort Linux eller vad man nu kör. Så om man tycker att man inte ska använda dessa bibliotek så gör man säkert inga systemanrop eller använder några existerande drivrutiner heller när man man kodar i andra språk. Bare metal är det som gäller.

Det är verkligen inte som att önska bort linux (eller windows om man kör där)

Skrivet av holycrap:

Är det att inte "följa objektorientering" om man skickar referenser?
Då får man väl sluta använda pekare i C++ också och bara skicka kopior av allt.

I C++ som är ett av de få riktiga objektorienterade språken kan du välja hur du vill skicka data. Default är alltid by value, alltså en kopia. Det är så det borde fungera i andra objektorienterade språk. Du skickar by value för alla primitiva typer,
Det går att skicka referens/pekare självklart men då måste utvecklaren beskriva det.
Skall du skicka by value för klasser i java eller C# så är det genast jobbigare kod.

Skrivet av holycrap:

Vad är fel med getters och setters? Jag vet att du uttryckt någonstans att du inte använder privata fält. Jag delar inte uppfattningen att det är bra kod. Jag tror på inkapsling. Då blir getters/setters det publika APIet.

"coupling", felet med getters och setters är coupling och är en av de värre "code smells" utvecklare kan trassla in sig i.

Skrivs kod som "kopplar" samman funktionalitet och att utvecklaren inte vet hur man hanterar state kommer utvecklaren inte speciellt långt om utvecklaren skall designa arkitekturen själv. Risken är att utvecklaren knappt når 10.000 rader kod innan det är ett trassel som måste slängas.

Att det ändå går göra saker i exempelvis C# är att det ofta är web serverar. Där designas koden efter varje request så det blir nästan som små isolerade delar i koden.

Skrivet av holycrap:

Vill man ha renare DTO finns det ju också records.

Problemet med DTO är inte så mycket renhet utan att det producerar mängder med kod. Det är inte en lösning som abstraherar funktionalitet. Alltså det är inte en smart lösning. Ta exempelvis en webserver som hanterar en databas på över 100 tabeller. Gör du den med DTO'er räcker det inte med en utvecklare för att bara underhålla systemet. Behövs mycket mer resurser och allt tar väldigt mycket längre tid att ändra i.

Med smartare logik kan en enda utvecklare ganska enkelt hantera system som har över 500 tabeller och det går att slänga bort gigantiska mängder kod.

Ofta bryr sig inte java eller C# utvecklare om sådant, arkitektur är inte prioriterat

Permalänk
Medlem
Skrivet av klk:

I C++ som är ett av de få riktiga objektorienterade språken kan du välja hur du vill skicka data. Default är alltid by value, alltså en kopia. Det är så det borde fungera i andra objektorienterade språk. Du skickar by value för alla primitiva typer,
Det går att skicka referens/pekare självklart men då måste utvecklaren beskriva det.
Skall du skicka by value för klasser i java eller C# så är det genast jobbigare kod.

"Så här funkar det i C++ och därför borde det göra det i alla språk för C++ har alltid rätt" ?
Nej, det "borde" inte fungera på ett visst sätt i något språk bara för att C++ beter sig på det sättet.
Om all data skickades som kopia skulle det äta onödigt minne. Särskillt med tanke på att immutable objekt föredras så är det fullständigt onödigt att kopiera dem.

Skrivet av klk:

"coupling", felet med getters och setters är coupling och är en av de värre "code smells" utvecklare kan trassla in sig i.

Skrivs kod som "kopplar" samman funktionalitet och att utvecklaren inte vet hur man hanterar state kommer utvecklaren inte speciellt långt om utvecklaren skall designa arkitekturen själv. Risken är att utvecklaren knappt når 10.000 rader kod innan det är ett trassel som måste slängas.

Jag ser getters (och ibland setters) främst i DTO för åtkomst till dess innehåll. Jag ser inte hur det bidrar till coupling. En bit kod som använder en DTO, antingen den instantierar den själv eller får den i retur från ett anrop, behöver väl allt som oftast också läsa dess data? Eftersom vi har inkapsling som princip så är väl getters ett utmärkt sätt att lösa det?

Skrivet av klk:

Ofta bryr sig inte java eller C# utvecklare om sådant, arkitektur är inte prioriterat

Källa på det? Det låter som antingen påhittat eller fördom.
"Ofta bryr sig juniora/oerfarna/stressade/dåliga utvecklare inte om sådant" är nog närmare den verklighet jag arbetar i. Det är inte språket som avgör vad en utvecklare bryr sig om.
Farligt nära där att man kan tolka det som ett det skulle finnas en korrelation mellan "inte C++" och "sämre".

Permalänk
Medlem
Skrivet av holycrap:

"Så här funkar det i C++ och därför borde det göra det i alla språk för C++ har alltid rätt" ?

Det säger jag inte utan jag sa hur objekt bör fungera. Skall du skicka by value (vilket ofta är önskvärt) så har du problem i språk som C# eller java. Är du med?
När man skickar pekare så tappar du en del kontroll, du måste följa vad som händer eller designa kod så det blir smidigare.

Skrivet av holycrap:

Nej, det "borde" inte fungera på ett visst sätt i något språk bara för att C++ beter sig på det sättet.

Då minskar du på lösningsmöjligheter.

Skrivet av holycrap:

Om all data skickades som kopia skulle det äta onödigt minne. Särskillt med tanke på att immutable objekt föredras så är det fullständigt onödigt att kopiera dem.

Ok, du har aldrig skrivit parallelliserad kod? 6 kärnor eller mer är väl mer eller mindre standard. Svårt att skriva den typen av kod om du skickar pekare och alla trådar jobbar med samma data.

Det här är enligt mig en orsak till att Microsoft troligen kommer minska fokus på C#. C# för dem är en pengamaskin men kan de inte tjäna pengar på språket så varför skulle de underhålla det.
Lösningarna som C# används för nu kan ganska enkelt tas över med AI så de tappar vinsterna

Skrivet av holycrap:

Jag ser getters (och ibland setters) främst i DTO för åtkomst till dess innehåll. Jag ser inte hur det bidrar till coupling. En bit kod som använder en DTO, antingen den instantierar den själv eller får den i retur från ett anrop, behöver väl allt som oftast också läsa dess data? Eftersom vi har inkapsling som princip så är väl getters ett utmärkt sätt att lösa det?

Det här är ett gigantiskt område, tar tid att lära sig men väl investerad tid i att göra. Har man inte sett två olika lösningar som gör samma sak men där den ena är gjord med DTO objekt och den andra tillåtit smartare lösningar tar det ett tag att förstå. Har man däremot lärt sig andra tekniker kommer man inte ens fundera över att att använda DTO för annat än där det handlar om specifik funktionalitet.
DTO'er gör:
- Svårare att byta ut utvecklare, utvecklare behöver lära sig domänen
- Producerar mycket kod
- Kod är mer eller mindre hårdkodad
- Producerar ofta duplicerad kod, nästan samma sak görs på flera ställen
- Kräver mycket underhåll, behövs inte mycket som skall ändras för att koden behöver förändras
- Coupling
- Kräver ofta ganska komplexa byggpipelines, är koden fylld med "copuling" behöver man mer kontroll så inget gått sönder

Finns mer men det är en bedrövligt dålig lösning. Enda orsaken till att välja den är om man vill slänga ihop något snabbt och har svårt att få tag i utvecklare duktiga på arkitektur. Tyvärr vet inte många om det och sitter i en salig sörja med massa utvecklare

Permalänk
Medlem
Skrivet av klk:

...
Förhoppningsvis kan det hända saker här. Personligen anser jag man bör vara orolig för linux för det operativet är mycket viktigt att de inte slukas. Det hade varit mycket bättre om Rust gänget som vill in i linux hade forkat och gjort helt egna varianter. Jag tror risken är stor att om rust gräver djupare in i linux, att de bästa utvecklarna där nu tröttnar. De har inga problem och hitta nya intressantare uppgifter.

Alla jättar inom IT ägs av samma grupper så de håller samman. Ägare skyddar sina ägodelar och de krossade bl.a. Nokia och dyker det upp hot så antingen köper de upp eller infiltrerar företagen.

C++ är inget språk de kontrollerar (än) och viktigt att det framförallt finns flera kompilatorer.

Nu låter du ju rent konspiratorisk. Torvalds är den som kontrollerar kärnan och han har nu godkänt ett andra språk för nyutvecklad kod (främst drivrutiner). Jag ser det som positivt eftersom drivrutiner som kan laddas in externt till kärnan bör ha så hög säkerhet som möjligt. Jag kan inte se hur det skulle vara positivt att "Rust-gänget" forkat kärnan och börjat skicka kod fram och tillbaka (vem är "upstream" sen?). Men det kanske retar dig att C++ har varit bannad från kärnan?

Glöm heller inte bort att om någon vill ersätta C-kod med Rust så måste den klara synålsögat i Linux. (Ingen kod får förstöra för userland, och den får inte vara långsammare. Regressions är något som Torvalds är minst sagt grinig på.)

https://lobste.rs/s/bzcqjr/why_did_linux_choose_rust_not_c

Citat:

There is this famous rant [1] of Linus with regards to C++ where he complains that the language is too complicated to be used as a kernel language and its standard library is not stable. [1] https://harmful.cat-v.org/software/c++/linus

The rational reasons come largely from timing. C++98 was not a great language and a lot of people used it to write bad Smalltalk code. Worse, gcc had a couple of big ABI changes in C++ that basically broke all userland C++ things for a couple of years.

Jag kan skrämma dig med att coreutils (alla kommandon) har blivit implementerade helt i Rust. Arbetet är inte 100% ännu, men på god väg att finna sin väg in i t.ex. Ubuntu. Om detta faller väl ut så kommer troligen flera distributioner att följa efter. Jag skulle t.ex. redan idag kunna välja det i Gentoo. (På egen risk!)
# https://github.com/uutils/coreutils
# https://github.com/uutils/findutils

GNU/Linux har alltid handlat om valfrihet, du kan välja mellan Openrc/systemd, X11/Wayland, flertalet fönsterhanterare m.m. Det är aldrig någon som tvingar dig att köra kommandon skrivna i Rust. Du och jag kan fortsätta köra de klassiska kommandona skrivna i C om det skulle kännas bättre (eller vara snabbare?), prestandan kommer ju att undersökas med microskop av intresserade runt om i världen.

Permalänk
Medlem
Skrivet av mc68000:

Nu låter du ju rent konspiratorisk. Torvalds är den som kontrollerar kärnan och han har nu godkänt ett andra språk för nyutvecklad kod (främst drivrutiner). Jag ser det som positivt eftersom drivrutiner som kan laddas in externt till kärnan bör ha så hög säkerhet som möjligt. Jag kan inte se hur det skulle vara positivt att "Rust-gänget" forkat kärnan och börjat skicka kod fram och tillbaka (vem är "upstream" sen?). Men det kanske retar dig att C++ har varit bannad från kärnan?

Kalla det slutleldningsförmåga eller tänka själv istället för att vara rädd för att uppfattas som konspiratorisk.
Fler operativsystem är bättre än färre och flera bra lösningar har förstörts. Nokia hade sin version på gång, blackberry är en annan. De lever idag men i mindre skala.
Browsrar är annat exempel. Idag använder i princip alla utom firefox en och samma grund (WebKit) som grund. Det är inte hälsosamt för innovation när nya lösningar blockeras.

Skulle en grupp få för sig att göra en egen renderings-motor för webben så är det ett omöjligt projekt även om den görs bättre och det beror på att andra stora aktörer täppt till.
Jag tror många projekt aldrig startas just för att marknaden monopoliserats (några få kontrollerar allt).

Hur vet jag det?
På 1990 talet när jag började arbeta som programmerare kunde du nästan göra vad som helst, allt gick att sälja för allt var så nytt. Bara här i Sverige fanns massor av produktbolag, levde på egenutvecklade produkter. Gjordes något bra så gick det att sälja.

Någon gång mellan 2005-2010 började marknaden förändra sig och lagar och annat har förändrats som gjort det mycket svårare för mindre aktörer. Mjukvara som utvecklas idag håller ofta sämre kvalitet än den som gjordes förr. Programmering har gått tillbaka senaste 10-15 åren men det maskeras med att miljöer och annat blivit bättre.

AI tror jag kommer ändra på det här för AI är enligt mig något större bolag har svårt att kontrollera. Med AI kommer grupper som är små men duktiga ändå kunna producera väldigt mycket värden.

Rust i Linux
Ja jag vet att det endast är i några externa projekt nu men ser väldigt många som vill in djupare och det förstår jag inte.
Bland det svåraste som finns (vet ingen som lyckats) är att få programmerare med olika mål/drifter att jobba bra ihop. Programmering är så starkt känslomässigt för de som blir "bitna" och alla gillar att skapa. Därför är det bättre att dela upp där de kan få fria tyglar i rätt miljö. Det är då utvecklare kommer prestera och skapa bra saker.

Tror det vore kanon om ett gäng i Rust gjorde en egen variant (eget OS) för det hade varit bra för alla

Permalänk
Medlem
Skrivet av klk:

Då minskar du på lösningsmöjligheter.

Ändå så finns det i det närmaste oändligt med produkter och tjänster som är överlägsna det du har gjort, trots att dom har utvecklats i språk som är underlägsna ditt valda språk, och därmed också av utvecklare som med din egen logik är underlägsna dig.

Om du skulle försöka vara lite objektiv, vad drar du gör slutsats av det?

Permalänk
Medlem
Skrivet av klk:

Rust i Linux
Ja jag vet att det endast är i några externa projekt nu men ser väldigt många som vill in djupare och det förstår jag inte.
Bland det svåraste som finns (vet ingen som lyckats) är att få programmerare med olika mål/drifter att jobba bra ihop. Programmering är så starkt känslomässigt för de som blir "bitna" och alla gillar att skapa. Därför är det bättre att dela upp där de kan få fria tyglar i rätt miljö. Det är då utvecklare kommer prestera och skapa bra saker.

Det låter som du enbart läst Rust/Linux-dramat online. På den årliga lokala Linuxkonferensen uppfattar jag inställningen till Rust som i huvudsak neutral men åt det positiva hållet.

Skrivet av klk:

Tror det vore kanon om ett gäng i Rust gjorde en egen variant (eget OS) för det hade varit bra för alla

Det finns redan ...
https://www.redox-os.org/

Permalänk
Datavetare
Skrivet av klk:

Visual Studio har den funktionen, mycket användbar

Går att backa tillbaka, inte alltid och man får lära sig lite vad som går och inte går.

Att Visual Studio hade stöd var sanning med en hel del modifikation. Det finns möjlighet att spela in en trace och sedan, i read-only läge, steppa framåt/bakåt. Ett stort problem är att det verkar kräva Enterprise edition, vilket jag personligen inte ser värdet att betala för givet att MSVC++ idag är en sämre kompilator än både GCC (som i.o.f.s. har begränsat Window-stöd) och Clang (som har lysande Windows, MacOS och Linux stöd).

Hade nog hört talas om rr tidigare, det verkar vara det bästa man hittar inom detta område just nu. Det fungerar bara på Linux (x86_64 samt ARM64), vilket i min värld är en begränsning men en fullt acceptabel sådan.
https://rr-project.org/

Riktigt positiva är att det fungerar med allt man kan debugga med GDB, så C, C++, Rust, m.fl. Man jobbar också med LLDB-integration.

Tycker det absolut finns en hel del värden med Visual Studio, inte minst dess visualisering när man debuggar. Men tyvärr lyser det ibland igenom att själva debuggern har en del brister. GDB är en kraftfullare debugger, kräver dock lite mer från användaren i form av högre tröskel att använda då det inte riktigt finns någon front-end som är fullt lika polerad (men GDB+GDB-script+Emacs-script kan göra saker som man bara kan drömma om i Visual Studio!).

Skrivet av klk:

Apple badar i pengar, vad de säljer är mycket dyrt. Det är många föräldrar som svurit över att deras barn prompt måste ha en apple mobil som är mer än dubbelt så dyr.
Att den är "snabb" spelar ingen roll då det är sällsynt att det går att använda en apple i situationer där det krävs prestanda. Mest utvecklare som gillar datorn och vill trimma sin miljö och tycker det är kul att kasta bort pengar

Eftersom företaget agerar som de gör och gjort tvivlar jag på att någon ens funderar över att satsa på plattformen om de önskar +10 års livslängd eller mer. Går inte lita på monopol.

De andra är inte långt efter men apple är värst.

Förhoppningsvis kan det hända saker här. Personligen anser jag man bör vara orolig för linux för det operativet är mycket viktigt att de inte slukas. Det hade varit mycket bättre om Rust gänget som vill in i linux hade forkat och gjort helt egna varianter. Jag tror risken är stor att om rust gräver djupare in i linux, att de bästa utvecklarna där nu tröttnar. De har inga problem och hitta nya intressantare uppgifter.

Alla jättar inom IT ägs av samma grupper så de håller samman. Ägare skyddar sina ägodelar och de krossade bl.a. Nokia och dyker det upp hot så antingen köper de upp eller infiltrerar företagen.

C++ är inget språk de kontrollerar (än) och viktigt att det framförallt finns flera kompilatorer.

Då du verkar gilla C++ lite granna borde du väl ändå se en del värde i det Apple gett oss genom åren? Det är väldigt mycket Apples förtjänst att LLVM gick från ett coolt forskningsprojekt till på rätt kort tid på flera sätt bli världens viktigaste kompilatorinfrastruktur, med bland annat en av de absolut bästa C++-kompilatorerna som finns.

Till skillnad från Torvalds som verkar genuint avsky C++ så sticker också XNU (kernel som används i MacOS och iOS) i att vissa delsystem tillåter en begränsad form av C++, väldigt mycket hur Linux tillåter Rust i vissa delsystem.

Och vill man stödja något under väldigt lång tid har nog historien nu allt oftare visat oss: se då för f_n till att all källkod är under din kontroll. D.v.s. använd vare sig MacOS eller Windows, använd Linux!

Majoriteten av programvaran vi kör på våra desktop OS har knappast något problem med livslängden. En viktig orsak är det tråden handlar om: säkerhetsproblem är så vanligt förkommande att man varken vill eller bör använda programvara på sitt desktop OS som inte längre utvecklas aktivt, då specifikt hanterar CVE:er.

De saker som tenderar leva väldigt länge gör typiskt det på isolerade nätverk. Ibland kan man lämna sådant orört i 30 år, ibland vill man kunna lägga till något efter en lång tid. I det läget är man nog rätt glad om det är en gammal Linux och inte Win95 man ska gräva fram verktygen till...

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:

Någon gång mellan 2005-2010 började marknaden förändra sig och lagar och annat har förändrats som gjort det mycket svårare för mindre aktörer. Mjukvara som utvecklas idag håller ofta sämre kvalitet än den som gjordes förr. Programmering har gått tillbaka senaste 10-15 åren men det maskeras med att miljöer och annat blivit bättre.

Marknaden har ändrats, men det gjorde den tidigare än så och det har väldigt lite att göra med lagar och sånt.
På 80-talet och en bit in på 90-talet var det fortfarande lite av Vilda Västern över datorbranchen. Många idéer provades - och många av de visade sig vara dåliga.
Sedan dess så har marknaden standardiserats. Det finns inte längre 30 olika operativsystem som konkurrerar. Det som finns kvar är i princip Windows, MacOS, och Linux i alla dess varianter. (Nischade specialsystem oräknade)
Storföretag har tagit över och gjort det svårare för små uppstickare, men det är sånt som händer i alla brancher när de mognar.

Mjukvara som släpps idag har ungefär lika mycket problem som mjukvara som släpptes på 80-/90-talet, men har mycket större funktionalitet idag.
Så programmeringen har gått framåt - det går att utveckla mycket större och mer komplicerade system idag med ungefär samma resurser, och med ungefär samma mängd buggar.

Permalänk
Medlem

Svarar inte här utan varit upptagen med att fixa till koden för att hantera ett repository.
Inte så märkvärdigt som det låter, det är en fil som kan lagra flera andra filer i sig. Precis så "klart" att det fungerat när jag testar men behöver slipa till den hårdtesta innan det är produktionsfärdigt.

Här är en länk till koden (både header fil och cpp fil i samma)
https://hastebin.com/share/orefaquyis.cpp

Gjorde den här bilden också men det verkar som den förminskas... Lägger in och får göra något annat
Det är i alla fall den röda mitten rutan som är den viktiga för att använda objektet "repository". Resten är inte intressant utåt

Det finns en del lösningar i den här koden som vad jag vet är mycket ovanligt att man ser idag. Bl.a. används tekniken "hungarian notation". På windows från början på 1990 till strax innan 2010 var den stilen extremt vanlig för C/C++ utvecklare.
Nästan alla jag känner från tiden som skrev C++ för windows använde det vid utveckling. De flesta där har "tvingats" bort då det sällan accepteras idag vilket är synd. Stilen är fantastiskt effektiv.

Tittar man på koden så är den skriven för att slippa "hoppa runt". En utvecklare måste alltid förstå koden utan att behöva hoppa runt i filer. Det är därför det finns prefix och postfix. Exempelvis har alla statiska metoder *_s, Globala har *_g och så vidare.

Tänkte få ihop någon liten exe som kan användas för att göra backuper men det får bli ett projekt till nästa helg.
Hittade inget för det här så det är orsaken och eftersom vi diskuterar kod blir det här lite mer realistisk kod istället för småsnuttar även om det är lite detta också.

När jag skriver kod försöker jag hålla koden så ren som möjligt från kommenterar och felhanteringskod. Kommentarer är det gott om men de är "runt" koden. Felhaneringskod kan bli långa rader. "assert" flyttas ut till höger i marginalen.

Permalänk
Medlem
Skrivet av klk:

Svarar inte här utan varit upptagen med att fixa till koden för att hantera ett repository.
Inte så märkvärdigt som det låter, det är en fil som kan lagra flera andra filer i sig. Precis så "klart" att det fungerat när jag testar men behöver slipa till den hårdtesta innan det är produktionsfärdigt.

Här är en länk till koden (både header fil och cpp fil i samma)
https://hastebin.com/share/orefaquyis.cpp

Gjorde den här bilden också men det verkar som den förminskas... Lägger in och får göra något annat
Det är i alla fall den röda mitten rutan som är den viktiga för att använda objektet "repository". Resten är inte intressant utåt
<Uppladdad bildlänk>

Det finns en del lösningar i den här koden som vad jag vet är mycket ovanligt att man ser idag. Bl.a. används tekniken "hungarian notation". På windows från början på 1990 till strax innan 2010 var den stilen extremt vanlig för C/C++ utvecklare.
Nästan alla jag känner från tiden som skrev C++ för windows använde det vid utveckling. De flesta där har "tvingats" bort då det sällan accepteras idag vilket är synd. Stilen är fantastiskt effektiv.

Tittar man på koden så är den skriven för att slippa "hoppa runt". En utvecklare måste alltid förstå koden utan att behöva hoppa runt i filer. Det är därför det finns prefix och postfix. Exempelvis har alla statiska metoder *_s, Globala har *_g och så vidare.

Tänkte få ihop någon liten exe som kan användas för att göra backuper men det får bli ett projekt till nästa helg.
Hittade inget för det här så det är orsaken och eftersom vi diskuterar kod blir det här lite mer realistisk kod istället för småsnuttar även om det är lite detta också.

När jag skriver kod försöker jag hålla koden så ren som möjligt från kommenterar och felhanteringskod. Kommentarer är det gott om men de är "runt" koden. Felhaneringskod kan bli långa rader. "assert" flyttas ut till höger i marginalen.

Jag vet inte vad detta har att göra med något i denna tråden...

Permalänk
Medlem
Skrivet av orp:

Jag vet inte vad detta har att göra med något i denna tråden...

programmering, det man gör med språk och det är ganska centralt

När vi käftar fram och tillbaka här vilket språk som lämpar sig bäst för att göra saker så är vi ändå ganska långt från vad som spelar roll. Kan programmeraren skriva bra kod och hålla samman stora projekt. Om det tar från några veckor till kanske ett år eller mer att lära sig ett språk. Nästa språk går mycket snabbare att lära sig. Mest att träna in en ny syntax.

Men det är först dåresan börjar för att lära sig programmera.

Tittar jag på annan utvecklare så spelar det mindre roll hur tekniskt den är, alltså hur mycket teknik den kan. Det viktiga är att den klarar att förstå problematiken med att hantera mycket kod.

Om en utvecklare då tycker det är svårt att hantera minnet. Då är det ett tecken på att om en sådan sak som ändå utvecklaren bör klara om utvecklaren skall vara med i större projekt utan ramverk, alltså projekt där utvecklare måste lösa problem själva.
Kan inte utvecklaren hantera minne, hur skall då utvecklaren hantera allt annat så är så mycket svårare?

Att minnesbuggar är allvarliga på det viset att programmet kraschar men de är också lätta eftersom det inte går att missa. Andra buggar som är mindre allvarliga, de är mycket svårare att lära sig hantera eftersom de inte upptäcks lika enkelt.

Ovanstående går självklart att utveckla men det förklarar varför C och C++ fortsatt kommer dominera. Det är där man hittar de utvecklare som kan hantera mycket kod.

De utvecklare som jag sett skriver kod i C# eller Rust på senare tid. Det är för mycket fel i koden, behöver inte vara buggar men fel som gör att det blir svårt att göra smarta lösningar. En van utvecklare kan snabbt se när andra utvecklare som är juniora eller kanske medel. Att de kommer trassla in sig.

Problemen med "minnessäkra" program som har mycket gratis i språket. Java och C#, där får man med mycket logik som är standardiserad. Alla utvecklare där har tillgång till samma färdigskriven kod. Rust prisar ofta sitt Cargo mm. Det är för lätt för utvecklare att ta sig en bra bit utan att lära sig hantera kod.
När det är så lätt, då blir annat som är bra att kunna för att hantera svårare saker så mycket mer svårare eftersom utvecklaren knappt får någon träning.

AI och hur det kommer separera utvecklare
Den koden jag postade, har spenderat c.a. 16 timmar (två fulla arbetsdagar på den). Utan AI tror jag det skulle ta mig kanske en vecka men då utan lika välskrivna kommentarer. AI är otroligt på att kommentera upp koden.

AI är både lätt och svårt. AI hjälper till bra för allt som är lätt, effektfullt hur bra AI ibland gissar. Speciellt om man följer standarder och koden följer fasta mönster. Om utvecklare skriver mer "rätt", desto mer nytta av AI.

Svårt blir det för att när AI inte kan hjälpa eller gör fel. De utvecklare som inte tränat sig i att skriva kod kommer få större problem. Att vänja sig vid enkelheten att låta AI göra jobbet och sedan växla om till att själv börja detaljgranska. Tror inte många kommer göra det.

IT jättar som kommer arbeta om sina affärsmodeller
IT monopolet tror jag kommer förändra sig ganska ordentligt och de har säkerligen jobbat på det ett bra tag. Det kommer bli mycket svårare att blockera konkurrenter med kod.
Små utvecklarteam tror jag kommer kunna producera enorma värden och slå sig in och jag tror inte man hittar dessa team bland de språk som ger för mycket hjälp för utvecklare. Det beror på att dessa språk inte låter utvecklare träna på saker som är viktiga att bli duktig på.

Permalänk
Medlem
Skrivet av klk:

programmering, det man gör med språk och det är ganska centralt

När vi käftar fram och tillbaka här vilket språk som lämpar sig bäst för att göra saker så är vi ändå ganska långt från vad som spelar roll. Kan programmeraren skriva bra kod och hålla samman stora projekt.

Detta är inte en generell tråd om programmering detta är en tråd om C++ och minnessäkerhet. Du svamlar om allt möjligt vilket har skapat mängder med svar för att bemöta alla dumheter du skriver.

Du säger att C++ är bäst för allt. Jag säger att C++ inte är det bästa på allt eftersom du kan åstadkomma samma sak i andra språk med mindre kod eller mindre komplexitet.

Ingen bryr sig om programmeraren i detta fallet detta är en ren språkdiskussion och du verkar vara den enda som inte förstått detta än efter 29 sidor. Det är därför jag är övertygad om att du trollar.

Skrivet av klk:

Om det tar från några veckor till kanske ett år eller mer att lära sig ett språk. Nästa språk går mycket snabbare att lära sig. Mest att träna in en ny syntax.

Så kanske det är... det kallas utveckling. Tar du häst och vagn när du ska veckohandla, sitter du fortfarande med 56k modem? Varför använder du nyare språk än C, fortran, algol68 och cobol?

I denna tråden var det en diskussion om C++ i avseende om minnessäkerhet. Det var mängder med vettiga diskussioner om nya projekt för att försöka uppnå minnessäkerhet i C++ men i dagsläget är C++ inte minnessäkert och därför har andra språk nämnts som alternativ om minnessäkerhet är den högsta prioriteten.

Skrivet av klk:

Att minnesbuggar är allvarliga på det viset att programmet kraschar men de är också lätta eftersom det inte går att missa. Andra buggar som är mindre allvarliga, de är mycket svårare att lära sig hantera eftersom de inte upptäcks lika enkelt.

Dom går ju bevisligen att missa, varför tror du annars att minnessäkerhet har fått det fokuset som det fått?

Permalänk
Medlem
Skrivet av orp:

Du säger att C++ är bäst för allt. Jag säger att C++ inte är det bästa på allt eftersom du kan åstadkomma samma sak i andra språk med mindre kod eller mindre komplexitet.

Det säger jag inte utan det jag säger är att C/C++ är bästa verktyget för de som behärskar språket. "Minnessäkra" språk erbjuder inga fördelar men en hel del nackdelar för utvecklare som klarar C++

Kan man inte C/C++ eller har problem med språket så tycker man självklart inte samma men det har inte med att språket är dåligt att göra. Språket har för mycket frihet eller för få säkerhetsbälten om man kan uttrycka sig så.

Permalänk
Medlem
Skrivet av klk:

Det säger jag inte utan det jag säger är att C/C++ är bästa verktyget för de som behärskar språket. "Minnessäkra" erbjuder inga fördelar men en hel del nackdelar för utvecklare som klarar C++

Skitsnack. Minnesäkra språk erbjuder fördelar även för duktiga C och C++ programmerare.
Man slipper ägna en massa tankemöda åt att hålla koll på minnesallokeringar, och kan istället ägna den tiden åt att lösa det riktiga problemet.
Och naturligtvis den stora fördelen att en hel klass av buggar bara försvinner, så att man slipper ägna tid åt att försöka hitta eller fixa dem.

Det finns fall där ett litet språk som C (men inte C++) med manuell minneshantering är lämpligast (eller oftast helt nödvändigt) - små inbyggda system, hårda realtidssystem, OS kärnor, vissa runtime-bibliotek, etc. Men det är bara en liten minoritet av alla programmerare som jobbar med sådan kod.

En del "programmerare" kanske är så arroganta och självsäkra att de tror att de är så duktiga att deras C++ kod aldrig innehåller minnes-relaterade buggar. Isåfall är de idioter som inte borde få släppas nära en dator, en mindre programmera den. Inte ens de bästa programmerarna skriver helt bug-fri kod.

Permalänk
Medlem
Skrivet av klk:

"Minnessäkra" erbjuder inga fördelar men en hel del nackdelar för utvecklare som klarar C++

Nu trollar du igen...

Om språken är minnessäkra och C++ inte är minnessäkert, kan vi vara överens om att minnessäkerhet är en fördel som språken erbjuder som C++ inte erbjuder?

Skrivet av klk:

Kan man inte C/C++ eller har problem med språket så tycker man självklart inte samma men det har inte med att språket är dåligt att göra. Språket har för mycket frihet eller för få säkerhetsbälten om man kan uttrycka sig så.

Eller så är man enbart för hög på sina egna fisar och tror att man aldrig kan göra misstag och för korkad för att inse att det ibland finns externa krav.

När man skriver kod inom transportindustrin så kommer din kod granskas av ditt team och sedan en intern avdelning för safety(operationssäkerhet INTE att förväxla med cyber security) och slutligen ett extern bolag. Detta för att exempelvis kraftigt reducera(kan teoretiskt inte garantera) att två tåg inte ska kollidera med varandra. Detta görs eftersom företaget inte vill bli stämda på ofantliga summor och att ansvarig inte ska riskera fängelsetid(juridisk säkerhet).

När jag jobbat inom transportindustrin så skrev vi C enl. MISRA eftersom ALLT(OS, libc, kompilatorer osv) måste granskas av teamet, en intern specialistavdelning och ett extern företag innan det tas i produktion och MISRA var lättast att komma förbi granskningarna pga sina garantier. Om någon med din inställning till programmering hade kommit in och sagt: "Vi kör C++ för att man kan göra fiffiga saker med minnet och trust me bro jag har granskat detta i debuggern", då hade hade man svarat "bevisa för mig att det är driftsäkert" och då måste du på ett teoretiskt och logiskt plan övertyga ditt team, en annan avdelning och ett externt företag. Då kan man inte bara dra till med något om att "det är bara dåliga utvecklare som inte kan hantera minnet och jag är en bra utvecklare som kan hantera minnet", förstår du?

Om du nu hade varit erfaren och senior så hade du nog mer resonerat i banorna "Nej, C++ är inte minnessäkert och om det är högsta prio så bör man 1. välja ett annat språk, 2. hålla sig till MISRA eller något annat plåster".

Jag kodar C, om jag skulle stop C i ett flygplan, ett tåg eller en bil så hade jag hållit mig till MISRA men någon(har för mig att det var SDV projektet under Eclipse Foundation) kollade på vilka garantier som MISRA och Rust levererar och kom fram till att Rust levererar ~95% av garantierna som MISRA om programmet kompilerar(jag har inte verifierat detta). Om det skulle vara sant så skulle jag hellre kodat Rust än MISRA för sådana applikationer.

Permalänk
Medlem
Skrivet av Erik_T:

Skitsnack. Minnesäkra språk erbjuder fördelar även för duktiga C och C++ programmerare.

Vill du koda "minnessäkert" så kan du göra det i C++. Lägg allt i smartpointers eller andra containerklasser så är du hemma

Skrivet av Erik_T:

Man slipper ägna en massa tankemöda åt att hålla koll på minnesallokeringar, och kan istället ägna den tiden åt att lösa det riktiga problemet.

Om minne inte är ett problem för en del utvecklare då? Skall du tvinga dem till att något är ett problem när det inte är det

Skrivet av Erik_T:

Det finns fall där ett litet språk som C (men inte C++) med manuell minneshantering är lämpligast (eller oftast helt nödvändigt) - små inbyggda system, hårda realtidssystem, OS kärnor, vissa runtime-bibliotek, etc. Men det är bara en liten minoritet av alla programmerare som jobbar med sådan kod.

Ja C är inte C++ men C används ofta för att de måste, det finns inget annat i de system du räknar upp

Skrivet av Erik_T:

En del "programmerare" kanske är så arroganta och självsäkra att de tror att de är så duktiga att deras C++ kod aldrig innehåller minnes-relaterade buggar. Isåfall är de idioter som inte borde få släppas nära en dator, en mindre programmera den. Inte ens de bästa programmerarna skriver helt bug-fri kod.

Säkert men det finns också programmerare som inte är så intresserade och tycker det är jobbigt. Istället för lära sig anklagar de andra som försöker lära sig för att skryta.
Lägger man tid och försöker lära sig så blir man bättre. Självklart beror det på mycket hur men utvecklare som aldrig tränar på saker som är bra att träna på, de stannar ofta upp.

Personligen tycker jag det är en av de saker som är så kul med programmering, lär man sig tekniker får man direkt utslag för det. Det går alltid att lära mer och förbättra sig

Permalänk
Medlem
Skrivet av klk:

Om minne inte är ett problem för en del utvecklare då? Skall du tvinga dem till att något är ett problem när det inte är det

"inte är ett problem"? Hur menar du då? Att det går att hantera utan att ägna en enda liten sekund av tankemöda åt det?
Men jag sade inte att minneshantering alltid är ett stort problem, bara att det är något som kräver tid och tankeverksamhet - resurser som annars hade kunnat läggas på det riktiga problemet som programmet är till för att lösa.