Latin as a prerequisite for programming?

I’m catching up on my blog reading and just plowed my way through Joel’s curmudgeonly “old guy” rant about The Perils of JavaSchools. I don’t have a lot to say about the central thesis of his rant — I’ve always been of two minds about the efficacy of the Darwinian theory of weeding the weak out through hazing-type classes — but there was an analogy that caught my eye:

Heck, in 1900, Latin and Greek were required subjects in college, not because they served any purpose, but because they were sort of considered an obvious requirement for educated people. In some sense my argument is no different that the argument made by the pro-Latin people (all four of them). “[Latin] trains your mind. Trains your memory. Unraveling a Latin sentence is an excellent exercise in thought, a real intellectual puzzle, and a good introduction to logical thinking,” writes Scott Barker. But I can’t find a single university that requires Latin any more. Are pointers and recursion the Latin and Greek of Computer Science?

I actually took four years of Latin in high school because I had had such a horrible experience trying to learn to speak French in middle school that I was desperate for any language that I didn’t have to listen to or speak. The joke ended up being on me, though, because when I took an Italian class in college, I realized that — difficulties with French aside — Latin was much, much harder to learn than most modern Romance languages. After all, in most of them a noun tends to have just two aspects: gender and/or number. In Latin, though, you have declensions in which the noun changes form based on its role in the sentence. Just that alone made Latin quite a challenge. And a pleasure, I might add, due to the fact that I had an excellent teacher.

Interestingly, though, I think that Latin actually has helped me a lot with my current job. After all, pretty much all you do in Latin class is translate Latin to English and back again on paper (unless you work in the Vatican). And, if you think about it, pretty much all compilers do is sit around day after day translating one language into another. So a lot of the same concepts and methodologies that I learned translating Arma virumque cano, Troiae qui primus ab oris… map fairly well into translating something like If x = 5 Then y = 10. Sure, there are lots of differences between human languages and computer languages, but at some level language is language. So I guess I’m one of those four pro-Latin people and maybe the only pro-Latin person who thinks that learning Latin might help you later when you learn computer programming…

(I should also add that the real payoff of Latin is the opportunity to translate some of the really great masters of Roman literature. Translating the Catiline orations by Cicero gives you a chance to see a really master politician and orator at work in the midst of a pretty gripping political thriller. And Virgil’s Aeneid — at least, the parts we made it through in a year — was just wonderful. While watching the otherwise wretched Troy, I was able to keep myself awake by speculating whether Aeneas would show up with his father on his back when Troy finally burned; the fact that he did was pretty much the only thing that I liked about that movie.)

8 thoughts on “Latin as a prerequisite for programming?”

  1. heck – got you beat. Six years! From 7th grade through h.s. graduation. Sr. year we had already done Aeneid and Cicero (boy, did we learn some good tattling tactics from Cicero) so we were left with playing scrabble in Latin and translating Winnie ile Pooh back into english. Or at least that’s how I remember it all these years later! I hadn’t ever thought of a correlation between that and programming, but one never knows…!

  2. You had me until you said "After all, in most modern languages, a noun tends to have just two aspects: gender and/or number." — probably better to say in most *romance* languages (since there are tons of languages with additional cases beyond gender and number! 🙂

  3. Didn’t take it in college, but 1st year Latin was required in 8th grade at my high school (and 2nd year was required if you wanted to actually get any credit for 1st year.)

    We had a few poor souls trying to juggle 2nd year Latin and 1st year French at the same time. It made for some interesting chalkboard translations… and a few good laughs.

  4. No Latin, but I did have several years of German (yes, I know the languages aren’t very close…but for English speakers both Latin and German are foreign languages).

    Anyway, I found German to go well with CS…lots of rules that you had to follow and–unlike English–the rules usually make sense. I’ve flipped though a few "Latin for Dummies" type books at the bookstore…it looks interesting, but three genders and four cases in German is enough!

    I’m sure anybody that has learned a foreign language can also attest to how much it helps with English.

  5. I’ve worked in software development since the early 90’s, first on VMS, but now currently developing for Windows in VB. I have no formal training in CS at all (I became interested in computers as a teenager when I had a ZX Spectrum) but I do have a degree in Classics, which includes Latin and Ancient Greek. I would say that Latin’s strict structure has helped to develop my thinking and understanding. Or maybe it’s just that the way my mind works has a natural affinity with Latin! I can’t speak so highly about Ancient Greek the same way – I always found it a bit messy compared to Latin

  6. I see your point, learning a highly structured language can at least bend your mind into following a structured path trough code.

    Also, the more romance languages you learn, the easier the next one gets, kind of like flavours of programming languages. After having studied French and Italian, Spanish is quite understandable. German is fairly understandable and semi-easy to learn if you speak a Scandinavian language, and with a bit of imagination I think I can figure out some Dutch by combining English and German. The more languages you learn, the ties between them gets more visible. Off course, move out of Europe, and you’d have to do it all again…

  7. A friend of mine sends her kids to school in london where there spent the first 6 years learning sanskrit, and the next 6 years learning latin.

    I learnt latin at school and find it far from useless. Apart from its utility in deciphering a host of latin-based languages, it also allows me to make good guesses as to the meaning of many english words, and even if I know the meaning, it helps me understand the roots of that meaning.

Leave a Reply