C++ Fortgeschrittene Bücher
-
Hallo,
ich habe nun ein C++ Buch fertig gelesen, aber weiß nicht so recht, mit was ich am besten Fortfahren soll. In dem C++ Buch wurden nur die Grundprinzipien erklärt, also nichts weiterführendes.
Was wäre den ein gutes weiterführendes Buch? Bzw. was wäre sinnvoller, wenn ich es zuerst lese? Bücher über MFC oder WinAPI? Bzw. über OpenGL und DirectX? Oder über Algorithmik? Ober über besseren Code?
Und was wäre den dafür gute Bücher?Was sind die Standartwerke, die ein C++ Programmier zu Hause stehen haben sollte?
-
Bei mir sinds:
- Die C++ Programmiersprache
- Effektiv C++ Programmieren
- (bald) Exceptional C++
- (bald) Modern C++ Design
Spezifische Standard-Literator für die WinAPI ist:
- Windows-Programmierung von Charles Petzold
Die MFC würde ich nicht mehr so unbedingt empfehlen. Für speziellere Literaturempfehlungen solltest du dich dann lieber in ein Unterforum begeben.
:xmas1:
-
GoZu schrieb:
Was wäre den ein gutes weiterführendes Buch? Bzw. was wäre sinnvoller, wenn ich es zuerst lese? Bücher über MFC oder WinAPI? Bzw. über OpenGL und DirectX? Oder über Algorithmik? Ober über besseren Code?
Und was wäre den dafür gute Bücher?Gegenfrage: Was ist dein Ziel?
MFC ist eine zwar noch übliches, aber vom Codestil her recht antiquares Framework, WinAPI ist zwar unter Windows eine Grundlage, aber hat mit C++ nur wenig gemein (Imho sehr schlechter C-Stil). Darüber hinaus gibt es noch viele andere UI-Frameworks die Teilweise portabler oder mindestens moderner sind.
Nur wenn du direkt mit DirectX hantieren willst (häufig wird eher auf Wrapper verwiesen), wären WinAPI-Kenntnisse sicherlich nicht verkehrt.
Wenn es aber um weiterführende "C++"-Literatur geht, kann ich dir nur raten auch ein Blick in die Bücherreihen von Scott Meyer* (Effectiv...) und Herb Sutter (Exceptional...) zu werfen (Zudem würde ich zu der C++ Bibel [Die C++ Programmiersprache, von Bjarne Stroustrup] im Regel unterbringen).
* Selbst wenn du dir nicht alle Bücher antun willst, würde ich mindestens zu einer aktuellen Ausgabe von "Effektiv C++ Programmieren" greifen.
P.S: "Ad aCTa" war schneller, hat aber scheinbar die gleiche Büchermeinung... (Wenn gleich ich alle Bände der effectiv&exceptional-Reihe im Regal stehen habe - wobei man klein anfangen sollte ;p)
-
GoZu schrieb:
Hallo,
ich habe nun ein C++ Buch fertig gelesen, aber weiß nicht so recht, mit was ich am besten Fortfahren soll. In dem C++ Buch wurden nur die Grundprinzipien erklärt, also nichts weiterführendes.
Was wäre den ein gutes weiterführendes Buch? Bzw. was wäre sinnvoller, wenn ich es zuerst lese? Bücher über MFC oder WinAPI? Bzw. über OpenGL und DirectX? Oder über Algorithmik? Ober über besseren Code?
Und was wäre den dafür gute Bücher?Buch: "Die C++ Standardbibliothek"
Braucht man nämlich immer mal wieder als Nachschlagewerk.Für Algorithem gibt's das Buch Algorithemn & Datenstrukturen aus dem Adison Wesley Verlag.
-
Kommt drauf an was du denn machen willst.
Um mehr ueber C++ allgemein zu lernen ist Effective C++ von Scott Meyers (in Deutsch: "Effektiv C++ programmieren") absolut Pflicht (stell sicher dass du die 3. Ausgabe hast! Die ist neu und ersetzt die beiden aelteren Titel "Effective C++ (2. Ausgabe)" und "More Effective C++"). Danach schadet ein Buch ueber die Standardbibliothek/STL vllt. nicht (aber Effective C++ solltest du vorher schon gelesen haben).
Eher abraten wuerde ich persoenlich von "Die C++ Programmiersprache", auch wenns manche als Bibel bezeichnen. Ist in den ersten Jahren als C++ Programmierer vollkommen unnuetz und viel zu kompliziert geschrieben. Als 3. C++ Buch wuerd ich dann eher zu Sachen wie "Modern C++ Design" oder "C++ Template Metaprogramming" in Angriff nehmen.Wenn du mehr ueber Software-Design und Architektur wissen willst, solltest du dir was zu Entwurfsmuster zu Gemuete fuehren. Entwurfsmuster von Kopf bis Fuß ist da ein sehr Einsteigerfreundliches Buch.
Wenn du grafische Oberflaecen (GUIs) entwerfen willst, hast du viele veschiedene GUI-Bibliotheken zur Auswahl. WinAPI und MFC sind dabei IMO zwei der schlechtesten Vertreter. Aber schau mal in die FAQ des GUI-Subforums, da findest du einen Thread zu GUI-Bibliotheken. Entscheid dich fuer eine, danach kann man dir Literatur dazu empfehlen.
Wenn du Spiele/Grafische Effekte programmieren willst, hast du auch wieder mehrere Moeglichkeiten: DirectX oder OpenGL. Zu ersterem wird gern "Spieleprogrammierung mit DirectX" vorgeschlagen, zu OpenGL gibts eigentlich kein echtes Standardwerk.
Zum Thema "Algorithmen und Datenstrukturen" gaebs auch viel, das man eigentlich unbedingt wissen sollte. Aber ich kenne keine Buch, das ich vollauf weiterempfehlen koennte.
-
Hier werden sehr viele Bücher gelistet:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-251551.htmlEher abraten wuerde ich persoenlich von "Die C++ Programmiersprache", auch wenns manche als Bibel bezeichnen. Ist in den ersten Jahren als C++ Programmierer vollkommen unnuetz und viel zu kompliziert geschrieben
Ich habe das als zweites C++ Buch gelesen. Und natürlich ist es sehr schwer geschrieben, aber ich muss sagen, dass ich recht viel draus genommen habe. Und das gute ist halt, dass man sich immer mal wieder dran erinnert da was drin gelesen zu haben und dann erneut reinschauen kann.
Zum Thema "Algorithmen und Datenstrukturen" gaebs auch viel, das man eigentlich unbedingt wissen sollte. Aber ich kenne keine Buch, das ich vollauf weiterempfehlen koennte.
Ich habe die Bücher zwar (noch) nicht gelesen, aber Knuth hat da ja seine berühmte Reihe:
The Art of Computer Programming:
http://www-cs-faculty.stanford.edu/~knuth/taocp.html
Habe aber auch ein paar komische Sachen drüber gehört, werde aber Morgen mal in der Informatik Bibliothek reinschnuppern und mir dann wahrscheinlich mal den ersten Band kaufen.Grundsätzlich kann ich aber die oben genannten Bücher (fast) alle auch selbst empfehlen!
-
Ad aCTa schrieb:
Bei mir sinds:
die WinAPI ist:- Windows-Programmierung von Charles Petzold
Ist dieses Buch für einen C++ Programmierer zu empfehlen?
-
WinaPI schrieb:
Ad aCTa schrieb:
Bei mir sinds:
die WinAPI ist:- Windows-Programmierung von Charles Petzold
Ist dieses Buch für einen C++ Programmierer zu empfehlen?
Wenn er WinAPI programmieren will, bleibt ihm wohl nichts anderes übrig. Wobei man bereits gefestigt in C++ sein sollte um nicht auf den dunklen Pfad abzudriften.
MfG SideWinder
-
drakon schrieb:
Hier werden sehr viele Bücher gelistet:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-251551.htmlEher abraten wuerde ich persoenlich von "Die C++ Programmiersprache", auch wenns manche als Bibel bezeichnen. Ist in den ersten Jahren als C++ Programmierer vollkommen unnuetz und viel zu kompliziert geschrieben
Ich habe das als zweites C++ Buch gelesen. Und natürlich ist es sehr schwer geschrieben, aber ich muss sagen, dass ich recht viel draus genommen habe. Und das gute ist halt, dass man sich immer mal wieder dran erinnert da was drin gelesen zu haben und dann erneut reinschauen kann.
Guter Punkt. Es war auch mein 2. Buch, und ich hab mir dabei gedacht "ist mir zu hoch" und habs nie wieder angefasst. Sollt ich vielleicht jetzt mal wieder rauskramen
Zum Thema "Algorithmen und Datenstrukturen" gaebs auch viel, das man eigentlich unbedingt wissen sollte. Aber ich kenne keine Buch, das ich vollauf weiterempfehlen koennte.
Ich habe die Bücher zwar (noch) nicht gelesen, aber Knuth hat da ja seine berühmte Reihe:
The Art of Computer Programming:
http://www-cs-faculty.stanford.edu/~knuth/taocp.html
Habe aber auch ein paar komische Sachen drüber gehört, werde aber Morgen mal in der Informatik Bibliothek reinschnuppern und mir dann wahrscheinlich mal den ersten Band kaufen.Der Knuth ist echt nix fuer Programmieranfaenger!
-
Es geht hier doch um Fortgeschrittene Bücher, oder etwa nicht?
-
Hallo,
danke schon mal für die vielen und informativen Antworten.
Also um das ganze einmal besser beschreiben zu können, hier eine Liste von Büchern, die ich besitze (und teilweise gelesen habe):
Jetzt lerne ich C++
http://www.amazon.de/Jetzt-lerne-ich-Jesse-Liberty/dp/3827268303/ref=sr_1_4?ie=UTF8&s=books&qid=1260809641&sr=8-4
Das war eigentlich mein Einsteigerbuch, obwohl ich nebenbei auch immer in anderen Büchern teilweise Kapitel gelesen habe.Jetzt lerne ich Spieleprogrammierung mit DirectX
http://www.amazon.de/Spieleprogrammierung-DirectX-einfache-Einstieg-Programmierung/dp/3827269555/ref=sr_1_5?ie=UTF8&s=books&qid=1260809786&sr=1-5
Dieses Buch lese ich zur Zeit, um einige Konzepte zu wiederholen und um in die Grafikprogrammierung einzutauchen und auch kleinere Windows-Programme zu schreiben. Mit diesem Buch werde ich aber wahrscheinlich in den nächsten Tagen fertig sein.C/C++: Von den Grundlagen zur professionellen Programmierung
http://www.amazon.de/Von-den-Grundlagen-professionellen-Programmierung/dp/3898428397/ref=sr_1_2?ie=UTF8&s=books&qid=1260809919&sr=1-2
Dieses Buch habe ich in der 2ten Auflage und vor ein paar Jahren einmal gelesen. Zur Zeit lese ich nur ausgewählte Kapitel, welche sich mit interessanten Konzepten befassen.3D-Spiele-Programmierung Kompendium
http://www.amazon.de/3D-Spiele-Programmierung-Kompendium-Professionelle-Entwicklung-3D-Engines/dp/3827268575/ref=sr_1_3?ie=UTF8&s=books&qid=1260810053&sr=1-3
Dieses Buch wollte ich eigentlich lesen, allerdings bin ich erst nach dem Kauf draufgekommen, dass viele Vorkentnisse vorrausgesetzt werden (z.b. WinAPI, weshalb ich mich auch darin einarbeiten wollte).3D-Effekte für Spieleprogrammierer
http://www.amazon.de/3D-Effekte-Spieleprogrammierer-Profirezepte-realistische-Spielewelten/dp/3827267781/ref=sr_1_1?ie=UTF8&s=books&qid=1260810216&sr=1-1
Dieses Buch liegt auch bei mir zu Hause rum und wird gelesen, sobald ich das vorherige gelesen habe.Aus euren Antworten und aus meinem Interessengebiet habe ich nun folgende Bücher ausgewählt:
Effektiv C++ programmieren
http://www.amazon.de/Effektiv-programmieren-M%C3%B6glichkeiten-Programme-verbessern/dp/3827326907/ref=sr_1_1?ie=UTF8&s=books&qid=1260701609&sr=8-1Die C++-Standardbibliothek
http://www.amazon.de/Die-C-Standardbibliothek-Einf%C3%BChrung-Nachschlagewerk/dp/3540256938/ref=sr_1_1?ie=UTF8&s=books&qid=1260794010&sr=1-1und vielleicht:
Windows-Programmierung: Das Entwicklerhandbuch zur WIN32-API
http://www.amazon.de/Windows-Programmierung-Das-Entwicklerhandbuch-zur-WIN32-API/dp/3860631888/ref=sr_1_1?ie=UTF8&s=books&qid=1260303563&sr=8-1Ist es aufgrund der oberen Bücher sinnvoll, mich mit der WinAPI zu beschäftigen (und wenn es nur für das theoretische Wissen ist...)? Und gibt es aufgrund der oberen Bücher sonst noch irgendwelche Bücher, welche Ihr mir vorschlagen könnt? Danke auf jeden Fall schon mal.
edit: Übrigens, da ich zur Zeit beim Bundesheer bin und dort 24 Stunden Dienste schieben muss, kann ich ziemlich schnell Bücher lesen, allerdings eben nicht praktisch nebenbei die Programme testen! Wäre es deshalb nicht gescheiter, wenn ich Bücher über Theorie lesen würde? Was wären den da vernünftige?
-
Lies erstmal Effective C++ und Exceptional C++, bevor du dich an irgend welche APIs wagst. The C++ Programming Language vom Stroustrup persönlich, würde ich dir aber auch empfehlen.
Gerade die WinAPI hat immer die Gefahr, dass man den äußerst miesen Programmierstil übernimmt. Und wird die nicht ohnehin von dem .NET-Zeugs ersetzt?
-
rüdiger schrieb:
Gerade die WinAPI hat immer die Gefahr, dass man den äußerst miesen Programmierstil übernimmt. Und wird die nicht ohnehin von dem .NET-Zeugs ersetzt?
Dem ersten kann ich nur zustimmen, letzteren nicht ganz. Ja, es gibt inzwischen Bereiche in .Net, die nicht mehr auf der WinAPI basieren (wie z.B. WPF). Aber ich bezweifel das in den nächsten 2-3 Windowsversionen die API ersetzt wird (Wobei: Hoffnung nicht aufgeben).
-
rüdiger schrieb:
Gerade die WinAPI hat immer die Gefahr, dass man den äußerst miesen Programmierstil übernimmt.
da musste dann hart bleiben und konsequent den eigenen programmierstil durchziehen, egal wie hässlich auch manche winapi-funktionen sein mögen. ausserdem ist die winapi historisch gewachsen, das sollte man auch nicht vergessen.
-
rüdiger schrieb:
Gerade die WinAPI hat immer die Gefahr, dass man den äußerst miesen Programmierstil übernimmt.
Wo ist denn da äußerst mieser Programmierstil? Zielt das jetzt nur auf die falschverstandene UN ab, oder meinst du etwas anderes?
-
rüdiger schrieb:
Und wird die nicht ohnehin von dem .NET-Zeugs ersetzt?
.NET wird nur die äußere Schale bleiben. In den nächsten 10 Jahre wird die WinAPI bestehen bleiben wie wir Sie kennen.