Top 10 python resources for the non-programmer

I am not a programmer, nor do I play one on TV.

This is a list of what I consider to be the top 10 resources on the web for a non-programmer like me.

Let me qualify that… by “non-programmer” I mean someone who knows what a variable is, can code a simple loop to print his name ten times in a few languages, and knows that if-then-else statements exist, and is (perhaps) semi-proficient in a different language. I mean someone who has a clue about what programming is all about, but doesn’t do it for a living.

Basically someone like me.

In the past I’ve done a tiny bit of C programming in high school, a little C++ for some research in college, and then quite a bit of PHP/MySQL building website for myself (weblog, web based games, etc.). Throw some Linux Bash scripting in there as well. But until recently I’ve never done object oriented programming, and I’ve certainly never been paid for any of my kludgey code.

That said, after learning more about Python it seemed like it was everything I wanted a language to be, and it renewed my interest in building my programming skills. So a few months ago I began my programming journey in earnest.

As some have said, “PHP is just a gateway drug for Python.” Here are the top ten resources that are helping me kick my PHP habit, and start a whole new Python addiction…


1. Official Python Documentation

In this case RTFM isn’t just a brush-off from grumpy ops on IRC, it’s actually the best advice available. The Python documentation is absolutely wonderful. Each section of the language (e.g. Library Reference, Language Reference) is documented in detail and rather easy to understand. It’s not something you are going to sit down and read through from the beginning, but as a reference, this site is your best friend. Also, check out the Python Sidebar if you use Firefox. (You do use Firefox don’t you?)

2. Dive Into Python

Mark Pilgrim rocks. Not only did he write an absolutely outstanding book on Python programming, but he also made it available on the web for free. Be aware, however, that when he says “dive in” he means it. After a brief intro, he starts throwing the code at you fast and furious. The amazing part is that I didn’t find it to be overwelming. With each block of code and example, he carefully disects it line and line and lets you know what it is doing and why. Excellent book.

3. A Byte of Python

Released under a Creative Commons license and targeting Python newbies (while still being useful for experience programmers), this book definitely earns a place on the list. Personally, I got more use out of Dive Into Python, but for someone with less programming exposure than me, A Byte of Python would be very helpful. Definitely worth checking out.

4. Awaretek Python Tutorials

AwareTek maintains a sizeable list of links to various Python tutorials on the web. They are groups into broad categories like “Beginners”, “Games”, “HTML and XML” and so on. Good to just browse and look for interesting things, as well as when you need an answer to a specific question.

5. Activestate Python Cookbook

I love cookbook style tutorials. I don’t need much hand holding and lengthy explanations. Give me a task and a small code snippet that does that task. From there I can usually do the rest. Excellent site with many recipes.

6. Python Challenge

If I had to pick one item out of this list that made me learn the most Python in the shortest possible time, this one would be it. It’s hard to explain what the Python Challenge is without spoiling some of the fun, but let me assure you that that each puzzle is deviously challenging and you will find yourself addicted. The best part is that with each challenge you end up learning (by Googling and researching) another little part of Python programming. I’m currently stuck on Challenge #12, and have loved every minute spent on it.

7. The #python IRC channel on Freenode

In general the Freenode channels are helpful places to ask some questions, and #python is no exception to that. If you have a reasonable question, chances are that someone will be able to help you out. I personally recommend the combo of irssi and screen because it allows continuous connections and easy idling in the chan. I’ve picked up quite a bit of info just lurking and reading other people’s questions and answers.

8. Del.icio.us Python Popular Links

Want to stay on the cutting edge of what’s hot in the Python community? This is the way to do it. The site tracks the most popular URLs tagged with Python, so you get a continuous feed of interesting and helpful links. I’ve added the RSS feed for the page as a Live Bookmark in Firefox, making it easy to skim the list. If you don’t already have a del.icio.us account, go get one now (although you don’t need one just to view other people’s links).

9. The Unofficial Planet Python

I’m firm believer in the idea that you learn the best by surrounding yourself with people who know a lot more than you do. Planet Python helps me do that by tracking the weblogs of Pythonistas around the globe. Admittedly, I only truly understand only a portion of the technical discussions, but it’s still been a good way for me to learn about the community and pick up some tips.

10. Vaults of Parnassus : Python Resources

This one I felt compelled to list just because it is so popular. I haven’t really had much reason to use the Vaults myself, but I can see how they would help both non-programmers like myself as well as those who are experienced. If you want a Python module, you’ll probably find it here.

(Hey, this one goes to eleven!)

11. Honorable Mention: Python Programming for the Absolute Beginner
This one definitely deserves an honorable mention. It would have easily been in the Top 10 if it were available for free on the web, but you’ll have to buy this one if you want it. That said, Michael Dawson’s book was a very good refresher in the absolute basics of programming starting with print statements and variables and working all the way up through classes and OOP and finishing with GUI, sound, animation, and games. If the first chapter of Dive Into Python frightens you, you might want to check this one out.

So that’s my list. There are definitely other resources on the web that I have found to be extremely helpful, but I’ve tried to limit myself to ten in this list.

Did I miss any? Feel free to post some links in the comments below.

Update: Rob Levin points out that, regarding No. 7, #python on Freenode is an excellent resource for seasoned programmers as well as new users. I agree.

5 Responses to “Top 10 python resources for the non-programmer”

  1. Nathan Says:

    Wow, great list man. Looks like you really have some info here. Too bad it’s about python :)

    SKALAMOOSH!

  2. John Says:

    Python 0wnz yer p4ntz and you know it. :)

  3. import this. » Blog Archive » Another Python neophyte Says:

    [...] Best of luck to the anonymous person behind the site! I recommend they check out my Top 10 List of Python Resources. [...]

  4. import this. » Blog Archive » Crash course in Python Says:

    [...] Both guides are fairly decent, but neither will take you very far into the language. A while back I compiled a list of helpful Python resources that might be more useful if you are serious about learning the language. [...]

  5. import this. » Blog Archive » Python evangelism continues Says:

    [...] For my take on important Python resources, check out my Top 10 List of Python Resources. [...]

Leave a Reply