Trying to decide what to write in this post was very difficult. Not because I don’t feel adept talking about programming but because I find that I am in a much different position in terms of my programming expertise. I have had experience, in some capacity, programming in C, Java, Scheme, HTML and Python. I have been programming since I was 13 and began seriously programming at the age of 16. So as opposed to learning how to program for the first time, the programming historian was a tool to relearn an old and proficient skill of mine.

This was my first reaction to python.

Learning to program is a terrifying, frustrating and wonderful adventure, all at the same time. It requires a great deal of determination, intellect and above all patience. It will be the cause of moments of great joy and great anger. There are going to be times where you’re going to want to light your computer on fire and then throw it through the window but, in the end, it is all worth it.

After reading through and experimenting with the different lessons in I found several things that I liked and things I didn’t like. I thought that for a new programmer it gave useful lessons for things that historians would likely need to do. Showing how to scrape information from a webpage for instance and how to manipulate strings in order to get useful pieces of information from large quantities of data is great. However, I find sometimes they show things without truly explaining them. List comprehensions are a fairly advanced concept (at least that’s what I feel) and the site sort of brushes over them fairly quickly without explaining them even though they go on to use them quite frequently. Obviously in the interest of being concise, some things must be skipped but I feel if you’re going to bring up a concept, you must explain it in a little detail. I acknowledge though that this might just be nitpicking because I am more advanced than the targeted audience.

I need to try PERL too.

I was able to take a lot away from the website personally though. It allowed me to quickly learn the basics of python and build programs that will aid my research ventures. I wasn’t a huge fan of python at first. It sort of freaked me out because I am so used to needing to write complicated statements and in a way I still love Java because it is a little more structured but python is awesome. It is so simple to use and is perfect to use when writing small programs in a short amount of time. It is a great language to get your feet wet if you’re trying programming for the first time. It has all the necessary functions that you might need and it is extremely forgiving for mistakes.

As for the bigger question of whether programming is something that historians should be involved with, I could not agree more. In 20 years, the majority of the primary sources for the year 2013 will be digital. The photo below is an instagram from NBC showing how the world has changed in 8 years as seen in St. Basilica Square.

We live in a digital world. I honestly believe that everyone should have some experience with programming. It annoys me that seemingly only students in the sciences and mathematics have any sort of required programming course. I think that programming courses should be mandatory for all programs. This may be an ambitious and extreme idea now but in twenty years or so I think we will be much closer to this than people think. Historians are going to need to know how to take their ideas and put them online, otherwise our field will always be at the mercy of others.

It was nice to get back into programming as before the start of this year, I hadn’t programmed in almost 2 years. It’s like a terrible drug in a way. There might not be a better rush than solving a tough problem with some savvy coding and no greater low than not being able to figure out why you’re codes not working after six hours of staring at brackets.

EDIT: This is awesome

Also, this is awesome