Meinung zu Büchern der Art: Effective C++: 50 Specific Ways to Improve Your Programs and Designs
-
"Effective C++" gehoert zur Standardliteratur, wenn man einen guten C++ Stil entwickeln moechte. Es lohnt sich auf jeden Fall, so etwas zu lesen, wenn man...
... 1. einen guten Stil haben moechte.
... 2. schon etwas C++ programmiert hat.
-
Bitte ein Bit schrieb:
Ich stoße in letzter Zeit immer wieder auf Büchern der Art: "Effective C++".
Effective C++ ist AFAIK 1992 erstmals erschienen und soweit ich mich erinnern kann, wird es hier im Forum schon immer als klassisches Standardwerk gehandelt, das man mal gelesen haben sollte. Da findest du bestimmt einschlägige Postings von volkard u.a. aus dem Jahr 2000 oder 2001. Wenn dir das in letzter Zeit ständig über den Weg läuft, muss das wohl an dir liegen. Oder meinst du tatsächlich mit "Büchern der Art" andere Bücher, die das Konzept imitieren?
Bücher welche offenbar neue Programmierelemente/-paradigmen zeigen wollen.
Will es doch gar nicht. Effective C++ zeigt, wie man in dem unübersichtlichen Haufen an Features, der C++ eigentlich ist, einen sinnvollen Stil findet. Vielleicht meinst du ja doch ein völlig anderes Buch.
Wie sieht ihr das ?
Ich finde es unproduktiv, über Bücher zu diskutieren, die man noch nichtmal durchgeblättert hat.
-
2.) Was bedeutet "akademische Sicht" fuer dich?
Kann das Einführen eines solchen Buches Teil eines Vorgehensmodells zur Entwicklung sein ? Was ist der Unterschied zu Design Pattern ? Ist aber nach dem Thread von asc klar.
Was meinst du mit "lohnen"? 100 Euro + Lesezeit + Uebung gerechnet auf welchen Zeitraum bei welchen Anwendungen? Anwendungen wie in deinem Beispiel? Lol.
1.) Ist die Zielgruppe Anfänger, Fortgeschrittene oder Profis ?
2.) Ist die Errata nicht übermäßig groß (unter 5 Seiten) ?"Effective C++" gehoert zur Standardliteratur, wenn man einen guten C++ Stil entwickeln moechte. Es lohnt sich auf jeden Fall, so etwas zu lesen, wenn man...
... 1. einen guten Stil haben moechte.
... 2. schon etwas C++ programmiert hat.Ich habe schon einiges in C++ gemacht, und ich möchte auch gerne einen guten Stil haben. Insbesondere wenn man schlechte Codebeispiele sieht.
Ich finde es unproduktiv, über Bücher zu diskutieren, die man noch nichtmal durchgeblättert hat.
Naja, ich habe ein wenig um die Ecke gedacht. Ich war am überlegen ob ich mir das Buch zulegen soll und wollte verhindern das ich an schlechtes Buch ala Jürgen Wolf gerate, da dieser auf Amazon auch inzwischen sehr gute Rezessionen bekommen hat. Und genau deswegen war dieser Thread eine Entscheidungshilfe für mich.
Aber so wie es momentan aussieht habe hole ich mir doch das Buch. Danke Leute für die Hilfe.
-
Effective C++ ist auf alle Fälle Pflicht, wenn du C++ schreibst. More Effective C++ ist auch fein, aber nicht gar so bitter für jeden nötig wie das erste. Würde nicht an einem C++-Projekt mitarbeiten wollen, wo nicht alle Entwickler den Meyers gelesen haben oder zumindest den Inhalt kennen.
-
1.) Ist die Zielgruppe Anfänger, Fortgeschrittene oder Profis ?
2.) Ist die Errata nicht übermäßig groß (unter 5 Seiten) ?1.) Kann man leicht selbst herausfinden.
2.) siehe erstens
-
Bitte ein Bit schrieb:
1.) Ist die Zielgruppe Anfänger, Fortgeschrittene oder Profis ?
2.) Ist die Errata nicht übermäßig groß (unter 5 Seiten) ?Zu 1: Ich würde sagen es liegt in allen Bereichen ein wenig. Alle drei Gruppen können in dem Buch sinnvolles finden, das Buch ist auch nicht zwangsweise zum Durchlesen von vorne nach hinten ausgelegt.
Zu 2. Das kann ich dir bei EC++ nicht sagen, es empfiehlt sich aber immer zur neuesten Auflage zu greifen, da sich der Inhalt beispielsweise von der ersten zur dritten Auflage stark geändert hat. More Effective C++ wiederum ist älter (gegenüber der letzten Auflage von EC++) und in Teilen veraltet (Wobei dennoch sinnvolles darin zu finden ist). Effective STL finde ich auch nicht so verkehrt (wobei EC++ das wichtigste davon bleibt).
Ich glaube zu jeder etwas besseren C++ Bibliothek sollte EC++ gehören.
-
Bitte ein Bit schrieb:
Lohnen sich solche Bücher?
Das Original von Meyers (nur Band 1) lohnt sich auf jeden Fall.
Aber unzählige Trittbrettfahrer, die "Effektiv was anderes" schreiben und nicht Meyers heißen, kannste in der Pfeife rauchen.
-
Wie schon gesagt wurde sind die Effective C++-Bücher Standardliteratur. Grundsätzlich würde ich folgendes sagen: Wenn du die C++ Grundlagen einigermaßen kennst (du musst sie noch nicht aus dem ff beherrschen), und wenn du vorhast, mehr als Hello World und das 25.000ste Adressbuch zu schreiben, auf jeden Fall bedenkenlos in aktuelle Auflagen von Büchern investieren kannst, deren Autoren Scott Meyers, Herb Sutter und Andrej Alexandrescu heißen. Wobei das Standardwerk von Andrej eher schon was für fortgeschrittene Template-Fans ist.
-
volkard schrieb:
Aber unzählige Trittbrettfahrer, die "Effektiv was anderes" schreiben und nicht Meyers heißen, kannste in der Pfeife rauchen.
Effective Java fand ich ganz gut.
Aber ja, der Titel alleine sagt sehr wenig aus. Marc++us' Buch OOP für Dummies hat ja auch einen wahnsinnig dämlichen Titel.
@pumuckl:
Ich würde Alexandrescu nicht als Standard Literatur sehen. Sein Modern C++ Design ist ziemlich schräg. Klar ist es wahnsinnig interessant zu lesen aber ich denke Bücher von Sutter und Meyers bringen einem viel weiter als er.
-
Exceptional C++ bzw. GotW finde ich übrigens auch sehr gut. Aber Effective C++ ist natürlich ein Standardwerk und äußert ideal, für Leute mit ersten Erfahrungen in C++.
@Shade
Ich finde Modern C++ Design mittlerweile auch ein bisschen angestaubt. Die Policy-Design ist ja schon länger nicht mehr "en vogue".
-
Shade Of Mine schrieb:
volkard schrieb:
Aber unzählige Trittbrettfahrer, die "Effektiv was anderes" schreiben und nicht Meyers heißen, kannste in der Pfeife rauchen.
Effective Java fand ich ganz gut.
Und Effective C# ist leider für die Tonne.
-
µ schrieb:
Und Effective C# ist leider für die Tonne.
Warum genau? Sind die Tipps falsch, schlecht oder falsch ausgewählt?
-
Bei solchen Büchern reicht es sich das Inhaltsverzeichnis auf Amazon durchzulesen.
-
Bücher wie das von Meyers oder
http://www.amazon.de/Accelerated-Practical-Programming-Example-Depth/dp/020170353X/
versuchen doch eher, C++ einzuführen/zu vertiefen, Sinn und Möglichkeiten oder Besonderheiten der Sprache überhaupt zu vermitteln.
Design Patterns versuchen standardisierte (erprobte) Muster zu vermitteln und das hat auch seinen Sinn, u.a., weil zum Programmieren Nachdenken und Testen auch dazugehört, aber oft wegfällt. Aber das heißt nicht, dass man sie nicht zur Vertiefung einer Sprache mitbenutzen könnte. Prinzipiell könnte man Design Patterns, da sie eine Ebene höher angesiedelt sind, leichter auf andere Sprachen übertragen. Wo man jetzt genau die Grenze ziehen will, hängt sicher auch noch von den jeweiligen eigenen Vorlieben und Erfahrungen ab.
-
pumuckl schrieb:
Wenn du die C++ Grundlagen einigermaßen kennst (du musst sie noch nicht aus dem ff beherrschen), und wenn du vorhast, mehr als Hello World und das 25.000ste Adressbuch zu schreiben, auf jeden Fall bedenkenlos in aktuelle Auflagen von Büchern investieren kannst, deren Autoren ... Andrej Alexandrescu heißen.
Auf jeden Fall sollte man sich auch dieses Buch von Andrej Alexandrescu kaufen:
http://www.amazon.de/D-Programming-Language-Andrei-Alexandrescu/dp/0321635361/
Das gilt erst Recht, wenn man neue Projekte anfängt.
-
rüdiger schrieb:
Die Policy-Design ist ja schon länger nicht mehr "en vogue".
Seit wann?
-
dradinetum schrieb:
rüdiger schrieb:
Die Policy-Design ist ja schon länger nicht mehr "en vogue".
Seit wann?
24.3.2004
Jetzt weißt du's.
-
Kostensparend Programmier schrieb:
Auf jeden Fall sollte man sich auch dieses Buch von Andrej Alexandrescu kaufen:
http://www.amazon.de/D-Programming-Language-Andrei-Alexandrescu/dp/0321635361/
Das gilt erst Recht, wenn man neue Projekte anfängt.
Nenn wirklich gute Gründe warum man das Buch braucht. D wird nahezu nirgends eingesetzt, es gibt kaum Toolunterstützung und bislang dachte ich vor allem das sich der OP tendenziell mit C++ beschäftigt.
-
Mit D ist man schneller am Ziel und die Software ist wartbarer*, all das führt zu einer Kostenersparnis.
* gilt zumindest, solange der Programmierer die Sprache zu nutzen weiß.
Wie sehr man sich mit C++ ins Bein schießen kann, sollte ja hinlänglich bekannt sein. Die beliebteste Sprache ist zur Zeit Java, gerade weil man mit ihr zügig gute Software entwickeln kann, allerdings eignet sich Java nicht für alle Programmieraufgaben, weswegen noch viele Leute an C und C++ hängen.
D springt hier in die Presche und vereint Flexibilität und Leistungsfähigkeit mit gut wartbarem und zügig entwickelbarem Code.Wer mit C versucht OO zu programmieren, der lernt C++ zu schätzen.
Wer sich mit C++ bei der OO Programmierung häufig ins Bein schießt, der lernt Java zu bevorzugen.
Und wer dann nach all dem mit Java sich eingeschränkt fühlt, der lernt D zu schätzen und zu lieben.Was meint denn ihr, warum Andrej Alexandrescu selbst D empfiehlt?
Er hat den Weg durchgemacht.
Von C -> C++ -> Java -> D
-
allerdings eignet sich Java nicht für alle Programmieraufgaben
Nicht falscher verstehen.
Damit will ich sagen, geht mit der Holzhammermethode zwar auch, aber das ist halt alles suboptimal.