Having grown up with a parent who is a web designer and a software engineer, gave me an early look at programming languages such as Python, Ruby, C++ and Java. Unfortunately I was never really interested in programming, it seems very tedious and frustrating. I remember taking an Econometrics course in my third year; we had an assignment where I needed to learn how to use software called STATA. It is not very complicated, and probably couldn’t event be considered “true programming” but it uses its own tiny language to produce output of a regression. I remember how frustrating it was doing that assignment, being stuck on one tiny line of code and having no idea how to fix it. For this reason, I always shied away from attempting any sort of coding.
Fast forward to this semester, I have to learn a coding language in my history class. What?! Why?! God dammit… I wont lie, I was disappointed that I had to go back to the late nights of pulling my hair out and having a pot of coffee, trying to figure out the code. But I was in for a nice surprise. As far as programming languages go, Python has an element of elegance to it. Its unbelievably simple and could make even the most daunting of tasks appear much simpler.
www.http://programminghistorian.org is an incredible open access online textbook that makes an already simple language even easier to learn. It looks at Python through a lens of a historian and brings together to world of programmers and historians into one. But why? I’m sure I wasnt the only one to internally exclaim “Why do I need to know this for history”? Well, to answer that question, consider a small inside joke programmers have “If you are going to do it more than three times, write a program for it”. Historians undertake repetitive tasks almost on a daily basis. Of course, it would be a mistake to say historians do the same thing day in and day out, but in many cases, especially research, the tasks preformed are at least some what similar. That is where Python comes in.
The beauty of programming, is that you can adapt and modify and existing program to do something else. For example, after working through Programming Historian lesson about multiple records and query strings, we should end up with something that looks like this:
Now we have a program that will search the archive and return the values we look for. But suppose a day after we want to search for something else. Do we need to write another program? Nope. Just replace the arguments and the URL (if needed) and run the program.
Python was created in 1991, in a way, its a piece of history itself. One of the first programming languages back when computers were still an uncommon household object; and yet it it still useful, relevant and simple. After having worked through some of the lessons, I am convinced that Python definitely has merit as a tool for historians. In an increasingly digitized world, historians soon will have no choice but to adapt. Especially with collections becoming more and more digitized. As the world and technology changes, looking through books and making trips around the world to check out a particular piece of parchment or sort through entire volumes of records is becoming a little bit absurd. Those opposing change need to ask themselves “What is there to lose”? We should not allow stubbornness to stand in a way of innovation. Even if innovation means using a 21 year old piece of code. Its better late than never.