The inspiration for today's post comes from a piece of code – more precisely from one of those famous // TODO comments.
So here's the comment alongside with the line of code:
// TODO unabhängig von Sprache machen
properties["authorizedGroup"] = "Benutzer";
You are already wondering what "unabhängig von Sprache machen" and "Benutzer" mean – right?
This is the first thing to avoid:
1. never, NEVER EVER – not even while hacking some website with a gun pointed to your head and a blonde giving you head (Swordfish)… OK maybe this is a valid excuse to not comment at all – write your comments in any other language than English.
You will write 100% of your code in English and if you decide to write your comments in German/Polish/Esperanto/Swahili you'll force your brain to switch context dozens of times while reading your code. There is conclusive evidence that switching contexts disrupts your efficiency while coding. So just don't do it. Write in English. You'll probably improve your English skills along the way.
2. Learn English
Learn to read and write English – proper English. I flinch everytime someone storms into the C# chat over on StackOverflow and writes sentences like this: "I gut prob w/ ASP.NET MVC3. Do u any exp w/ it?"
This sounds like the writer has learned English from the graffitis in the background of an American movie with subtitles. Probably from the movie Dangerous Minds or worse.
Extra tip for readers from India: Putting a 'sir' behind every sentence does improve neither spelling nor grammar.
3. Write about programming – in English
I started this blog for exactly that reason: I want to better communicate my ideas and thoughts about programming. I want to be able to do that in English, because English is the lingua franca for software developers. I want to be a great programmer and I share Joel's opinion, that you the difference between tolerable and great is ability to communicate. After graduation from university I am going to be a military leader of 40-200 men and women. I need to be able to communicate in a concise way and yet not miss important details.
If starting your own blog seems like to much trouble for you, go over to StackOverflow and start answering questions. Try to make your answer the most awesome answer on the web.
4. Install only English versions of your IDE
This is especially true if your IDE is being shipped by Microsoft. For all that Microsoft does really well with its OS, the programming languages, the framework, world peace (OK maybe not with that), the fact is they… ummm… suck at translations. I know professional interpreters that outright refuse to do any work for Microsoft, because of their translation policies.
The number of times I've been trying to find the Microsoft translation (English to German) of a menu item in Visual Studio is beyond count. Often times this boils down to "third menu from the right, fourth item from top" in the end.
5. When logging error messages always use English messages
For the same reasons stated earlier on, I recommend you log all your exceptions / errors in English. This is especially true for exceptions that are automatically translated into the computer's locale – as happens with most exceptions in .NET. Imagine you are receiving a logfile from a customer in Libya and find the error messages written right to left in an unfamiliar alphabet. Good luck finding that bug.
This can be worked around for most exceptions in .NET (solution on StackOverflow) and I'm sure you'll find a way to make it work in your programming language.
6. Bonus tip: get the job done
No matter whether you are a native English-speaker or not, the main part of being a software developer is getting things done.
You have more tips to share?
Please post them in the comments and keep discussing