Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

A question has been bothering me for a while: when developing international projects, it is common sense to use English as the reference language since it is the language that the most people understand.

However, how can one choose to name a function when it could have different valid English spellings. For example, would one name a function get_center or get_centre?

Are there some rules of thumb to choose, do we choose both or just choose one arbitrarily and try to keep consistency afterwise?

NOTE: Most answers recommend using American English, which makes sense. However, I had no idea that one of the spellings was American English and the other one was Great-Britain English. Therefore, my example is not a good one. Of course I would have used center if I had known that difference. But my question is still valid even though my example is a poor one.

NOTE²: Concerning center vs centre, I see that wxWidgets uses both.

share|improve this question
3  
I don't think there's any particular rule of thumb, except to stay consistent in whatever you choose. –  Mansfield Mar 26 '13 at 12:33
3  
Use the dialect of English that is prevalent in the location where you are practicing (or practising). –  Joel Brown Mar 26 '13 at 12:37
    
In my experience most libraries and other technical specifications use US english (eg html has a color attribute, but no colour) –  thorsten müller Mar 26 '13 at 12:57
1  
@thorstenmüller: W3C HQ is in Boston, MA. So they are basically just using their local dialect. –  vartec Mar 26 '13 at 13:55
    
Pick American or British spellings, and if you are unsure, go to dictionary.com. –  kevin cline Mar 26 '13 at 20:36

2 Answers 2

up vote 7 down vote accepted

You choose what makes sense for your organization/project, document your choice, and use it consistently. There really isn't any universal guideline for this.

If the majority of your developers spell it "centre", then it may make sense to standardize on the "British English" spelling vs. the "American English" spelling of "center", since that's what most people will be accustomed to.

OTOH, if you're working with one or more APIs/frameworks/toolsets which use the "American English" spellings, you may be better off sticking with that for consistency with those.

But again, document your decision - not just what you decide, but why and make sure that everyone has read, understood & agreed to follow it.

share|improve this answer
4  
Note that the question is explicitly about international projects. As a French developer, I hardly see myself forced to learn and use en-ZA just because the project was originally started by a developer from South Africa. –  MainMa Mar 26 '13 at 12:59

when developing international projects, it is common sense to use English as the reference language since it is the language that the most people understand

For the very same reason, it is common sense to use American English (en-US), not any other regional accents or dialects:

  • en-US is used in every international project I've seen. Switching from en-US to, for example en-NZ (New Zealand) would be painful and create inconsistencies between the codebase you write and the APIs you use.

  • Variants other than en-US are less known compared to en-US. That's why I completely disagree with both the comment of Joel Brown and the answer of alroc: if you follow their logic, then you'll find yourself using German if you're in Germany, or Spanish if you're in Spain.

    1. Either you are writing a local project and are completely sure that it will never be used by any foreign developer. In this case, you are not forced to stick to English in the first place, and many developers will use their language instead.

    2. Or your intent is to develop an international project, which means using American English, not English used in Australia or Ireland.

  • If you're using a language other than American English, it would be consistent to also use non-American localization (not at UI level, but in code and documentation). This creates additional unneeded complexity.

  • I imagine that for people who have English as their native language, it's pretty simple to understand any English dialect or regional accent. This is not the case for foreigners. Developers working in India, China, Russia are accustomed to American English, and for them (for us), using other variant is painful.

    Note: this is still just my own experience as a French developer and what a few of Indians and Russians told me. It appears from the comments that some other foreigners are more accustomed to en-UK.

    For example, I have no issues watching a movie in American English, but I can hardly understand some movies shot in Scotland or Wales. Written English is more uniform, but still is slightly more difficult to read and especially write for foreigner developers.

    Using English only in a professional context makes things worse. When the only usage of English for a Russian developer is his job, the person will be accustomed to write color or center, and colour or centre will be perceived as a misspelling; just a few seconds after that, the person will understand that it's a correct spelling of a word in another regional accent.

  • Spell checkers, browsers and other tools are generally configured to be used in American English. Working on a project which uses other locale will require either a dedicated development environment or a constant reconfiguration of tools if the developer has to maintain multiple projects at the same time.

share|improve this answer
    
Well, spell checkers for French maintain up to three different versions because of some recommendations published in 1990. –  Morwenn Mar 26 '13 at 13:33
    
You'd probably be surprised by the amount of code written by Spaniards that use Spanish for function names and variables, then... –  Vatine Mar 26 '13 at 13:35
2  
I see the point in using en_US, but rather as influence of location of the Silicon Valley. As for what kind of English people use in European countries, as far as I know, most people are thought Queen's English, rather than dialects from the Colonies. And then they get Cambridge ESOL certificates –  vartec Mar 26 '13 at 13:47
3  
Accent and dialect both relate to the spoken not the written word, and I would suspect that India, the most populous of the ex-British colonies is more familiar with UK English than US English, not withstanding the fact that they have effectively developed their own Indian English with the addition of new peculiarly Indian terms e.g. updation (... and don't worry, even in England we have difficulty understanding the accents of the Scots and Welsh) –  paulkayuk Mar 26 '13 at 13:57
3  
@Morwenn: in my experience developers who don't care about spelling also don't care about a lot of things. –  kevin cline Mar 27 '13 at 17:08

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.