As stated in the preface, this book “is not just about learning to program but about ‘Learning to Program Well.’” Meyer’s latest text conveys his impressive experience in the field of computer science, going well beyond just software engineering.
It provides wise advice, methodologies, practices, and historical anecdotes on how to achieve quality when programming. Software engineering concerns other than programming appear in the later chapters. The book does not assume any prior programming knowledge, and the target audience includes both students and teachers.
Meyer covers many different topics, including the object paradigm, Boolean logic, hardware, and algorithms. Object orientation and design by contract are central to the book. The author successfully presents formal methods, without losing clarity. High importance is placed on the vocabulary used. No technical term is used without first being carefully introduced. The large quantity of information provided is well organized. For example, “Touch of Style” boxes provide important and helpful advice on programming style, whereas “Touch of Methodology” boxes give advice on programming methodology.
The book is printed on good quality paper and contains many figures. Rare is the page without a picture or a drawing. Colors are plentiful and character fonts play an important role. The book has a Web site [1] that contains supplementary material.
Coming from a father of object orientation and software quality, it is not surprising that this is an excellent book. Following the techniques presented will make “the difference between a programmer who just ‘hacks code’ and one who is able to produce correct, robust and durable software elements.”