Wie habt ihr C/C++ gelernt?
-
Skotchy schrieb:
War das C++ oder eine andere Sprache?
C++ habe ich mit etwa 18 "gelernt", vorher waren es prozedurale Sprachen, der Groschen für OO viel so richtig eigentlich erst mit 21. C++ habe ich bis heute nicht so detailliert gelernt das ich den C++ Standard herunter rasseln könnte, aber gut genug um in den Firmen die ich bislang mitgemacht zu haben zu denen zu den "Besseren" bezüglich der Sprachkenntnis zu gehören. Und ich habe beispielsweise die Templatemetaprogrammierung bis heute nur am Rande betrachtet.
Und ja, ich lerne auch C++ immer noch. Es gibt immer mal wieder neue Sachen die man lernt. Und der kommende Standard wird weiteres lernen nach sich ziehen.
-
Skotchy schrieb:
pumuckl schrieb:
...dann irgendwann mit C++ angefangen (ohne C vorweg)...
Und meinst du dass das von vor- oder nachteil war?
Mit dem Ziel C++ zu lernen von Vorteil. Ich musste nicht umlernen. Von C++ auf C umzustellen geht meist relativ unkompliziert, wenns nicht zu tief in irgendwelche Pointerschlachten geht.
pumuckl schrieb:
Am Anfang nur wenig Code geschrieben, viel gelesen und vieles sehr theoretisch durchgenommen und gelernt.
Ich schreibe zur Zeit auch wenig Code, weil ich mitlerweile alles doppelt geschrieben habe, was ich meinem 'Können' bzw. 'Wissen' zutraue.
Dann gibts nur eins: Horizont erwitern
Ich hab relativ früh hier im Forum mitgelesen, parallel aber diverse C++-Bücher durchgearbeitet (nicht einfach nur gelesen! Viele denken einmal rüberlesen reicht...)
pumuckl schrieb:
Ich behaupte, gerade durch die recht umfangreiche Theorie, die ich vor der Praxis gelernt hab (Effective C++, Exceptional C++,...) viele Fehler von Anfang an vermieden zu haben und mir einige schlechte Angewohnheiten (auch C-Style) garnicht erst zugelegt zu haben.
Also soll ich mich auf C++ beschrenken und erst das lernen, damit ich nicht im 'C-Style' arbeite, richtig?
Es gibt viele Gemeinsamkeiten. Aber eben auch Unterschiede. Das, was beide Sprachen gemeinsam haben, lernst du auch, wenn du gleich mit C++ anfängst.
Was die Frage "kann ich nach XY Jahren gut C++" angeht: kommt drauf an, was man an Vorkenntnissen (andere Sprachen, etc.) hat. Kommt drauf an, ob man die entsprechende "Denke" auch nebenbei trainiert. Kommt drauf an, wie talentiert man ist. Kommt drauf an, wie ernsthaft man die Sache angeht...
Ich bin nach ca. 7 Jahren C++, Vorkenntnissen, "Denke"-Training (Physikstudium) so weit, dass ich behaupte, auch ein wenig C++ zu können. Wenn ich die C++-Entwickler in der Firma als Vergleichsgruppe nehme vielleicht auch ein wenig mehr. Ausgelernt hab ich nicht, werd ich auch nie (hoffentlich)
-
Ich weiß noch, dass ich mal als kleiner Bub irgendwann mal Microsoft QuickC ausprobiert habe. Das war mir dann aber zu hoch und bin deswegen eine Weile bei QuickBasic geblieben. Später kam dann Turbo Pascal in der Schule und Java im Studium dran. Irgendwo dazwischen machte ich auch einen Delphi-Abstecher. Erst nach dem Abschluss des Informatikstudiums habe ich mich intensiv mit C++ auseinander gesetzt. Ich kaufte mir innerhalb der letzten 4 Jahre folgende Bücher:
1. Die C++ Programmiersprache (deutsche übersetzung der englischen Special Edition)
2. Modern C++ (englisch)
3. Effective C++ (3. Edition, englisch)
4. C++ Coding Standards (englisch)
5. C++ Templates: The Complete Guide (englisch)
6. The Design and Evolution of C++ (englisch)
Ich fand alle dieser Bücher sehr erhellend. Im Nachhinein würde ich (1), (3), (5), (6) als sehr wertvoll einschätzen. Vom Programmierstil hatte ich eigentlich erwartet, dass da wieder so etwas Pascal-ähnliches rauskommen wird, da ich mich noch daran erinnerte, dass man da auch per new/dispose Objekte manuell auf dem Heap anlegen und löschen musste. Ich war dann aber sehr positiv von den Destruktoren überrascht und dem Bestreben von C++, die Grenze zwischen eingebauten und selbstdefinierten Typen so stark wie möglich aufzuweichen.Das C++0x Vorhaben habe ich auch immer verfolgt und diverse Nxxxx.PDFs regelrecht verschlungen. Es hat aber eine Weile gedauert, bis ich den "Standardsprech" verstanden habe.
Ich kann nur jedem empfehlen, der "richtig" C++ lernen will, sich auch mit der Literatur auseinanderzusetzen, die es dazu gibt. Ich habe immer wieder den Eindruck, dass das, was solche Bücher zu bieten haben, stark unterschätzt wird.
Vor kurzem habe ich Hobby-mäßig mit Python angefangen.
kk
-
Ok, dann ist für mich also Bücher lesen und ewig weiterlernen angesagt
.
-Skotchy
-
Skotchy schrieb:
Ok, dann ist für mich also Bücher lesen und ewig weiterlernen angesagt
.
Ich würde es so sagen: Sofern man nicht gerade durchgehend (z.B. beruflich) programmiert, sollte man bei C++ davon ausgehen das man nach einem Jahr die Grundlagen kann, nach 2 Jahren einen relativ festen Stand hat (Hier empfehle ich u.a. Effective C++ / Exceptional C++ für Aha-Effekte) und danach sich etwas mit den Tiefen (z.B. fortgeschrittene Templatetechniken, nichts zwangsweise Metatemplateprogrammierung) auseinander setzt.
Die Materie lässt aber in jeder Richtung Vertiefungsmöglichkeiten zu, und man lernt daher nicht aus, auch wenn die Aha-Effekte vielleicht mit der Zeit seltener werden.
Wirklich "gute" und einigermaßen umfassende C++ Kenntnisse erwarte ich von niemanden, der sich weniger als 3 Jahre intensiver mit C++ auseinander gesetzt hat.
-
Was auch immer wieder lehrreich ist: Fragen hier im Forum lesen, selber Gedanken drüber machen und am Ende mit den Lösungsvorschlägen der anderen vergleichen.