Beim ersten Durchblättern des Buches stockt einem der Atem: Angefangen wird mit der Addition von Zahlen und kanpp 600 später Seiten hat man gelernt, nach mindestens 4 verschiedenen Paradigmen zu programmieren (funktional, objektorientiert, imperativ und datengerichtet), und als kleines Beispiel wird nebenbei ein vollständiger, optimierender Scheme-Compiler realisiert. Möglich wird dies durch die effiziente Notation und die einfachen Möglichkeiten der Verknüpfung von Teillösungen, die in Scheme möglich ist. Folglich sieht das Buch, das die Grundlage der Informatik-Einführungsvorlesung am MIT bildet, das Hauptaugenmerk beim Erlernen guten Programmierens weniger in Effizienz und syntaktischer Kenntnis als vielmehr in der Fähigkeit, Komplexität zu handhaben, d.h.: zu reduzieren. Hierfür sind funktionale Programmiersprachen wie geschaffen. Klassische Programmierer werden zwar angesichts der sichtbar ineffizienten Lösungen die Nase rümpfen, dafür lassen sie diese Lösungen derart allgemein verwenden und leicht verbinden, daß sich komplexe Probleme wie symbolische Differentiation innerhalb weniger Seiten realisieren lassen, wobei alle Teilfunktionen simpel und leicht lesbar sind. Sicher ist die Verwendung einer Programmiersprache teils Glaubensfrage und teils von praktischen Notwendigkeiten bestimmt. Wer dennoch unvoreingenommen dieses Buch liest, wird sich seiner Eleganz nicht verschließen können. (Dies ist eine Amazon.de an der Uni-Studentenrezension.)