Hét vraag- en antwoordplatform van Nederland

Hoe lang duurt het om progammeertaal C++ te leren?

Ik wil misschien progammeertaal C++ gaan leren. Maar voordat ik daaraan wil beginnen wil ik weten hoe lang het duurt om progammeertaal C++ echt onder de knie te hebben? Stel je voor dat je 2 uur per dag C++ aan het studeren bent hoe lang duurt het dan om het onder de knie te krijgen?

Verwijderde gebruiker
11 jaar geleden
11.6K
Verwijderde gebruiker
11 jaar geleden
Volgens mij bestaat er ook een algemene tip om niet met C++ te beginnen als je wil leren programmeren. Je kan beter eerst een simpelere taal nemen en dan als je die door hebt C++ aanleren. Onder de knie krijgen is zeker een onhandige formulering, ik zou niet weten of het betekent dat je het zodanig snapt dat je er iets mee kan of het volledig snapt (wat bij C++ echt jaren duurt).
Verwijderde gebruiker
11 jaar geleden
http://www.cplusplus.com/forum/beginner/34078/ Python of misschien Java zijn beter om te starten, de switch naar C++ zal dan wat soepeler vergaan.
Reddie
11 jaar geleden
@MrTomaat, als je met Java start (goed idee) moet je vooral niet meer naar C++ gaan. Java is platform onafhankelijk.
Verwijderde gebruiker
11 jaar geleden
@Reddie: Sterker nog, ik denk dat van Java naar c++ gaan een schok is, Java programmeurs zijn niet gewend zelf memory management te doen. De andere kant op is makkelijker, leer vertrouwen op de garbage collector. c++'ers zijn misschien wel voorzichtiger met geheugen... voor hen is het verschil tussen pass by value en by reference nog belangrijk, en ze denken nog wel eens na over de keuze tussen heap en stack. (toch, hoop ik?? ;-) )

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Antwoorden (4)

Hmm, ik kan geen c++, wel andere programmeer talen. Vaak heb je al vrij snel wat basics onder de knie en kun je al wel wat in elkaar zetten. Maar het duurt wel een paar jaar op zn minst wil je het echt onder de knie hebben. C++ is ook een erg lastige taal.
(Lees meer...)
Verwijderde gebruiker
11 jaar geleden
Verwijderde gebruiker
11 jaar geleden
Ik heb jaren C++ geprogrammeerd, met STL, ATL en DCOM. Men zegt wel eens dat C++ nooit productief kan worden als je de standard template libraries niet gebruikt. Maar je moet zo ongelofelijk oppassen dat je al je lijsten opruimt en geen memory leaks creeert. De overstap van C++ naar C# vond ik echt een zegen met alle prachtige collection templates! Mijn ervaring is, dat het heel makkelijk is om ongelofelijk slechte code te maken in C++, en dat het jaren duurt voordat je iets fatsoenlijks oplevert.
Hangt van je voorkennis af. C++ is erg lastig. De basis heb je misschien vrij snel door, maar als je flink aan de gang gaat met object orientatie, templates (STL), memory management, pointers, references etc, is er voor de meest doorgewinterde programmeur nog elk jaar iets bij te leren. Als je vanaf niets begint produceer je misschien na een half jaar een redelijk programma, en na een jaar of 2 kun je productiecode schrijven.

Een goede programmeur worden is maar voor een klein deel de syntax van een taal leren. De principes van het bouwen van een groot stuk software zonder dat het een warboel wordt zijn veel belangrijker. Als je dat kunt, kun je vrij snel in elke taal programmeren.

Talen als C# en JAVA zijn iets makkelijker omdat het managed talen zijn. Ik vind de code die je daarmee maakt veel schoner, daardoor minder kans op fouten.
(Lees meer...)
Verwijderde gebruiker
11 jaar geleden
Verwijderde gebruiker
11 jaar geleden
Ik wilde op deze vraag gaan antwoorden, maar dit antwoord is precies zoals het is. Een +1.
Verwijderde gebruiker
11 jaar geleden
Dank je! ;-)
Bij C++ ben je zelf verantwoordelijk voor het geheugen gebruik. Reserveer je te veel geheugen en maak je het niet goed vrij dan loopt het apparaat waar het op draait vast.

Als je programmeer ervaring heb met bijvoorbeeld C# dan is het wel te doen. Met C++ kan je bijvoorbeeld een spelletje maken voor de PSP
(Lees meer...)
Verwijderde gebruiker
11 jaar geleden
Het leren programmeren draait om twee zaken:
- analytisch leren denken
- de taal leren

Het eerste kun je goeddeels in andere talen leren, ook in bijv. het veel makkelijkere en beter leesbare BASIC (met moderne BASICs is met name voor beginners *niets* mis, de tijd van regelnummers en goto ligt al decennia achter ons).

Het leren van de taal is wat meer tricky. Het probleem met C++ is dat het (met name voor starters) dwingt om twee dingen tegelijk aan te leren; de taal, en het analytisch denken. De taal ziet er ronduit cryptisch uit vergeleken met het menselijk 'leesbare' BASIC/PASCAL - die nagenoeg Engels zijn qua taal. Het analytisch denken wordt nog bemoeilijkt doordat boeken vrijwel gelijk beginnen over objecten, op een moment dat je misschien net aan eens een eigen globale functie hebt gemaakt en nog niet eens echt snapt wat je ermee moet. Ik heb vele jaren procedureel geprogrammeerd (dus alleen globale functies) voordat ik pas ben gaan inzien welk nut er in objecten zit. Je zult 't pas echt begrijpen als je grote programma's van duizenden regels schrijft, programma's met veel user-interaction, en dat is iets wat wel even tijd kost. Dus, het concept van objecten (al begint dat besef maar vast met data hiding) komt echt wel, maar om die objecten al in de eerste hoofdstukken van een leerboek neer te zetten gaat wat ver.
Ik zou er dus voor kiezen om procedureel en objectgeoriënteerd denken te leren in een wat meer veilige/schone omgeving. Op het moment dat je dan het hele analytische denken onder de knie hebt is de overstap naar C++ een stuk makkelijker - je hoeft dan alleen maar de taal te leren aangezien je het 'waarom' al snapt.
Ik zou www.blitzmax.com kunnen noemen als een objectgeoriënteerde eigentijdse BASIC voor starters. Deze taal heeft gewoon functies, objecten, overerving, pointers, by reference-argumenten, events, etc. Belangrijker nog: het kleinste programma is in BlitzMax 1 regel groot. Er zit nagenoeg geen overhead in. Want dat is ook weer zoiets; hoeveel van die complexere talen knallen wel niet van de programma-overhead zonder ook maar een regel van jezelf toegevoegd te hebben? Dat is dus ook nog iets wat je moet snappen.. een derde argument dus, naast denken en het leren van de taal. Bepaalde programma-frameworks en libraries zijn niet altijd even makkelijk te begrijpen voor beginners, maar boeken smijten ermee alsof het de normaalste zaak van de wereld is. In dat opzicht hebben veel boekauteurs een intellectuele tunnelvisie.
(Lees meer...)
Verwijderde gebruiker
11 jaar geleden
Verwijderde gebruiker
11 jaar geleden
Goed verhaal!

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 2500
Gekozen afbeelding