Top critical review
I enjoyed the first book in this series from Roffey
on 1 June 2017
I enjoyed the first book in this series from Roffey, so I was hoping for something good here. Sadly - no. It comes across as rushed, unimaginative, and extremely clunky as a result of the text being stuffed with larger and larger parentheses. The book nearly ended up in the bin, but I persisted and was feebly rewarded.
The book could almost have been called 'Python: Next Step', as opposed to 'Steps', since much of the book is occupied with the writing of a single program - that of a calculator.
This is a problem on three counts:
1) It is immensely irritating to a non-genius to have to think over strictly mathematical functions at the same time as trying to learn how to code. Could a simpler and more everyday example have not been dreamed up other than a scientific calculator? Literally anything would have been an improvement: animals in a zoo, a restaurant menu, sports stats - absolutely ANYTHING would have been preferable over messing about with factors, binary values and - oh, why not Roman numerals and the speed of light while we are at it (true story) - while simultaneously trying to puzzle out Python's tuples, definitions, etc.
2) This big calculator code ends up becoming unwieldy for a beginner. I'm sure coders with even a little experience can quickly leap around code, but this purports to be a book for youngsters, and it gets annoying having constantly to fuss about scrolling through the ever-expanding code. Would it have hurt to have provided a sequence of separate, simple examples that could all be kept on a single screen? You know, just until the reader catches up with Bill Gates?
3) With changes being made by the Python committee to the language from time to time, books like these become increasingly redundant, since commands will not work, and crowning glories like (yawn!) scientific calculator programs become increasingly unworkable. There is, of course, a disclaimer in the rear that the publisher has no responsibility for the changing of the Python language. Well, yes - but that is just not good enough. It ought to be taken as a given that the language will change, and that steps ought to be taken by the author actively to work around this obvious fact, by splitting up the book into numerous separate examples, so that if one bit ends up not working, there is a chance that other bits will still work. A beginner cannot be expected to go searching for language updates. Lazy.
Roffey mentions in the Acknowledgements that this book was one of three produced in a single year. And boy, does it show.