Läromedel för att dyka ner i C++ träsket!?

Permalänk

Läromedel för att dyka ner i C++ träsket!?

Gokväll!

Jag har nu letat i 5 dagar efter en bra bok om C++. Jag har hittat en hel del bra böcker, men inga som faller mig i smaken.
För att ge er en uppfattning om vad jag letar efter så kommer jag att nedan skriva några krav jag går efter när jag letar böcker.

- En bok som är up to date. Det vill säga, en bok som har med C++11 standarden.

- En bok som tar hänsyn till läsaren och inte använder svåra uttryck eller referenser.

- En bok med några övningar efter varje kapitel. I bok eller hemsida, det kvittar.

- Inte allt för tjock bok, söker en bok som lär ut grunderna på ett lätt sätt.

Varför söker jag detta?
Jo, har nämligen tänkt ge programmering samt språket C++ en chans. Har googlat runt och läst på om vad man kan utveckla med C++ och har minst sagt hittat några intressanta ämnen. Jag hade en kurs i Java när jag gick gymnasiet men var verkligen inte på plats... Så några kunskaper inom programmering har jag inte. Bortsett från typ, integers.

Vad letar jag efter?
En bok, tror jag?! Jag har som jag nämnde ovan letat i 5 dagar efter en bra bok för en nybörjare. Har hittat några som ser lovande ut med 4 till 5 stjärnor men alla verkar vara "skolböcker". Det vill säga att böckerna hör hemma hos skolor. Jag säger inte att det INTE går att lära sig med hjälp av sådana böcker men jag tror att en bok som är skriven för self learners kan ge en nybörjare som har planer att lära sig hemma, och bara hemma ett bättre försprång.

Vad önskar jag utav er?
Jag tar väldigt gärna emot tips från folk som har lärt sig C++ på egen hand. Om ni läste några böcker, vad för böcker läste ni? Skulle ni rekommendera den boken till en nybörjare och är den up to date? Vet ni en bok som är skriven för personer som ska lära sig det själv? Dom flesta populära böckerna verkar som sagt inte vara skrivet för det.

Jag ser helst att jag läser böcker eftersom det känns säkrare på något vis men finns det en hemsida som har bra instruktioner och övningar så får jag väll överväga en hemsida istället. Snälla länka inte boken "C++ Primer Fifth Edition" då jag har fått låna den utav en vän till mig men boken var inte skriven för folk utan några som helst programmeringskunskaper. Har frågat vännen min men har vet tyvärr inget så därför vänder jag mig till er.

Har även kollat upp learncpp.com men den verkar ha rykten om att lära ut fel. Hoppar innerligt att någon här som nyligen lärt sig att programmera i C++ på egen hand kan träda fram och hjälpa en stackare som har googlat och börjar bli tokig på allt googlande bara för att hitta en bok.

/Privideniye.

Permalänk
Medlem

Jag rekommenderar inte C++ som första programmeringsspråk. Det är ett ganska komplicerat språk med en massa konstigheter i sig.
Hantera allt det samtidigt som du lär dig grunderna i programmering kan bli rätt jobbigt.

Permalänk

"C++ Primer Fifth Edition" är en av de två böcker som rekommenderas på StackOverflow. Den andra är "Programming: Principles and Practice Using C++" skriven av Bjarne Stroustrop (som skapade språket). Den första bok om C++ jag läste och började lära mig med var Stroustrup's första bok "The C++ Programming Language".

Visa signatur

// Lars Lindehaven

Permalänk
Medlem

De jag själv läst för många år sedan är Accelerated C++ (Andrew, Moo), Effective C++ (Scott Meyers) och The C++ Programming Language (Bjarne).

Mycket av grundkoncepten är lika mot tidigare MEN med C++ 11 och nyare så finns det helt klart nya verktyg/koncept som är värda att använda. Dessa nya koncept ser man i andra språk idag som t.ex. Java 8+, Typescript, Rust osv.

* Accelerated C++, en bra bok men tyvärr inte modern idag. (Ej nybörjare kanske)

* Effective C++ (Scott Meyers), Utan denna bok skulle det vara ett bugginferno. Detaljer på fallgropar och best pratices i C++ som
man BÖR känna till. Det finns Modern Effective C++ idag.

* The C++ Programming Language Haft det mer som en uppslagsbok för att kolla specifika saker..

Jag slutade dock med C++ som språk på min fritid, även om jag i yrket använt det. Ju mer jag lärde mig desto mer tappade jag intresset för språket. Jag stannar där.

Ett intresssant språk är annars Rust (https://www.rust-lang.org/) om du nu är lite inne på C++.

Visa signatur

AMD Ryzen 3700X, Gigabyte Elite X570, 32GB Ballistix Sport, NH-D15S, SAPPHIRE NITRO+ RX 7900 XTX, Corsair AX760, LG OLED C2 42"

Permalänk

Instämmer med föregående talare, C++ är inget trevligt förstaspråk, skulle säga att det är en bättre lösning att ge sig på till exempel C# för att bli varm i kläderna innan man börjar bråka med pointers, minneshantering och allt annat i C++ som tenderar att krångla till det

Permalänk
Medlem

Udemy kanske har någon trevlig kurs som passar? Har kört en hel del kurser där och har varit nöjd.

https://www.udemy.com/courses/search/?q=c%2B%2B for beginners&src=sac&kw=C%2B%2B

Permalänk
Medlem

Jag måste instämma i att C++ är ett dåligt nybörjarspråk. Även om du lär dig programmera enklare saker är det lätt att du missar helhetsbilden, något som är väldigt viktigt i objektorienterad programmering. Mitt förslag är att du skriver något större projekt i Python eller C# innan du börjar med C++. Försök också ha ett specifikt projekt formulerat innan du börjar, gärna något som är stort nog så att du måste kombinera många olika klasser tillsammans.

Visa signatur

PS4 & Macbook Pro.

Utlandssvensk sedan många år. Citera för svar.

Permalänk
Medlem

Codeacademy har en jättebra nybörjarkurs i python. Mycket av tänket går att föra över till andra språk. Ett tips är att börja med den och se om du fortfarande vill lära dig C++ efter det.

En vanlig missuppfattning är också att man behöver lära sig C++ när det kanske "bara" är C man är ute efter eller behöver. C++ är en objektorientera förlängning på C.

Jag programmerar i C, C++, C# och JAVA på jobbet (och lite python). Måste säga att det var lite avigt att gå tillbaka till C och C++ efter att ha programmerat i JAVA.

Java känns heller inte optimalt men vet inte vad jag hellre skulle vilja ha och har dålig koll på alternativen idag

Visa signatur

Ryzen 9 5950X, 32GB 3600MHz CL16, SN850 500GB SN750 2TB, B550 ROG, 3090 24 GB
Har haft dessa GPUer: Tseng ET6000, Matrox M3D, 3DFX Voodoo 1-3, nVidia Riva 128, TNT, TNT2, Geforce 256 SDR+DDR, Geforce 2mx, 3, GT 8600m, GTX460 SLI, GTX580, GTX670 SLI, 1080 ti, 2080 ti, 3090 AMD Radeon 9200, 4850 CF, 6950@70, 6870 CF, 7850 CF, R9 390, R9 Nano, Vega 64, RX 6800 XT
Lista beg. priser GPUer ESD for dummies

Permalänk

@Herr Kantarell: Kolla in Scala, betydligt trevligare än Java.

Visa signatur

Fractal Design Define R5 - SuperNOVA 750 G2 750w - KFA2 GeForce RTX 3080 SG - G.Skill Flare X Black DDR4 3400mhz CL14 - Ryzen 3600 - MSI B450 Tomahawk Max - Samsung 850 Series EVO 500gb - Samsung 970 Evo Plus 1TB - Acer 27" Predator XB271HU

Permalänk
Medlem

På Universitetet så hade vi grundläggande programmering i just C som första kurs. Det var helt klart väldigt komplicerat, och mycket att ta in. Men efter detta gick det faktiskt väldigt lätt att sätta sig in i andra språk! Var en lite omställning i tankesättet då vi lärde oss vårat första objektorienterade språk (java) men annars så har allt gått smidigt.

Dock verkar det väldigt varierat, många universitet börjar med Python t.ex, så jag tror vilket som fungerar. Möjligt att om man kör på att lära sig själv att just för att motivationen inte skall dö att man börjar med något mindre komplext. Mindre att ta in, och man får mer "synliga" saker gjorda.

Visa signatur

10700K | NVIDIA RTX 3080

Permalänk
Medlem

C# har en gratis bok som används inom olika skolor http://www.csharpcourse.com/