There are many more people who want to study programming other than aspiring computer scientists with a passing grade in advanced calculus. This guide appeals to your intelligence and ability to solve practical problems, while gently teaching the most recent revision of the programming language Python. You can learn solid software design skills and accomplish practical programming tasks, like extending applications and automating everyday processes, even if you have no programming experience at all. Authors Tim Hall and J–P Stacey use everyday language to decode programming jargon and teach Python 3 to the absolute beginner. Non–programmers who want to learn Python programming without taking a detour via a computer science department.
Tim Hall currently provides front-line support for 64 Studio. He has also written newbie tutorials for Linux User and Developer magazine in between more mundane system admin and web authoring jobs. Tim has released albums and performed as a musician and songwriter
Librarian's note: There is more than one author in the Goodreads database with this name.
Tim Hall and J-P Stacey, Python 3 for Absolute Beginners (Apress, 2009)
I read this as part of my research on which web-centric Linux programming language I wanted to adopt for a couple of major projects I'm working on. As I ended up settling for Ruby, despite the incredible annoyance that is dynamic typing, you can probably infer some of what I thought of this book. That said, many of the shortcomings that caused me to reject Python are in the language itself, not in my choice of reading material.
The pros of Python 3 for Absolute Beginners: first off, the language Tim Hall uses. Hall is enthusiastic about programming, and it comes through without him ever talking down to the reader. Second, as the title tells us, this is a book for absolute beginners—not just those new to Python, but those new to programming altogether. Many programming books assume at least some familiarity with computers. This one does not. (That does, however, lead into a drawback or to, but we'll get to that later.) Third and last, the program that Hall develops over the course of the book is something that's at least the framework of something that would be real-world-usable: a fantasy combat game. Think swords, shields, and orcs and you're on the right track. Granted, in a book of this size (just shy of three hundred pages), not a lot is going to get done on such a thing. This is not at all the next Oblivion. But given that a lot of people who are just starting out in the programming world want to be game programmers, it's not a bad idea to start there.
And now the cons. First, and most importantly, the book's length, which I touched on in the previous paragraph. Most of the programming books I own are twice this length or longer. In fact, the longest single book I own is a programming book (thirteen hundred pages and change—Troelsen's overview of C# 2008). If you're going to use one program as a development tool, you need to give your book enough space to develop something that's really meaningful. No, not the next Oblivion, but at least something that's really playable at the end. I called it a framework in the last paragraph, and framework I mean. Perhaps he could've accomplished more if he'd approached it as a roguelike. Which brings me to the second pitfall: an almost complete lack of attention to GUI programming. The last programming book I read that didn't acknowledge GUI as the dominant computer paradigm was released in, if memory serves, 1994. Here we are fifteen years later, and Tim Hall is basking in the glory of the command line, with one (short) chapter that teaches us the basics of putting a box with a couple of buttons on the screen, though not how to wire them to anything meaningful. Third, the book could have done with another revision or two to update some of the code to the latest version of Python. It's not quite as bad a situation as I've heard said before, but there's definitely some 2.x code that made it through the editing process.
Usable, but you can probably find other, more detailed, books that will help you more. ***