Tongue Out of Cheek: A Follow Up To Learning Python and Getting Distracted
My previous post, How To Get Really Distracted and Not Learn Any Python, generated enough interest (or at least comments) that I wanted to follow up with some comments of my own.
I have been learning Python in my spare time for quite a while and I am no expert, but I am at least fairly comfortable in it by now. I was reflecting back on what I saw as some missteps I took along the way. The mistake I made was to try and take on too much at once. Instead of just trying to learn Python, I was mixing in learning Linux, a new IDE, a new source control system, etc. All of these are certainly good things to learn, but learning them was not essential to my main task of learning Python.
For the curious, I found the following to be useful activities for actually learning Python:
- Read the official Python Tutorial – I’m not kidding, the official docs are good
- Study Core Python by Wesley Chun – The weight of this book may damage your wrist, but the quality of the information is superb. I read a chapter at a time, then reread the chapter and make notes
- Download and install Django, complete the first tutorial and then try to trace the flow of the code so you can see where the default Django page comes from – I used Wing IDE Personal edition to set up breakpoints and step through
- Read and try to understand the code in a Python standard module – for example, if you are looking at Django or other web frameworks, take a look at the HTTP/TCP/SocketServer family of classes
And MOST importantly, write some code! Writing code is best because it is so humbling; you are not just nodding along to an example in a book, you have to be a creative participant. Sometimes though, it can be tough to know what code to write. To avoid “coders block”, I need to have a goal to work towards. Things like the Django tutorials are a good place to start if you have no ideas. However, things really started clicking for me when I came up with a project idea: write some Python code to read barcodes from books/DVDs via a webcam and then use the resulting barcode to look up information about the book and store that information somewhere; basically a Delicious Library knock off. Kind of silly, but motivating.
And speaking of silly, but motivating (this is begging for a sequel), I present (for the second time) the following Erlang video: on Google video (with longer introduction) and YouTube (slimmed down version). The pinnacle of the driest humor or just unintentionally hilarious? You decide.*
* In anticipation of angry comments from Erlang partisans, I would note that for the last paragraph of this post tongue was back in cheek.