||New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About||
Keywords: Mathematics, Set theory, Logic
Title: Good Math
Author: Mark Chu-Carroll
Publisher: Pragmatic Bookshelf
Level: Some previous math helpful
Verdict: An interesting read
This is a very different book to Mark Chu-Carroll's previous work 'Code In The Cloud', which earned a favourable review on this site for its coverage of software development using the Google Application Engine. The book scored points for the easy writing style, the direct tone and the technical content. This is a very different beast altogether. Where the first book is geared primarily to a technical audience and everyone reading is assumed to be a developer, this one takes us deep into more abstract territory. And while there's a definite computer science twist to all of this, the reader is not assumed to be a developer with a working knowledge of Python or Java.
Now, despite what the publicity for the book suggests, this really isn't one of those 'gee whiz' pop science books that does numbers. Neither is this a guide to the kind of math that certain types of programming requires (for example there's nothing here about binary, octal and hex bases), or anything related directly to algorithms and algorithmic analysis. So, if you're looking for a book on discrete mathematics or something more akin to a text book then you need to look elsewhere.
Instead this is a book that aims to introduce a range of topics related to pure number, the axiomatic basis of mathematics, computability, the lambda calculus and more. While the author suggests that this isn't a book designed to be read cover to cover, there's a certain narrative and historical thread that runs through the book and for this reader at least, reading it front to back seemed to make most sense.
Organised into six sections, starting with Numbers and ending with Mechanical Maths, the book consists of short chapters that tackled one specific topic. So, the Numbers chapters start with the natural numbers and ends with the irrationals. Each chapter within a section builds on the previous one, so we start by learning how to construct the natural numbers and work our way to the irrationals. The emphasis is always on how we define and construct - whether it's integers or sets or the lambda calculus. I guess this is where it connects most to being a developer or a geek.
The nearest we get to actual programming though is when we start looking at logic, functions and lambda calculus. But this isn't a book that's about source code; it's about the ideas themselves.
There's not much in the way of scientific notation on display, and to be honest this actually felt more like a hindrance than a help. A bit more notation, or some better formatting, would have made some of the text easier to follow. Make no mistake this is a book that requires some level of concentration. It's not one that you can half read while watching TV.
Overall it makes for a good read, though some of the topics were pretty obscure. For those more interested in the historical side of the story, there are some great books out there that cover more of that side of things (Engines of Logic by Martin Davis being a personal favourite). On the other hand if you want a feel for what modern, axiomatic mathematics is all about then this is a good popular introduction.