Which programming language should a librarian learn first?

programming_comicOver the last few years many librarian have probably asked themselves “What programming language should I learn first?” If you haven’t you probably should! What is at stake? Probably your job (e.g. librarian, archivist, cataloger). Why? Because information science professionals are being expected to have some level programming knowledge. Yes even for some non-technical jobs.

To help answer this important question I’m bringing to you highlights from a discussion that took place (June 2013) among 16 information professionals on the American Library Association’s Library and Information Technology Association Listserv.

Long story short, you will get a different answer depending on who you ask. This is because of people’s personal preference, but also because there is no perfect language for all scenarios.

Type of languages

In the programming world there several categories of programming languages. The languages discussed in this post fall under two, compiling and scripting. Many say that scripting languages are easier to learn and lead to quick results. This can be a confidence booster for skeptics and newbies. Compiling languages teach more foundational concepts and can be used to do things like create an android app. However, they tend to be more tedious.

Three Tips

Start Simple: The great thing about programming languages is that once you learn the basics and have a bit of experience, learning new languages becomes easier. If you’re someone how enjoyed instant gratification and can’t deal with long delays before you see results you should start with a simple scripting language.

Immediate use: Some believe that “the best language to study is the one you have most immediate use for”. It will stick with you better and you can apply the new knowledge immediately. So think about a service or a product that exist or you want to create and start there.

I am trying to…: Figure out what you want to do and use that to direct you towards some appropriate programming languages.

  • Content Management Systems or Web development: Learn PHP. Some of the top open-source CMS (e.g. WordPress, Drupal) platforms are built on it.
  • Dynamic and interactive web-related: Try scripting languages like ASP, perl, and JavaScript.
  • Data and database related: Turn to SQL.
  • Library world: Look into XML/XSLT. In addition to being simple to learn, XML is a very common data exchange format that you can use it to render stuff into various formats

Most mentioned languages

Although several languages were mentioned in the discussion thread (e.g. ASP.net, Basic, C#, Ruby and Perl) here are the three most mentioned.

  • Java: Though can be difficult to learn, java exposes you to important foundational programming concepts. However, Java gets complicated quickly and is focused on “doing the right thing” which will prevent some people from “getting the job done.”
  • JavaScript: It’s everywhere, is easier than many other languages, and gives instant gratification. In case you’re wondering, no it is NOT the same as Java (common belief). The first is a compiler language while the latter is a scripting language.
  • Python: Apparently a language that “many” librarians start with and Google’s non-programmers can get training in, Python is a sound and user-friendly general-purpose programming language that can do many things. Furthermore, it will equip you with an understanding of programming to facilitate the learning of other languages.

Final Words of Wisdom

Still don’t know where to start? Let what you read soak in. Also remember, there is no perfect language for all scenarios, so just pick one to get you started.

The biggest thing is, whatever you start with, stick with it! It’s a computer. You can conquer it. Along the way you may feel like it is a lost cause and that you’ll never become proficient. When that happens remind yourself, you can do anything you can wrap your mind around.

I wish you success on your journey!

Updated: 8/9/2013

6 comments to Which programming language should a librarian learn first?

  • BaroldGene
    August 8, 2013 at 1:23 pm

    I wanted to clarify that Ruby is a scripting language and is in absolutely NO way even vaguely close to SQL. Ruby would be akin more to Python. As far as what to learn first, personally I say keep as far away from Java as humanly possible. Start with something easy and useful like Python or Ruby. Javascript is a very universal language but it is neither easy (because it’s a functional language) nor does it lend itself terribly well to instant gratification. This is because Javascript on it’s own can’t really do anything, it works as a layer on top of things like HTML, CSS, Node.JS, or a long list of other things. And you are absolutely correct that Java and Javascript are not related in any way whatsoever. Java is to Javascript as Ham is to Hamster.

  • Brian
    August 15, 2013 at 1:40 pm

    I’m originally a programmer that became a librarian later on in life. My first language was C++, which I used mostly in college classes. Along the years, I’ve dabbled in Java, C# .Net, PHP, and a few others. I’m now using Python for most of my projects at the library because of its ease of use, flexibility, and ability to just get the job done quick without any hassle. If I had to recommend a general purpose language for the beginning library programmer, it would definitely be Python. For web stuff, definitely PHP.

  • Coding Librarians | The Information
    January 22, 2014 at 4:48 pm

    […] (Editor’s note: This article originally appeared on Lassana’s blog.) […]

  • SarahBoBarah
    June 30, 2014 at 10:14 pm

    Very helpful! Thanks!