As stated in the first sentence of the preface, «[Touch of class] is not just about learning to program but about “Learning to Program Well”». Meyer’s last book provides teaching material which has been gathered for more than a half a decade. It transmits an impressive experience in the field of computer science in general, going well beyond software engineering. This book does not assume any prior programming knowledge. It goes all the way up to modern programming by conveying wise advices, methodology, practices and historical anecdotes on how to achieve quality when programming. Software engineering concerns other than programming appears in the last chapters. The book's target audience is students and teachers.
Touch of class covers many different topics including the object paradigm, boolean logic, hardware, algorithm and many more. The goal of the book is certainly not to be exhaustive. Chapters named “Just enough ...” convey indispensable tools for good programming.
Object orientation and design by contract are central to the book. It successfully presents formals methods without loosing clarity. Instead of using complex mainstream languages, Eiffel Studio is the support for programming. Meyer argues in a convincing manner why Java is probably not the best language on Earth for an introductory course on programming.
A high importance is given to the vocabulary. Never a technical word is used without being carefully introduced. The large quantity of provided information is well organized. For example, “Touch of Style” boxes provides important and helpful advices on programming style whereas “Touch of Methodology” boxes give advices on programming methodology.
The book contains many figures. Rare are the pages left without a picture or a drawing. Colors are plentiful and character fonts plays an important role. The quality of the paper is high, making the tossing pleasant.
The book has a website (touch.ethz.ch), which contains supplementary material. At the time of writing this review, the website is announced but not yet available.
Coming from a father of object-orientation and software quality, it is not a surprise to find Touch of class an excellent book. It makes «the difference between a programmer who just “hacks code” and one who is able to produce correct, robust and durable software elements.»