Alexander Stepanov, der Designer der C++-STL, führt in diesem Buch die Gedanken der STL weiter fort und präsentiert generische Varianten vieler Algorithmen. Im Gegensatz zu Donald Knuth, der in "The Art of Computer Programming" Code möglichst maschinennah präsentiert, wählt Stepanov das andere Extrem und präsentiert Code in der derzeit abstraktest noch programmierbaren Form als C++-Templates. Wenn Bjarne Stroustrup das Buch mit "The book contains some of the most beautiful code I have ever seen" charakterisiert, so stimme ich voll zu - zumindest für den Teil der Algorithmen, die mir vertraut sind.
Leider wählen die Autoren den Zugang wie in einem schlechten Mathematikbuch, starten mit irgendwelchen Axiomen, die scheinbar unmotiviert vom Himmel fallen, und bauen darauf Algorithmen auf, die im leeren Raum stehen bleiben, ohne konkrete Anwendungen zu präsentieren. Bei den Algorithmen, die mir vertraut sind, kann ich die Eleganz erkennen; bei anderen stelle ich mir dann schon die Frage: "Wofür soll das gut sein?" Dieser Aufbau des Buches ist mir unverständlich, da Stepanov in einem Interview selbst gesagt hat "You do not start with axioms ... You end with axioms. The same thing is true in programming: you have to start with interesting algorithms. Only when you understand them well, can you come up with an interface that will let them work."
Leider hält sich Stepanov in diesem Buch nicht an seinen eigenen Ratschlag, daher kann ich unmöglich 5 Sterne vergeben. Weniger als 4 Sterne wäre für ein solch wegweisendes Buch aber unangemessen. Das Buch ist jedenfalls äußerst bereichernd für erfahrene C++-Templateprogramierer, die noch etwas dazulernen wollen. Programmiereinsteiger werden es aber wohl nach kurzer Zeit frustriert weglegen.