I bought this book as a c++ programmer interested in learning c#. It is one of the few programming books I own, which is truely complete in the sense that you need to have read nothing else but this book to get on with the programming. This book is very clear, goes into enough depth to give you a good understanding, but not too deep as to bog you down, is interesting to learn from and is very, very well written. This sort of writing style should be a benchmark for all programming books rather than the usual ambiguity which is all too common in other texts. If you don't know anything about programming and want to learn c#, get this book. If you are already a programmer and want to learn c#, get this book.