The Big Book of Small Python Projects: 81 Easy Practice Programs (Review 1)

A few days ago I ordered “The Big Book of Small Python Projects” because of several reviews I’ve seen. I want to become more proficient in Python, and I know that it is pretty much impossible for me to learn any programming language unless I have an actual project to work on.

I’ve written a handful of small scripts with Python – stuff that automates aspects of my day job – but I haven’t had an opportunity to advance much beyond the basics. I need something that uses more complex data structures, since, to me, that’s the interesting part of a language, and what made Perl so useful and fun.

I’m only 3 or 4 chapters in, so I don’t have much to say yet, but here’s a few observations.

  1. The biggest detriment to using this book is, unfortunately, my eyes. I stopped buying paper books a few years ago, even though I love books, because the fonts are just too small. This is particularly problematic when I’m sitting at my computer, because that’s when I wear my computer glasses, which are optimized for a screen 18 to 24 inches away from my eyes – which, in turn, makes it that much harder to read tiny font on paper.

One of the selling points of this book is that you type in the code, rather than copy-pasting it, and that this implants it in your brain much more firmly. As someone who grew up typing in programs from Atari Magazine, I can definitely attest to the efficacy of this approach.

But I cannot read the code. In particular, I cannot distinguish ” from ‘ and ; from : and . from , which all make typing in code fraught with errors.

And so I downloaded the code from the website, and I expect that this will greatly reduce the efficacy of having the book in the first place. I should have bought it on Kindle instead. And I probably knew that going in.

2. The projects are fun, interesting, and … kinda useless. I cannot imagine myself adapting any of them to other purposes. And it’s the adapting that helps me learn. But I’m still *very* early in the book, so I am almost certain that this will improve.

But I still, always, need a project that directly benefits me, in order to really learn to be a “native speaker” in a new language.

3. I am still a native Perl speaker. I think of things in Perl idioms. I miss some of the Perl syntax – especially regular expressions, and the multi-dimensional data structures. It’s going to take me a long, long time to be as adept at Python as at Perl, if that ever happens.

So, that’s it. I will say more later, once I’m further into the book.