Zum Inhalt

Buch-Rezension zu "Smalltalk Best Practice Patterns"

Smalltalk Best Practice Patterns

"Smalltalk Best Practice Patterns" von Kent Beck erschien bereits 1996, doch stosse ich in letzter Zeit immer wieder auf dieses Buch. Überall wird erzählt wie wegweisend dieses Buch sei und wie viel man damit über objektorientierte Programmierung lernen könne. Die Besprechung bei Ruby Rogues in den Folgen 23 und 24 überzeugte mich schliesslich dieses Buch zu lesen - obwohl ich nie in Smalltalk programmiert habe.

Um es vorweg zu nehmen: Es gibt nur wenige Teile in diesem Buch die einzig für Smalltalk eine Bedeutung haben. Der grösste Teil ist so geschrieben das dieser auch für Sprachen wie C#, Ruby oder Java nützlich ist.

Viele gute Ideen

Die Tipps zur objektorientierten Programmierung fand ich nicht schlecht. Allerdings waren mir viele Konzepte bereits bekannt und als Einstieg in die objektorientierter Programmierung finde ich POODR besser geeignet.

Was aber in diesem Buch gut dargelegt wird ist das „Wieso?“. Als die Objektorientierung noch nicht so verbreitet war wie heute musste man noch argumentieren. Es brauchte Überzeugungsarbeit und konkrete Beispiele wie damit die Arbeit leichter wird. In heutigen Büchern findet man so etwas leider meist nicht mehr.

Kent Beck verkauft einem seine Empfehlungen nicht als den einzig selig machenden Weg. Jede Entscheidung hat Vor- und Nachteile die man entsprechend Abwegen muss. Mir hat dabei besonders gefallen dass die Nachteile gleich an Ort und Stelle dargelegt werden. So muss man nicht lange Suchen und kann gleich abschätzen ob das Pattern für einen in Frage kommt.

Die Kurzreferenz am Ende des Buches bringt jedes vorgestellte Pattern mit wenigen Sätzen auf den Punkt. Durch das Plus an Informationen gegenüber dem Index findet man auch dann das passende Pattern wenn einem der Name entfallen ist. Diese Zusammenfassung ist zudem als Gedankenstütze äusserst hilfreich.

Wie nützlich ist das Buch heute?

Wenn man mit Ruby entwickelt hat das Buch auch heute noch seine Berechtigung. Man erfährt hier den Ursprung von so manchem Sprachkonstrukt und worauf man auch in Ruby achten sollte. Blöcke, Inject() und das Konzept mit dem senden von Meldungen gehen so sehr auf Smalltalk zurück das man die Patterns von Kent Beck 1:1 weiter verwenden kann.

Arbeitet man mit .Net ist der Nutzen nicht so offensichtlich. Obwohl zahlreiche Konzepte von Ruby nach .Net geflossen sind ist die Distanz zu Smalltalk doch deutlich grösser. "Clean Code" und "The Art of Readable Code" greifen zudem viele Ideen aus diesem Buch auf und erklären diese mittels C# (oder Java) - ein Umweg über Smalltalk ist dadurch unnötig.

Seit anfangs 2013 gibt es dieses Buch auch als E-Book. Wäre die Nachfrage danach gering hätte sich der Verlag fast 17 Jahre nach der Erstveröffentlichung diese Mühe sicher nicht gemacht. Mit dem wiedergefundenen Interesse werden vielleicht auch einige der handwerklichen Eigenheiten (wie der Zusammenfassung oder dem Abwägen von Vor- und Nachteilen) in aktuelle Bücher einfliessen – wünschenswert wäre dies allemal.

Fazit

Ich finde es immer wieder erstaunlich seit wie vielen Jahren die gleichen Herausforderungen und Probleme gelöst werden müssen. Smalltalk Best Practice Patterns zeigt Lösungen die auch heute noch Code verbessern können. Je nach Programmiersprache braucht es aber einiges an (mentaler) Arbeit bevor man die hier gezeigten Lösungen verwenden kann.

Zum Buch

"Smalltalk Best Practice Patterns" von Kent Beck, 1996 Prentice Hall, ISBN 978-0134-7690-2, 240 Seiten, Englisch