Author: Kees van Deemter Publisher: OUP Oxford, 2010 Pages: 368 ISBN: 9780199545902 Aimed at: General reader Rating: 4 Pros: Readable style Cons: Limited topic and one that many practicallyoriented readers will dismiss Reviewed by: Mike James
An easytoread introduction to an otherwise difficult topic  but not to everyone's taste.
Author: Kees van Deemter
Publisher: OUP Oxford, 2010 Pages: 368 ISBN: 9780199545902 Aimed at: General reader Rating: 4 Pros: Readable style Cons: Limited topic and one that many practicallyoriented readers will dismiss Reviewed by: Mike James
It was difficult to work out what section to put this book review in. It could just as well have gone in general interest or theory  or even philosophy if we had a philosophy section. It is about vagueness in all its forms but especially the way vagueness is difficult for linguistic theory and for logic.
Your reaction to this book is going to depend a lot on your ability not to sweep the whole problem way with an application of practicality. For example, one of the key topics in the early part of the book is the sorites paradox and if you see the point in examining then you probably will find the entire book fascinating. If on the other hand you struggle to see what the problem let alone paradox is then you probably will dismiss the book as useless philosophy.
So what is the paradox? The idea is that small changes can be so small that you cannot really detect them but at some point they do amount to a noticeable change. For example, if you take sand grains away from a pile of sand then each grain you take doesn't change its status as a pile but when you reach a single grain left you clearly no longer have a pile  when did the change occur?
The book gives lots of versions of the paradox. For example, does one stone make a stone heap? Clearly adding one stone does not convert it into a stone heap and by extension if n stones is not a heap then of n+1 stones is not heap. You can see that this is some sort of proof by induction, but in this case it's a paradox by induction.
Now you either say "yes this is paradox" and decide to use this to try to explore the meaning of the vague concept "heap" or you don't see the problem. You can easily brush aside the paradox by saying that the reasoning is faulty and what we need is an operational definition of "heap". It it behaves like a heap then it is a heap. You can indeed avoid many of the problems raised by vagueness in philosophy and logic by taking a programmer's "duck typing" approach to vague words  if it behaves like a heap then it's a heap  but you wont get much out of this book if you take such a pragmatic approach.
The book starts off with a look at vagueness in different contexts  the ides of species, gradual change and vagueness in numbers. It is in this section that the practicallyminded programmer, or indeed physical scientist, will probably want to object most often to the way the concepts involved are arrived at. Often you can't help but think that if you really want to define things in that way then you deserve any paradox or difficulties you create.
The second part of the book deals with theories of vagueness and here you might find some more practical ideas. These range from the Chomsky versus Montague grammar debate  is language computable  through variations and extensions of classical logic designed to cope with vague concepts.
The final part of the book is about AI and this is a little slow getting started if you already know some of the ideas.
This book is clearly modeled in the style of Douglas Hofstatder's Gödel, Escher, Bach: An Eternal Golden Braid which was, and is, a groundbreaking book. Kees van Deemter writes in an erudite but nontechnical style with lots of references to a wider culture using contrived dialogs designed to illustrate the points he trying to make. His approach doesn't work as well as Hofstadter's, but this is mainly because the topic it focuses on isn't as deep (and you would need to read both books to understand what "deep" means) as the idea of self reference and strange loops. Also because the ideas of vagueness aren't as extensive there is a lot or repetition.
This is a book that you will either like a lot or dismiss as impractical and repetitive.
Introduction to Programming Using Python
Author: Y. Daniel Liang Publisher: Prentice Hall Pages: 558 ISBN: 9780132747189 Audience: Students starting to learn Python 3 Rating: 4.5 Reviewer: Mike Driscoll
A "fundamentalsfirst" approach to teaching programming. Does it succeed?

Beginning R: An Introduction to Statistical Programming
Author: Larry Pace Publisher: Apress Pages: 336 ISBN: 9781430245544 Audience: Not suitable for programmers Rating: 2 Reviewer: MIke James
An introduction to statistical programming sounds like a really good idea. You know your stats, so now let's program...
 More Reviews 
<ASIN:0140179976> 