"Inside the C++ O. Model" noch lesbar?
-
Hallo

Wollte mal fragen, ob Stanley Lippmans "Inside the C++ Object Model" heute noch "lesbar" ist?
Chapter 3 in particular was very helpful, in that Lippman explains in detail just how classes are compiled.
Ich meine das v.a in Bezug auf diesen Kommentar. Die Amazon-Rezensionen klingen ganz gut sind aber schon rund 6 Jahre alt
(Ob seitdem niemand dieses Buch mehr gelesen hat
)Wollte mir jetzt nämlich nicht irgendwelches völlig veraltetes Wissen aneignen. Gibt es ein vergleichbares, neueres Werk?
Danke schon mal

-
Gelesen habe ich es nie - aber allein dass es von Stanley Lippmann ist, sollte Grund genug sein es zu lesen
Leider gibt's hier in den Bücherrezis keine darüber.Vom hörensagen soll es aber ziemlich gut sein. Und 6 Jahre? Das ist immernoch 1999, sooo alt ist das nun auch nicht
Ich glaube, Hume Sikkins hat das gelesen und kann Dir dazu sicher noch eine gute Antwort geben. 
-
Das Objektmodell hat sich ja nicht geändert. Es gibt zwar verschiedene Ansätze zur Unterstützung von Mehrfachvererbung - soweit ich mich erinnern kann, hat Microsoft da irgendein blödes Patent, aber die Details dazu kenne ich nicht mehr.
Also interessant ist es sicher, wenn du dich für die Umsetzung der Sprache auf Assemblerebene interessierst. Das Buch kenne ich auch nicht, aber den Namen des Autors natürlich.
-
7H3 N4C3R schrieb:
Ich glaube, Hume Sikkins hat das gelesen und kann Dir dazu sicher noch eine gute Antwort geben.

Jup. Habe es gelesen und fand es hoch interessant. Tatsache ist natürlich, dass nur ein mögliches Objektmodell bzw. mögliche Implementationsstrategien beschrieben werden. Der C++ Standard definiert nun mal kein Objektmodell und keine feste Implementation. Insofern kann man nicht sagen "so und so wird X implementiert". Nichtsdestotrotz hilft es, wenn man weiß, wie bestimmte Features (virtuelle und nicht-virtuelle Funktionen, Vererbung, (virtuelle) Mehrfachvererbung, Exceptionhandling usw.) potentiell implementiert werden können. Danach lässt sich viel leichter abschätzen, was welche Kosten hat und warum (-> gut gegen notorische C-Programmierer die hinter jedem C++ Feature eine Performancebremse vermuten). Außerdem hilft solches Implementationswissen häufig auch bei der Vertiefung des Verständnisses eines Konzepts. Wer z.B. einmal gelesen hat, wie Vererbung umgesetzt werden kann, wird auch keine Probleme damit haben zu verstehen, warum ein reinterpret_cast niemals ein gutes Mittel für ein downcast ist. Man erarbeitet sich einfach ein besseres Verständnis für an sich bekannte Konzepte (z.B. virtuelle Funktionen) dadurch dass man an sich solche einfach mal von der "low-level"-Seite aus anschaut. Neue Perspektive, neue Einsichten.
Ein paar Sachen in dem Buch sind veraltet bzw. werden nicht alle neuen Sprachfeatures behandelt. Die Semantik von Inline-Funktionen hat sich z.B. über die Zeit geändert und Lippman beschreibt noch die alte Prä-Standard-Variante. Templates werden nur oberflächlich behandelt. Exceptionhandling wird heutzutage meist anders implementiert als Lippman es in seinem Buch beschreibt.
Kurz: Für technisch Interessierte ist das Buch auf jeden Fall lesenwert. Man muss aber mit einer Portion Skepsis rangehen und sich im Klaren darüber sein, dass das Buch kein Gesetzbuch ist.
-
Vielen Dank Leute

Danach lässt sich viel leichter abschätzen, was welche Kosten hat und warum (-> gut gegen notorische C-Programmierer die hinter jedem C++ Feature eine Performancebremse vermuten). Außerdem hilft solches Implementationswissen häufig auch bei der Vertiefung des Verständnisses eines Konzepts.
Genau darüber wollte ich lesen! Gute Rezension! Naja - ich werd demnächst mal reinschauen und was darüber schreiben falls ich "erleuchtet"
worden bin und etwas sinnvolles sagen kann 
Ich habe übrigens doch noch aktuellere Rezensionen gefunden, wen es interessiert:
http://proquest.safaribooksonline.com/?XmlId=0-201-83454-5