Software industry is not new to tussles about languages. This time though, it is not about a programming language, it is about using English as the default for technical discussions and documentation. Jeff Atwood is quite honest in expressing the feeling that programmers should learn English if they want to connect with the world-wide community. And we can see similar suggestions offered by others. An excerpt from Python’s PEP 8
For Python 3.0 and beyond, the following policy is prescribed for the standard library (see PEP 3131): All identifiers in the Python standard library MUST use ASCII-only identifiers, and SHOULD use English words wherever feasible (in many cases, abbreviations and technical terms are used which aren’t English). In addition, string literals and comments must also be in ASCII. The only exceptions are (a) test cases testing the non-ASCII features, and (b) names of authors. Authors whose names are not based on the latin alphabet MUST provide a latin transliteration of their names.
Open source projects with a global audience are encouraged to adopt a similar policy.
Python coders from non-English speaking countries: please write your comments in English, unless you are 120% sure that the code will never be read by people who don’t speak your language.
While I agree with these suggestions, I think that documenting is different from discussing. It is a lot easier to translate your thought into a language than think in it. Active discussions require continuous interaction that result in evolving thoughts. This happens best in a language most comfortable to you, and for many it is not English. I know some good programmers who would like to have brainstorming sessions and discussions in local language because English brings in a lot of formality.
When I deal with people, I think of language as another tool. And like other tools I try to pick the most efficient one for the task.
As I am ending this, Jon Hancock has come out with nice rebuttal to Jeff’s post, from the perspective of local communities.