It was a red-letter day in my academic career. On Friday, November 3, 2006, I took an enormous leap of faith as a digital historian and downloaded Python onto my computer. Yes, I had decided that I was going to learn a programming language.
As soon as I had the program in which to write Python code up and running, I jumped into an introductory tutorial. Boy, I was ready to get my hands dirty and finally try to do some of the whiz-bang computer magic that we have been talking about in class for the last two months!
Unfortunately, this first “beginner” tutorial proved too advanced for me. I didn’t have a clue what the author was talking about. You can picture me looking blankly at these apparently simple instructions. It was pathetic! I needed a PRE-introductory tutorial on Python. I decided not to let this minor setback phase me though and quickly discovered the package of Non-Programmers Tutorials that were included in the Python software I had downloaded. Hello Success! Or rather, “Hello World.” The first lesson in programming is to make the computer print this statement on the screen. Never fear - I made this statement appear! I should have counted, but I’m pretty sure that by the time I had concluded my first foray in to the world of Python I had typed different versions of “Hello World” at least 18 times. Hey – you need to cling to what you’re familiar with.
It turns out that programming is a lot more interesting to actually do than to read about; sort of in the same way that it’s more interesting to do research for a paper than it is to listen to the school librarian give a 50-minute presentation telling you how to research a paper. Okay, so I’m being a little dramatic - I have to admit that what I’ve learned has reinforced some of the concepts that I learned from the computer science tutorials.
As far as progress goes though, I haven’t gone very far. Oh I’ve written my own program – two in fact – but I don’t think that I’m at the point where I can apply much of what I have learned to researching a historical topic. On the other hand, I am seeing a light forming at the end of this serpentine tunnel. (I know… I apologize for the snake reference. It was too awful to resist.) This past week I learned about using “while”: as long as a certain set of circumstances are not fulfilled, a program will continue to perform a certain number of steps. For example, I might write a program that searches through this post looking snake references; as long as it doesn’t come across a group of letters like “snake,” “serpentine,” or “slither,” it will keep looking at each word. Essentially, I could create a primitive search engine. If I look more broadly at my Python learning experience though, I feel confident saying that I am a lot more comfortable reading lines of code and understanding what they mean; furthermore, I’ve been able to take baby steps beyond what has been required in the practice exercises! Step aside Bill Gates!