Book: Hello! Python
Publisher: Manning Publications
When I was first asked to write Hello! Python, I didn’t want to write just another introductory book—I wanted to write something different. The programming books that I’ve read in the past have often been just a laundry list of features: a list can have things in it, and you can call len(mylist) to find out exactly how many things, .pop() to chop an element from the end, .append() to add … There you go, that’s all you need to know about lists, now on to the next feature. If you’re shown a program, it’s usually either a trivial few lines or a couple of chapters tacked on to the end of the book as an afterthought.
Then I thought back to how I first learned to program. I didn’t read an entire programming book from cover to cover and then write a program after I knew everything there was to know. Instead I started with a goal, something that I wanted to do, and worked toward it, figuring things out as I went. I read programming books from time to time, but really only to figure out the bits I was stuck on. When I was done, my programs weren’t particularly elegant or fast, but they were mine—I knew how they worked, and they solved a real problem that I was having.