This is a book that will change your perception of how to program, and what a program is really doing. It can't be read casually because it is important to think carefully about what the authors are saying. The book illustrates how programming can be raised from writing a series of instructions minutely detailing how to do a task, to the higher level of simply specifying what should be done. If you look at the other reviews, you will see that this book receives either 5 stars, or just 1. I would suggest that if you understand what this book is about, then you will also give it a 5 star rating.