Monday 11 May 2009

Non parlo inglese

A friend once mentioned that he believed that people who live in Australia (where English is the native language), should at least go to the trouble of learning to speak English. I'm paraphrasing, but his original comment sparked a bit of an argument. What I originally thought he said was that he hated people who speak a foreign language around people who don't speak that language, and that since English is the native language of Australia, everybody should speak that language. I still think that's harsh, but not because I'm multilingual (far from it in fact - 6/20 for today's surprise Italian vocab test - luckily it didn't count for anything!). I just don't think it's fair to impose a language on someone, especially one that can be confusing to learn, and may not be as precise as other languages for certain things.

Then I read this article shared by Awesome Jon, The Ugly American Programmer, which asks the question, "shouldn't every software developer understand English?" I never really thought about it, but most of the terms featured in coding languages are English words, or derived from them (string, int(eger), char(acter), return, etc.) and I wondered whether there were compilers out there for people who spoke a different language and would contain other keywords for those things like maybe num(ero) for number? Then I realised how impractical that would be, as it would make code sharing quite difficult without some sort of converter - which woudln't be too hard to write, as it would simply be a find-replace algorithm with predefined word-pairs - but it would add complexity if you had a programming team of different linguistic backgrounds. Which language would you choose to store your code in? Plus, comments are just a no-go zone, as we all know how bad automated translations can be.
English: How much wood could a woodchuck chuck if a woodchuck could chuck wood?

Italian: Quanto legno nel mandrino potrebbe una marmotta nordamericana bloccare se una marmotta nordamericana potesse bloccare il legno nel mandrino?

English: How much wood in the mandrel could a North American beaver block if a North American beaver could block the wood in the mandrel?
Just for practicality, it makes sense to have an agreed upon language that everyone uses, and it's apparently the most technical language, so English is it! While it's not like people are beating other coders up for commenting in another language, it just seems like if you don't want to learn the language, then you're going to have a lot of difficulty finding supporting documentation.

It's funny, I was just about to post this blog when I thought about how hard it would be to comment in Asian languages (or any language that isn't based on the alphabet and has lots of foreign characters). In fact, one person commented on the blog post that his Python interpreter died from his strange characters in his comments. Anyway, I came across this article, Mandarin Chinese programmer communities, which is also worth a read.

No comments: