A Modern Introduction to Programming
I’ll admit it, I love programming books. Online tutorial videos and articles are great, but nothing beats the deep dive and focused attention that reading a book offers. I guess that’s why they still get published in the internet age.
There are some positives. however, relating to format. The book is available is multiple formats including HTML. The author put a tremendous amount of effort in to providing code files and a way to test your solutions to the exercises. It;s a long one too, as the ePub is about 500 pages.
When you are struggling to follow the book, do not jump to any conclusions about your own capabilities.from the book’s introduction
In reference to the quote above, I’d ask you consider the possibility that struggling to follow the book could be pinned to the author.
The issue that I had with this book is that it does a poor job of teaching. Like the smartest kid in the class Marijin is dedicated to showing you how clever he is by crafting code examples that are dense and hard to follow. My approach has always been to write clean, simple, we commented code. Marjin seems to take the “the code is self explanatory, who needs comments?” approach.
Code blocks are presented, often with a new concept added, before there is an explanation of what the code does, which comes after you’ve read the code with a tenuous understanding of what’s going on.
The serial use of recursive functions and objects just makes the code more difficult to understand without offering any stated advantages. Note also that the code is seldom commented inline, which would greatly help his readers to understand.
Scenarios used to illustrate programming concepts in books like this are often cute and trivial yet simple enough to relate to and help to set the stage for the programming tasks. The author’s scenarios start out this way but get more obtuse and confounding as the increase in absurdity. These are the hardest parts of the book to get through and I suspect a good many readers will skip these sections after a time or put the book down altogether.
The section that I found most valuable was the one on regular expressions, which he does a great job of explaining. In this case his unorthodox style works well and offers a different perspective on the topic.
I wish I could like this book considering the time I spent reading it, but alas, I’d advise you to avoid it.