Thursday, September 13, 2012

Programming: Languages For Nerds

Perhaps you didn't know that yesterday was Programmers' Day (we're annoyed we missed it too!). It would have been today if it wasn't for the leap year (It falls on the 256th day of the year, since 28 = 256, which is 100000000 in binary, those crazy programmers!). This day will never be as popular as Christmas but we thought it would be good to go through the etymology of a few languages... programming languages!

Even though they're not languages in the traditional sense you can see that they do share a lot in common with spoken languages. Programming languages have syntax, meaning words have to be in a certain order in order for the expression to make sense.

As well as syntax, programming languages also have another component known as semantics. Semantics includes all the meanings of the language.

Clearly there's some joke here we're missing...

The similarities don't stop there! If you're familiar with the imperative tense then you can probably work out what imperative programming entails just from the terminology. It doesn't involve screaming "work you intolerable bastard!" when it crashes.

As with all words, the names of programming languages have their own origins. They range from the incredibly dull BASIC (Beginners All-Purpose Symbolic Instruction Code) to perhaps our favourite Python, named for the comedic troupe Monty Python. The knights who say 01001110 01101001 probably wouldn't be as funny.

Perhaps the most obscure of these languages would have to be LOLCODE, which is built purposely to throw in as many references to a certain type of internet cat as possible.

They can program computers now.

We didn't say they were all great...