Gutes C++ Buch!
-
Matzi schrieb:
...ILS... Eigentlich geht es mir ... um die guten Unterlagen und die Unterstütztung.
ILS in Kombination mit guten Unterlagen/Unterstützung höre ich nur sehr, sehr selten (Gerade wenn es um C++ geht). Zumindest das was ich bislang davon mitbekommen habe deutet darauf hin, das bei ILS keine auch nur halbwegs aktuelle C++ Kenntnisse vermittelt werden. Ich hoffe das hat sich gebessert (Nur glaub ich das eher nicht).
Matzi schrieb:
Kann mir vielleicht jemand ein wirklich gutes Buch empfehlen wo man C++ erlernt sowie auch die Oberflächenprogrammierung mit Visual C++.
Ich kenne KEIN gutes C++ Buch das neben C++ Grundlagen auch noch die Oberflächenprogrammierung lehrt. Dies liegt alleine schon daran, das es unter C++ keine standardisierte GUI-Bibliothek gibt.
In der Regel geht man in 2 (oder besser 3) Schritten vor:
a) Lernen von C++ (ohne GUI) über Bücher wie den "C++ Primer" oder "Thinking in C++"
b) [Kann ggf. später folgen, halte ich aber für sinnvoll] Vertiefen der C++ Kenntnisse (z.B. Effektiv C++ programmieren, Bücher über die C++ Standardbibliothek), vielleicht auch mal die boost-Bibliotheken anschauen...
c) Abhängig von der gewünschten GUI-Bibliothek weiterführende Lektüre suchenFür a und b braucht man alleine schon mehr als ein Jahr.
-
Hier findest du Volume 1 & 2 von "Thinking in C++":
http://eckelbooks.starlinger.org/
Das erste geht auf C++ an sich ein und vermittelt zudem noch allgemeine Programmierkenntnisse, das zweite geht dann Hauptsächlich auf Exceptions (warum auch immer das nicht schon im ersten ist), die Standard-Bibliothek und weiterführende Themen ein.
-
Bücher, pfff... learn-by-doing
-
Man könnte ja auch dem gesunden Menschenverstand folgen und erstmal in die FAQ schauen, weil sich die Frage nach einem guten Buch bestimmt des öfteren vorkommt. Wenn man das tut findet man - oh Wunder! - schnell einen Thread: "Bücher: C++ Lernen - passende Lektüre und richtiger Anfang".
In diesem Sinne: Bitte erst suchen, dann fragen. (siehe dazu bitte auch hier)
-
Matzi schrieb:
... Die Unterlagen sind wirklich gut, aber der Kurs kostet über 2000 Euro.
Über 2000 Euro, für was? Ich habe mir das vor vielen Jahren selbst (autodidaktisch) beigebracht von FORTRAN, PASCAL, C usw. kommend. Wirklich gute Bücher zum Thema sind selten, oft toplastig auf spezielle Compileroberflächen ausgerichtet oder gehen zu schnell in die Tiefen der 'Objektorientierten Programmierung'. Mir haben in den Einstieg drei Bücher geholfen, deren Titel ich aber nicht mehr voll parat habe. C++ für Dummies (deutsch), Hellweg(?) (deutsch) und ein amerikanischer Autor. Man muss in C++ nicht sofort alles wissen und können. Eine gute Grundlage ist und bleibt ANSI-C. Die zusätzlichen Möglichkeiten lernt man durch eigenes Ausprobieren. Du bist E-Techniker, da liegen die Schwerpunkte doch woanders!
-
Wer C++ in einem Buch für C++ Anfänger lernt, der lernt in 95% der Fällen eher C als C++. Ich kann nur GANZ STARK folgendes Buch empfehlen (sobald man die C++ basics einigermaßen kann):
C++ FAQsMan kann noch so gut Algorithmen entwickeln, aber wenn man nicht diszipliniert und durchdacht Sachen wie RAII, Exception Handling, Namenskonventionen usw. anwendet, dann wird man auch niemals ein guter C++ Programmierer sein (sondern höchstens ein guter C Programmierer)...
mfg, René~
-
NewSoftzzz schrieb:
Wer C++ in einem Buch für C++ Anfänger lernt, der lernt in 95% der Fällen eher C als C++.
Kommt vor allem auf das Alter des Buches an. Aktuelle Bücher sind inzwischen auch so weit, dass sie nichtmehr den Weg C->C++ gehen.
-
pumuckl schrieb:
Kommt vor allem auf das Alter des Buches an. Aktuelle Bücher sind inzwischen auch so weit, dass sie nichtmehr den Weg C->C++ gehen.
Dann fehlen dem lernenden aber einige Grundlagen, die er gebrauchen könnte. Z.B. das Verständnis, was ein Programm überhaupt machen soll und wie. Welcher Fahranfänger setzt sich gleich in einen Formel-1-Rennwagen? Ich finde keine geeigneten neuen Bücher, mit denen man für den nachgefragten Zweck etwas anfangen könnte.
-
berniebutt schrieb:
pumuckl schrieb:
Kommt vor allem auf das Alter des Buches an. Aktuelle Bücher sind inzwischen auch so weit, dass sie nichtmehr den Weg C->C++ gehen.
Dann fehlen dem lernenden aber einige Grundlagen, die er gebrauchen könnte. Z.B. das Verständnis, was ein Programm überhaupt machen soll und wie.
Wieso braucht man dafür C? Alleine die Threads von Neulingen in diesem Forum, die mit C angefangen haben, weisen darauf hin, dass das nicht unbedingt der beste Weg ist. Man lernt veraltete Low-Level-Techniken, die in C++ meist nicht mehr verwendet werden, aber wegen der Abwärtskompatibilität praktischerweise weiterhin funktionieren. Entsprechend fehlt oft die Motivation für einen Umstieg, und umständliche Vorgehensweisen und deren Probleme setzen sich fest. Ein Umlernen gestaltet sich meist schwieriger als unvoreingenommenes Neu-Lernen.
Man muss C nicht beherrschen, um C++ lernen zu können. Ich behaupte sogar, dass es sich eher negativ auswirkt (von wenigen vorbildlichen Anfängern, die bisher Gelerntes vorerst vergessen, mal abgesehen). Dinge wie Zeiger lernt man in C++ ebenso gut kennen, doch nebenbei wird einem auch beigebracht, von fehleranfälligen Low-Level-Mechanismen wie manueller Speicherverwaltung zu abstrahieren und moderne Konzepte wie Objektorientierung und generische Programmierung einzusetzen.
berniebutt schrieb:
Welcher Fahranfänger setzt sich gleich in einen Formel-1-Rennwagen?
Welcher Fahranfänger setzt sich vor dem Fahren mit Thermodynamik und Mechanik auseinander?
-
Nexus schrieb:
Man muss C nicht beherrschen, um C++ lernen zu können. Ich behaupte sogar, dass es sich eher negativ auswirkt (von wenigen vorbildlichen Anfängern, die bisher Gelerntes vorerst vergessen, mal abgesehen). Dinge wie Zeiger lernt man in C++ ebenso gut kennen, doch nebenbei wird einem auch beigebracht, von fehleranfälligen Low-Level-Mechanismen wie manueller Speicherverwaltung zu abstrahieren und moderne Konzepte wie Objektorientierung und generische Programmierung einzusetzen.
Schön, dann muss man aber gleich sehr viel auf einmal lernen. Ich behaupte, jeder low-level-Einstieg bringt Anfängern mehr Verständnis für das, was er tun will und noch nicht voll beherrscht!
-
berniebutt schrieb:
Schön, dann muss man aber gleich sehr viel auf einmal lernen.
Ach, ist es besser bestimmte Bereiche zweimal zu lernen? Muss ich erst Bayrisch lernen, damit ich Hochdeutsch lernen darf?
berniebutt schrieb:
Ich behaupte, jeder low-level-Einstieg bringt Anfängern mehr Verständnis für das, was er tun will und noch nicht voll beherrscht!
Man kann low-level auch in C++ Programmieren, ohne zusätzlich die C-Spezialitäten lernen zu müssen. Man muss nicht die C-Kompatibilitätsheader verwenden, wo es C++ Alternativen gibt.
-
berniebutt schrieb:
Schön, dann muss man aber gleich sehr viel auf einmal lernen. Ich behaupte, jeder low-level-Einstieg bringt Anfängern mehr Verständnis für das, was er tun will und noch nicht voll beherrscht!
Ich denke das ist einfach sehr subjektiv. Ich persönlich habe auch lieber einen detailierten Einstieg, aber viele wollen zuerst nicht mit so viel Zeugs konfrontiert werden.
Z.B bei uns an der Uni wird erstmal Eiffel eingeführt. Eine Sprache, welche ohne jegliches Low Level Zeugs auskommt. Viel sind damit anscheinend sehr gut zu recht gekommen gleich mit Klassen zu arbeiten und sich Gedanken über Polymorphie zu machen, anstatt zuerst mal über die Implementierung von Arrays, Umgang mit Zeiger usw. zu beschäftigen.Ich habe zwar auch zuerst mal C gemacht, aber wirklich programmieren gelernt habe ich richtig gleich mit C++.
-
Das sieht mir hier verdächtig nach einem weiteren "C vs. C++"-Flamewar aus und hat wohl kaum noch was mit Buchempfehlungen für den OP zu tun. Ich denk mal wenn da nichts konstruktives zum Thema mehr kommt mach ich hier dicht. Die Diskussion mit welcher Sprache man anfangen sollte hatten wir schon gefühlte 70mal ohne Ergebnis.
-
pumuckl schrieb:
Das sieht mir hier verdächtig nach einem weiteren "C vs. C++"-Flamewar aus und hat wohl kaum noch was mit Buchempfehlungen für den OP zu tun. Ich denk mal wenn da nichts konstruktives zum Thema mehr kommt mach ich hier dicht. Die Diskussion mit welcher Sprache man anfangen sollte hatten wir schon gefühlte 70mal ohne Ergebnis.
Hmm. Scheint so.
@OP
Es sei dir gesagt, dass du definitiv kein C können musst, um C++ zu lernen. Viele (unter anderem auch ich) haben das auch so hingekriegt. Jeder der was anderes behauptet liegt falsch. (Beweis durch Gegenbeispiel. ;))
Aber gewisse Paralellen lassen sich nicht abstreiten, aber gewisse Ähnlichkeiten hat jede Sprache anderen.
-
Vielen Dank für die schnellen Antworten.
-
Was ist mit Breymann, ich denke das ist nicht zu C-lastig.
Ist nicht ganz einfach, aber geht sehr in die Tiefe.
Ich glaube den gibt es mittlerweile in der 9. Auflage.
-
Der C++ Programmierer - Ulrich Breymann
Sehr gutes Buch!
-
Ulrich Breymanns Buch kann man bedenkenlos empfehlen! Sehr aktuell, echtes C++, sehr umfangreich, kein C und trotzdem werden Bits & Bytes erklärt.
-
NewSoftzzz schrieb:
Man kann noch so gut Algorithmen entwickeln, aber wenn man nicht diszipliniert und durchdacht Sachen wie RAII, Exception Handling, Namenskonventionen usw. anwendet, dann wird man auch niemals ein guter C++ Programmierer sein (sondern höchstens ein guter C Programmierer)...
Du hast übersehen, der Fragesteller ist diplomierter Elektro-Techniker. Für ihn erscheinen die fachspezifischen Algorithmen sehr viel wichtiger als einiges von dem, was deiner Meinung nach einen guten C++ Programmierer ausmacht. Disziplin und saubere Namenskonventionen waren schon immer wichtig, das ist nichts neues in C++.
-
Dieser Beitrag wurde gelöscht!