After a long run with BBEdit and then TextMate, I have switched to using Sublime Text as my primary text editor and development tool. Like any good geek, the first thing I want to do is to customize the app to my liking. Sublime Text lets you do this with plugins. A huge array are available along with the option to write your own. I, of course, want to write my own.

The programming language Sublime Text uses for plugins is called "Python". Named not after the snake, but the British comedy troupe Monty Python. I've never used the language before, but any language the encourages making demos referencing Dead Parrots and Silly Walks gets automatic bonus points.

There's a tremendous number of online resources available to learn any programming language you can imagine. Python is no exception. After a brief survey, I didn't find a stand out recommendation. So, I decided to give "Head First Python" a try. The book's stated audience is people who already know how to program in another language. This fits the type of book I was looking for. No need to cover the most basic of basics that are the same across languages.

The first half of the book is pretty good, doing a nice job of gently introducing the various concepts. The biggest criticism of this portion is that the book spends a lot of time on examples for the command line interpreter. That is, pieces of code that disappear as soon as you close the window. That's fine for single lines of code, but when larger blocks are called for that doesn't make sense. Also, assuming that the reader really does know how to program in another language, they will be wanting to write actual applications. Spending a lot of time in the interpreter is a waste.

I can't speak to the second half of the book. I bailed out in chapter 8 (of 11) when the book prompts for the installation of the Android Phone Software Development Kit. While I can appreciate teaching a language in a way that includes real life examples, this is a bridge too far. My goal is to get up to speed with Python as quick as possible. Not to spend time installing and messing around with an entirely new device and development platform.

My next step was to read through the Official Python Tutorial. I had taken a look at this before picking up Head First Python, but it's more of a reference than a tutorial. With the first half of the Head First book freshly in my head, the official tutorial made an excellent follow up. I wish the Head First book had stuck to its main topic, but the combination of its first half and the official tutorial has gotten me started.