views:

652

answers:

22

I know that the "native" language of programming is English, but I was wondering on how many programmers dare to write the development comments/documentation in a language other than English or on the contrary take extra burden of using English everywhere to make their code international.

UPDATE: The general wisdom is (based on the answers so far): Always use English.

+1  A: 

I used to write developer docs in English, but my colleagues, some of whose language skills are really not that good, had problems with it, so I write docs in my mother tongue now.

Just recently turned out one of your projects is to be translated into a different language and the new customer obviously requires English-written docs. So, you never know where your code might end up. This really makes me reconsider whether it's better to write the docs in my mother tongue or not.

petr k.
+1  A: 

Yap, Thats the way it works. It is stranger though to declare variables in another language since the language syntax is in English. You end up, in my case, with a span-glish statement declaration.

Igor Zelaya
+8  A: 

When I was young and doing Visual Basic and VBA programs, I wrote the comments and identifiers in French.
Now, when I read this code, I am slightly shocked, it seems... unnatural! :-)

I think lot of beginners tend to write code using their mother tongue: somehow, it is difficult enough to understand and memorize the new programming language, without expressing thoughts in a foreign tongue. I see that in the Processing forum, for example.

Now, in an Internet era, where you search information or look for help, you often have to show code, and be understood by others. You might find a programming forum in your language, but you will maximize your chances by using English.

At work, there is no question, English is mandatory to write code (comments, identifiers, even if sometime I see some strange constructs/words...), but also for commit comments, bug reports, specifications and user manual. This is even more stressed out by the fact my company is international, with people (testers, help desk, etc.) in UK, USA, Taiwan, etc. and international clients.

PhiLho
idem, the worst is when I see code when I was at school and that mixed both english and french, really ugly... now everything is in english, except the user manual and of course interface labels (in both languages)
Vinze
+2  A: 

i have a friend (English) thats works in Spain for EA games. He says its a nightmare, although keyworks are still in English, the varaible names are all over the place. Some in spanish and some in english, and even combinations of both!

Ady
True, I've seen a lot of code like that!
Yar
Yep, one of the first things doing there was force them to remove all stuff like this. I was in charge, Czech-native and knowing nada en espanol, so couldn't make any sense out of it:) It was back in 2000, ASP VBScript with Spanish everywhere, you can imagine the torture;)
aprilchild
+3  A: 

We do our documentation in our native tongue (Norwegian), except for code that goes into libraries that could be used by others.

Ola Eldøy
A: 

only if it company internal project

Igor
+2  A: 

I am from Thailand. Most of the employers in my country require English documentations. However, the English language skill of our programmers is not very strong in average, IMO. So, if English documentations are not required, we write them in our native language to avoid misinterpretation.

By the way, I have seen very few source code's comment in native language. I think most of us would like to keep our code in plain English as much as possible :)

m3rLinEz
A: 

Back a long time ago, I suggested to my friends in Germany that we convert the RATFOR compiler to use German keywords. The reaction was generally shock and laughter.

Charlie Martin
And now it's the same?
Yar
+3  A: 

In Spain, both happened.

Company 1 (most companies are like this): Most variable names that were not general concepts like "stack" and "screen" and all documentation was written in the local language. This was also true in Italy.

This was nice because it was easy to tell which code was ours.

Company 2 (the international companies or wannabees): We did everything in English including code and documentation. We also wrote courses in English. Which of course led to some very funny, non-native English.

Yar
'Courses'? As in "I learn English in a course."? Or 'curses' as in "f*ck"?
Joachim Sauer
I think as in "this course will show you how to use program X"
Unkwntech
Unkwntech is right, they were courses like "Everything You Always Feared Was F*cked Up About XML Security." Curses, of course, were said in the local tongue.
Yar
Although in Argentina the word "fucking" has made it into the local lexicon, as in "no funcionan mis fucking llaves" (my keys putas don't work).
Yar
+4  A: 

I write everything in english, even small tests i do at home..i guess its just the power of habit:)

Quamis
+1  A: 

You might find the discussion in this similar recent popular question of value.

DOK
+1  A: 

Not really answering your question, but... Being American, I'm sensitive that it's easy for English-speakers to get a bit complacent or anglo-centric, that everybody else should have to learn to work in my language, and not only that, be expected to understand its idioms. For better or worse, now with the whole world talking together, one language tends to get picked as the "lingua programmatica".

Mike Dunlavey
+1  A: 

It depends in a couple of things. First off who is paying for the project. In my currently ongoing project the client has specifically requested spanish comments (which are also source of documentation through doxygen).

On the other end, if you are planning on working in an open source project or if your potential customers do not share your mother tongue you should clearly go for english.

For the rest of situations, you can decide what you feel most comfortable with, which in my case has always been english.

David Rodríguez - dribeas
A: 

Code is not just an artifact that is generated by programmers to create software. It is a means of communication about what the software does, how it does and is essential to be 'friendly' for it to be extended/modifed/updated/improved/revamped/refactored/maintained. Think of code the same way you think about other means of communicating about your software. Once you have that mindset, you'll be able to answer that question more approriately.

Ather
+1  A: 

I work at an Israeli branch of an international corporation. The only things that aren't in English are verbal discussions, such as meetings or coffee corner conversation. Code, E-mail and even IM are in English. In fact, in the very common case that there are people from abroad even meetings are in English.

Nathan Fellman
+1  A: 

I work in Austria and except for very, very few exceptions I (and the company I work in) write everything in English.

For one it's a question of vocabulary: There are many terms that would need to be translated from English, since the source is English. And translating them makes it unnecessarily inaccessible, since even native German speakers know the English term better than their German translations.

The second reason is consistency: It's a pain in the butt to have one part of the documentation in one language and another one in another language. And since very few projects are really self-contained and reference nothing else it's a lot easier to just go with the linuga franca.

The only time I write German code is when the customer explicitly requests it. For code it is best to avoid this, in my opinion. Development documentation is almost never written in German, but end-user documentation sometimes needs to be.

Joachim Sauer
A: 

My code is always in English, because English words are, in average, shorter than Spanish ones. And I hate code that is in mixed English-(insert local language here), so choosing the language that yields the shortest token for every variable or function name is not an option.

However, when I write documentation, most of the time I have to write it in Spanish.

Eduardo León
+1  A: 

"dare to write"? I would think at my workplace it would be daring indeed not to write the documentation in Dutch as it's only intended to be used here.

Albert Visser
I know that the expression is a bit exaggerated but I expected that the general opinion would be to use English every time. The answers validated my expectation.
rics
...and then the company expands abroad. All of a sudden, not everybody in the company speaks Dutch, effectively reducing the documentation to zero for those people.
Piskvor
+4  A: 

I'm a Croatian Developer. My experience so far (surmised from my work and the work of others I've seen or talked with them too) is :

  1. If an application is developed by a local team, for a local client and is expected to be maintained by a local team, then the majority of applications will be written in the local tongue including the documentation.
  2. If an application is developed by a local or mixed team the code and documentation is written in English
  3. If an application is developed by local team for the international market and is expected to be maintained by a mixed team then the code and documentation is written in English

In my opinion it is unecessary, and in some cases donwright damaging to the quality of the project to write code and documentation in English when is reasonably to expect that the only persons working on the code and reading the documentation are local speakers. The reason for this conclusions that is most likely that the majority or some team members will be poor english speakers and poor writers, who will only genereate unreadable code and documentation.

Plust there is always the extra overhead of writing and thinking in a language different then your own.

The problem with English and non-english documentation or code occurs when English speaking (native or non , in this case the point is that the persons don not speak the native code of the team) come in working contact with the code and documentation. In that case there are two solutions (and problems):

  1. If the project has not started , write all in English or get rid of the only English speaking personalle if possible or,
  2. If the project has started rewrite the entire code and documentation in English, or get rid of the English speaking personalle or let them learn the new language.
Nikola Stjelja
+2  A: 

For me (living in Estonia), the ability to write code in English is an elementary skill of a programmer. I can't consider anyone a serious programmer if he can't read and write English at some average level.

  • First of all you need to be able to read manuals, and those are almost never in Estonian.
  • Then you need to write code using a programming language which is always in English, and a set of libraries/frameworks, which are in English too - writing your code in Estonian would not result in code written in Estonian, but in a mix of English and Estonian.
  • Additionally most programming languages won't let you name your variables using characters like "õ" and "ö", and you can't substitute them with simple "o" without getting ambiguous. For example "õli" means "oil" but "oli" means "was".

I think most of the software-companies around here understand that and almost everyone requires some competency in English.

But documentation is a harder nut to crack. While for international companies the choice is pretty simple, for the local ones, who develop only to the local clients, the situation is not so straight-forward.

  • When you have to lay down the spec with the client, then it's hard to do it in English - it's tough to dig out the requirements even without the language barrier.
  • Writing documentation in non-native language requires greater skill than writing just code. The language of code and comments is quite concise, but documentation is really just a form of literature.
  • Additionally you want to make writing documentation as easy as you can, because if it takes too much effort developers will avoid doing it.
Rene Saarsoo
+1  A: 

Even though I'm French, I started programming at 14 back in '81 and at that time, everything programming-related was in English more or less. So I started writing & programming in English and haven't stopped since. My computer are all running with English menus... At $WORK, in an multi-curtural environment (I work for a european agency), it makes sense to use English and that includes programming becuase you never know who will read your code and documentation and specially what is their language.

Keltia
+2  A: 

Here in the Philippines, we always use English for business documentation (programming or otherwise), as well as in email, which has been the case since the American colonial period. Verbal and IM communication are be done in our local language.

mparaz