|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: Programming, Python, web development Title: Programming: A Primer Author: Tom Bell Publisher: Imperial College Press ISBN: 978-1783267071 Media: Book Level: Introductory programming Verdict: Not recommended |
The first thing to check when looking at an introductory programming book is who the target audience is. There is a world of difference in a book designed for someone wanting to study computer science or for a career in development, compared to a book pitched at the hobbyist. And is the book really about teaching programming or is it about teaching a specific language? These will shape the resulting book - and, more importantly, whether the book gives you what you're looking. In this case the book is subtitle 'Coding for Beginners' — and the back cover suggests that this is aimed at anyone who wants to learn to code, from beginning computer science students onwards. If you think about it that's pretty ambitious for a slim little book like this…
The opening chapter attempts to set the scene by introducing computer programming and some simple ideas — explaining what a program is, what a programming language is and so on. But to be honest it's not a great start — the explanations are a bit laboured and frankly a bit on the simplistic side. For example programming languages are described as being either compiled or interpreted — with compiled languages having the source code turned into a separate executable file whereas for interpreted languages the interpreter translates the source code at execution time. But why? There's no discussion why this is so, nor what the advantages are of one over the other.
For the first part of the book the programming language Python is used to introduce the basics — variables, looping, conditional execution and simple functions. The examples are all very simple but they do illustrate the points. While not very exciting it is after all what the core of programming is all about. The core material is here, but again the text is very simple and it doesn't compare well to many other introductory books, which have more depth and more imaginative examples.
The next section introduces object oriented programming and classes — in one quick chapter. And graphical user interfaces in another chapter. By the end of this section the book has covered some of the most fundamental aspects of computer programming in less than 70 pages. So it should be no surprise that there's a lack of depth. It doesn't even give the reader a real taste of what these topics are really about.
But from there it goes on to web development, including HTML, CSS, JavaScript, PHP and SQL. It reads like a succession of acronyms and buzz-words. At times it feels like it's working hard to generate a gee-whizz factor, for example later chapters cover cloud computing, AI and wearble technology and so on. All this in around 150 pages.
By the end of the book will the average reader have picked up enough coding to so anything useful? My honest feeling is that the answer is no. The book could have done with a less breadth and more depth. The book simply doesn't compare well to something like Dive Into Python or Learn To Program. So, sadly, this is not a book that can be recommended.