Buchempfehlung für C++
-
Falls das hier nicht der richtige Ort für so eine Frage ist, bitte im um Entschuldigung.
Ich wollte mich nur mal kurz nach ein paar Buchempfehlungen(C++) umhören. Im Moment habe ich das Buch C++ für Dummies im Auge. Habt ihr irgendwelche Bücher, welche ihr als besonders lesenswert empfindet? In C# habe ich bereits ziemlich gute Kenntnisse und in Python und Java Grundkenntnisse. Die Bücher sollten auf deutsch oder englisch sein.Danke schon mal in Voraus : )
-
@Tom_hj38d sagte in Buchempfehlung für C++:
Im Moment habe ich das Buch C++ für Dummies im Auge.
Du hast die allererste Rezession von einem "Andreas" gelesen??
Teilweise ist es schon sehr gut erklärt. Teilweise aber sind die Beispiele einfach nur unnötig kompliziert. Warum man z.B. alles mit Tiefkühlprodukten erklärt ist mit schleierhaft.
Viel schlimmer sind die Fehler im Code. Davon gibt es einige. Da fragt man sich wie man es schafft so schwere Fehler zu machen, wenn man ein Buch über C++ schreibt.
Besonders schlimm ist ein Fehler im Kapitel über Pointer. Eines der wichtigsten Themen in C++ das nicht so einfach zu verstehen ist, darf keine Fehler enthalten!
Später gibt es auch noch eine Funktion "RemoveObserver". Die tut auf keinen Fall irgendwas sinnvolles. Was soll das?Hier die Funktion:
void Subject::RemoveObserver(Observer *Item) { int i; bool found = false; for (i=0; i < Count; i++) { if (found) { } else if (List[i] == Item) { found = true; List[i] = List[i+1]; } if (found) { Count--; } } }
Was hat sich der Autor denn dabei gedacht? Ist ja schon sehr peinlich, wenn man so eine simple Funktion so falsch in ein Buch veröffentlicht.
Alleine schon
int i; bool found = false; for (i=0; i < Count; i++)
nene, lass bitte die Finger davon. Auch der Beschreibungstext auf Amazon ... UML ... why??
-
@Swordfish Danke für deine Antwort. Ja, die Bewertung hat mich auch etwas stutzig gemacht. Das Buch ist wohl eine Übersetzung aus dem englischen, wobei das englische Buch aber recht oft empfohlen wird. Hättest du denn ein anderes Buch, welches du mir empfehlen könntest?
-
@Tom_hj38d Darf ich Dich erstmal an diese Threads verweisen?
-
@Swordfish sagte in Buchempfehlung für C++:
class Subject { ... protected: Observer *List[100]; ... } > void Subject::RemoveObserver(Observer *Item) > { > int i; > bool found = false; > for (i=0; i < Count; i++) > { > if (found) > { > } > else if (List[i] == Item) > { > found = true; > List[i] = List[i+1]; > } > if (found) > { > Count--; > } > } > }
Blasphemie - wenn man eine C++ Klasse schreibt um mit C-Pointern zu werkeln.
Und dabei ist C++ doch (von einem ahnungslosen Theoretiker) geschaffen worden, um eben nicht mit so einem undurchsichtigen Teufelswerk wie rohen C-Pointern umgehen zu müssen, und hier wirds sogar Anfängern oktroyiert.
Wenn man keine Ahnung von Pointern hat und es auch nicht will, soll mans halt bleiben lassen.
-
@Swordfish sagte in Buchempfehlung für C++:
Was hat sich der Autor denn dabei gedacht?
LOL. Der kann wohl echt nicht programmieren.
-
@Swordfish Vielen Dank für den Verweis. Werde mir wohl "Der C++-Programmierer" von Ulrich Breymann zulegen. Ob sich eine Einführung des selben Autor auch noch dazu lohnen würde?
-
@Tom_hj38d Um € 10,- ist wohl nicht viel kaputt, aber ich glaube Der C++-Programmierer sollte für den Einstieg reichen.
-
@Swordfish Okay, vielen Dank für die Beratung : )
-
@Wutz sagte in Buchempfehlung für C++:
Blasphemie - wenn man eine C++ Klasse schreibt um mit C-Pointern zu werkeln.
sieht so aus, als wäre das mal c-code gewesen, den der autor in aller eile zu c++ umgestrickt hat.
-
@Wutz sagte in Buchempfehlung für C++:
Und dabei ist C++ doch (von einem ahnungslosen Theoretiker) geschaffen worden
Ja, all diese Theoretiker in den Bell Labs ...
-
@manni66 sagte in Buchempfehlung für C++:
@Wutz sagte in Buchempfehlung für C++:
Und dabei ist C++ doch (von einem ahnungslosen Theoretiker) geschaffen worden
Ja, all diese Theoretiker in den Bell Labs ...
herabsetzung von kopfarbeitern ist auf einem programmierer-board wirklich selten.
-
@Swordfish Ich habe da nochmal ne Frage. Bald kommt ja der neue ISO C++20 Standard. Lohnt es sich trotzdem ein Buch mit dem C++17 Standard zu kaufen? Im Internet steht "C++20 wird Art und Weise ändern, wie wir in modernem C++ programmieren." Wie ich das sehe, werden neue Funktionen in die Sprache implementiert. Das Grundgerüst wird sich jedoch nicht ändern.
-
Bis brauchbare Bücher zu C++ 20 erscheinen wird noch ein Jahr vergehen.
Ich denke, dass Modules und Concepts den Code stark beeinflussen werden. Aber das kannst du dann wie alle anderen auch lernen.
-
Ich glaube dass Modules und Concepts den Code von Otto-"ich schreibe ein Programm mit Libraries die andere für mich programmiert haben"-Normalprogrammierer gar nicht so krass verändern werden.
Davon abgesehen dass was @manni66 geschrieben hat
-
@hustbaer Danke euch beiden