This book is quite nice and it was written in Mathematica itself, so this already provides an idea of how much one can do with Mathematica. Chapter 1 begins with a tour of some of the main capabilities using eye-catching examples (there are plenty of eye-catching examples throughout the text), which was exactly what I needed to get started. However, as I went deeper, I found that the book is mostly about the Mathematica language -- its structures, lists, rules, expressions, functions, etc. -- and less about "how to do math with Mathematica", which was perhaps what I was looking for.
Nevertheless, I kept reading and actually trying out many of the examples. The author uses Mac OS, but is sufficiently careful to point out differences to other OSes whenever appropriate (I used Mathematica both in Windows and Linux, the only issue that I found was that the sound routines in Section 10.3 do not work on Linux).
Despite the focus on "programming with Mathematica" rather than "doing math with Mathematica", after reading this book I feel quite comfortable with the tool and its language. For example, I can browse through the documentation and immediately understand the syntax of all Mathematica functions and how to use them in my code.
The rich set of examples throughout the book also helps in this respect, but in some examples it would be useful to have more detailed explanations. The author is absolutely proficient with Mathematica, but the text explanations could be made more precise, especially when the examples become relatively complex.
This means that using this book for self-study can be challenging. I can imagine that it would be much easier if I would be attending classes and a teacher would walk me through through some of these examples. From a teaching perspective, the book is a wonderful resource.
One final comment, at times I found myself wondering how to type some special symbols in Mathematica, could not find it in the symbol palettes, and had to go look it up on the Web. For example, an undirected edge in a graph is written as Esc+ue+Esc. The book does not always mention how to type these special inputs.