Buchempfehlung?
-
Hallo, ich überlege momentan aufgrund des Bevorstehens von Weihnachten mir ein zweites Buch über C++ zu kaufen (bzw. kaufen zu lassen). Das erste Buch hat die Syntax von C++ erklärt und auch wie man Teile der STL benutzt. Allerdings habe ich immer noch Probleme mit dem Programmieren von C++.
Gründe dafür sind (leicht überspitzt):
--->Keine Ahnung von Klassendesign
--->Keine Ahnung, wie man an größere Projekte rangeht ohne schon bei der Planung zu verzweifeln
--->Kein Gesamtüberblick über den Programmierstil von C++Mein Ziel ist das Umsetzen kleinerer Amateurprojekte mit einem schönen Design.
Dementsprechend suche ich also ein Buch, welches mir dies im Bezug zu C++ (mit Standard-C++) erklärt. Am besten mit Beispielprojekten und Erklärung der Gedankengänge bei der Entwicklung. Gefunden habe ich schon "Thinking in C++". Ich überlege nun mir dies zu Weihnachten zu wünschen, damit etwas handfestes zum Lesen habe und nicht immer die PDF öffnen muss. Zur Auswahl stände auch "Programming: Principles and Practice Using C++ " von Bjarne Stroustrup. Allerdings habe ich schliesslich schon ein Buch über C++ gelesen und möchte nicht erst wieder 200 Seiten lesen, bis etwas Neues kommt. Ausserdem soll dieses Buch sehr langatmig sein und ich glaube, dass dieses Buch etwas zu professionell für mich ist.
Welches Buch könnt ihr mir empfehlen?
-
Such mal auf amazon nach "c++ der programmierer" da wird zwar auf syntax eingegangen aber auch ein grosser schwerpunkt auf programmierstil bzw sicherheit beim programmieren eingegangen. Wenn du auf das artikelbild klickst kannst du vorauslesen. Zumindest mal die inhaltsangabe. Schau einfach ob die themen deinen vorstellungen entsprechen.
Wünsch dir ein frohes fest :xmas1:
-
Also meine Empfehlungen wären:
- Der C++ Programmierer
- Programming: Principles and Practice Using C++Ersteres habe ich selbst gelesen, fand es wirklich gut. Zweiters wird auch öfters empfohlen und trägt ja auch
Designim Titel. :p
-
"Der C++ Programmierer" ist zwar ein sehr gutes Buch, aber ich bin nicht sicher, ob es für diesen speziellen Fall die richtige Empfehlung ist.
Wenn ich den TE richtig verstanden habe, geht es vor allem um das "große Ganze" und darum, wie sich die Einzelteile sinnvoll zusammensetzen und ein Projekt planen lassen.
Ich glaube ehrlich gesagt auch nicht, dass es soetwas speziell auf C++ zugeschnitten gibt. Hier scheint mir ein Buch über Softwarearchitektur und Entwurfsmuster angebrachter.
Da ich selbst noch nicht ansatzweise an dem Punkt angelangt bin, an größere Projekte überhaupt zu denken, kann ich leider keine Literaturempfehlung geben, aber das wäre zumindest mein Gedanke für die grobe Richtung.
-
Selbst kleinere Projekte stellen für mich ein Problem dar.
Ich bin mir häufig sehr unsicher, welcher Weg elegant ist und welcher nicht. Ich komme aus einer prozeduralen Sprache und bin noch nicht so richtig in der OOP angekommen.Im Inhaltsverzeichniss von "Der C++-Programmierer" gibt es zwar wirklich interessante Überschriften ("Leere Standardkonstruktoren vermeiden", "Von der UML nach C++", "Sichere Programmentwicklung", "Wie kommt man zu Klassen und Objekten? Ein Beispiel"). Allerdings weiss ich nicht, ob sich die Anschaffung von 50€ für etwas mehr als 50% des Inhalts lohnt. Der Rest wäre nur Wiederholung (die ich eigentlich nicht benötige).
Vielleicht interpretiere ich meine Probleme auch nur falsch und es mangelt mir an Praxiserfahrung. Oftmals breche ich Projekte schon früh ab, weil mir einfach kein schönes Design einfällt. Meine Ideen würden zwar funktionieren, aber oftmals kommen in ihnen merkwürdige Ansätze vor, bei denen ich schon mehrmals gelesen habe, dass sie schlechtes Design sind.
Was mir bestimmt auch helfen würde:
a) Ein fertig geplantes Projekt zum Umsetzen (UML-Diagramme etc). Während des Programmierens würde ich die Gedankengänge bestimmt selber nachvollziehen können.
b) Ein kleines Gruppenprojekt bei dem ich zumindest Zuhören kann wie Leute ein Projekt planen. Problem ==> Bei diesen Gruppen sind meist auch nur Anfänger dabei, sodass allgemeine Unwissenheit herrscht.
-
Kauf es nur das gute Stück es wird sich lohnen!
-
Potentieller Buchleser schrieb:
Ich bin mir häufig sehr unsicher, welcher Weg elegant ist und welcher nicht.
Die "eleganten" Wege sind genau diejenigen, die dir kurz- und langfristig Arbeit sparen.
Potentieller Buchleser schrieb:
Oftmals breche ich Projekte schon früh ab, weil mir einfach kein schönes Design einfällt.
Das ist ein grober Fehler, denn so wirst du nie an die dir noch fehlende Praxiserfahrung kommen. Mach es so, wie du denkst, dass es funktioniert. Ob es langfristig tatsächlich gut funktioniert, wirst du dann selbst sehen - besonders wichtig ist dabei, dass du genau sehen wirst, warum es funktioniert bzw. nicht funktioniert.
-
Potentieller Buchleser schrieb:
Was mir bestimmt auch helfen würde:
a) Ein fertig geplantes Projekt zum Umsetzen (UML-Diagramme etc). Während des Programmierens würde ich die Gedankengänge bestimmt selber nachvollziehen können.Wenn du (schon) Java oder C# kannst, dann würde ich dir das Buch "UML 2: Das umfassende Handbuch" empfehlen, denn darin machst du genau das, was du in a) beschrieben hast.
Das Buch enthält bereits den fertigen Code in Java und C#, aber es führt dich in die OOP Denke gut ein, so daß es Klick machen kann.
Du kannst natürlich auch versuchen, den gegebenen Code gleich in C++ zu realisieren, hier kannst du dann schonmal von einem schönen OOP Design ausgehen, aber guten effizienten C++ Code müßtest du dann schon selber schreiben.
http://www.amazon.de/UML-umfassende-Handbuch-Galileo-Computing/dp/383621752X