Head First Programming

This book is an excellent introduction to the concepts of object oriented programming for those who have never tried programming before.

My Rating: yesyesyesyeshalf





The vast majority of books on programming that I have seen fall into one of two groups. The books either teach the theory of programming using a particular programming paradigm such as procedure oriented or object oriented, or they teach a specific programming language and assume at least to some extent that you already understand the particular paradigm that the language follows. Neither of those approaches is particularly useful for the beginner with no prior programming knowledge at all.

Head First Programming takes a different approach that is far more suited for someone with no prior knowledge. It doesn't set uot to teach theory and it doesn't set out to teach a particular language (even though the book uses Python for all the examples). Instead the book sets out to teach the basics of writing programs in a practical way that will actually be useful to the beginner as well as giving them the basis on which to learn the theory and specific languages. The book even recommends other books on Object Oriented Analysis & Design, Java, C# and Python at the end of the book as the answer to the question of where to next (although if you are not going to learn Java there are better choices for books on Object Oriented Analysis & Design that do not require knowledge of a particular programming language first).

Obviously for a practical book to teach programming a specific programming language had to be chosen and I think that the author's choice of Python is a quite reasonable one - particularly in view of the fact that they deliberately wrote the code in a way easy for beginners to understand rather than using the alternative coding specific to that language (and many languages do have such alternate ways of coding to make things more efficient at the cost of not being quite as obvious to those who don't know the specific language).

This book presents enough of a whole range of different programming concepts in a practical way that will give the beginner the basic understanding that all of the other books on programming theory and specific programming languages all assume that the reader already knows. As such it will make the ideal first book for someone who wants to learn programming. A book on the specific language to be learnt as well as possibly a book on the theory of object oriented programming would then be the obvious next steps as you would then know enough of the basics to take full advantage of them.

More Information from the Publisher

go to top

FaceBook Follow
Twitter Follow