Who should read this book?
I know I should read it again.
Anyone who found the book title interesting probably needs this book. .NET programmers who have often found themselves analyzing the IL generated for different statements in their .NET language of choice will find this very useful (I did). Anyone who has opened the disassembly window and tried to make sense of its contents when debugging will get help from the two chapters on assembly, let alone the rest of the book. And finally, anyone concerned with writing better code needs this.
Verdict
Guilty as charged. (I do get carried away sometimes don't I?) Set aside some money and buy this book, or get a friend to buy it and get it from them while still in the store. When you get home, read it TWICE so that you master what is in these pages. Then read it again.
It helps you understand what your code is doing, and with this in mind, enables you to make better decisions about the code you write and the high level statements you choose. Hence, you will be able to write smaller, more memory-efficient, CPU-efficient, whatever is a priority to you efficient code, because you will understand how to make it so.
Conclusion
This is a great book that I would recommend for professional developers who need to serve their users with the best possible code. Hyde does not take the stance of an expert in your language and the types of programs you write. Instead, he tackles the very fundamental concepts of programming that are often overlooked, ignored, and in some cases simply misunderstood. He allows you to use your understanding of the compiler you use, together with your experience to determine which high level statements you use.
He describes common optimization options in detail to help you understand what your compiler does to your code when these (optimizations) are enabled. With the knowledge gained from this book you can write great code that will not hamper the compiler’s efforts.