Interesting side note. OGRE3D was created by a British citizen and they chose to follow many British idiomatic spellings - such as Colour - one of the few libraries I have used which chose those spellings over US variants.
I find it more interesting that some people expect the British not to use British English. It's not a choice, we just adhere to how the language was created. Apart from the US, British spelling differences are mostly followed by other countries where English is the main language too. It would be strange if an Englishman chose to use US spelling.
I am from UK, but for professional purposes I always use American spellings in APIs, even if it's an open source project and I'm the only author. It's objectively better for everybody to use a standard consistent spelling across all APIs.
For comments I use British English, I wouldn't know how to write American grammar if I tried.
But probably larger number of English speakers(including large countries in the Commonwealth like India, Pakistan, Nigeria, ) use the British spelling than American one.
I remember once getting confused when Android Studio kept pointing out that an Android SDK method I was calling didn't exist. Turned out I was using the British spelling of "colour".
That was the moment I realised most of the api calls I'd been making used the American spelling.
Generally agreed, if universality is a goal of the codebase. Eric S Raymond [0] and Jeff Atwood [1][2] have both written about the merits of the universal use of English in software development, and I think their reasoning can be extended to American English specifically. I say this as a Brit, generally fond of our proper spelling.
To expand on my proviso: if a codebase is written by and for British developers, I see little reason to use American English. For a serious international FOSS project though, American English makes the most sense.
It's costly to have a codebase undecided on proper English vs American English. If Alice writes 'initialize' and Bob writes 'initialise', it causes pain for everyone. This even applies to keywords and reserved identifiers. For instance, in Ruby, methods named 'initialize' get special treatment.
American English tends to dominate in tech, so if we have to make a choice, it's clear enough which one it should be.
Incidentally, Google [3], and apparently also Microsoft [4], agree with us.
For comments I use British English, I wouldn't know how to write American grammar if I tried.
I think I could cope if the need arose (it hasn't for some time, for me). As you imply, the real value is in consistent spelling in the API, rather than in the comments.
On another note, I think it's an interesting choice of words that you wrote "created."
Languages and spellings weren't created at some point in the past. They evolved gradually and are still evolving. There's no principle stating that American and British spellings are forbidden to converge in the future.
My girlfriend, who is from Britain, also tend to go on about how "british english" is the only correct english because "we invented the language". Not 100% serious of course, but subconsciously I think she believes it. She also dislikes it when swedish (us being in Sweden) borrows english words and changes the spelling or meaning. I think this attitude is a bit lazy or ignorant - people don't think about what a language is or how languages develop when they say something like this. All languages are thieving slaves of fashion that cut, copy and paste with abandon, continuously.
"The problem with defending the purity of the English language is that English is about as pure as a cribhouse whore. We don’t just borrow words; on occasion, English has pursued other languages down alleyways to beat them unconscious and rifle their pockets for new vocabulary."
--James D. Nicoll
Ah, but which English? I rather suspect it was the American variety that did the most of that. Because, you know, American tradition of rendering unconscious and emptying pockets, and all. It's a thing, here.
On the topic of "words" "found in" pockets, they didn't harvest every single password I'd created for a handful of years because they didn't care about the USB drive-- just the bit of cash. I also had someone's CC# on a sticky note in my wallet, and they left it all on the ground. Amateurs.
Very true that languages evolve and you're right, "created" was poor choice on my part. In the case of the US however, even they spoke British English at one time, and then some guy called Webster decided to write yet another English dictionary, one with significant differences, in an attempt to standardise the language. This xkcd comes to mind:
Apart from the US, British spelling differences are mostly followed by other countries where English is the main language too.
Canadian English is a funny case here — it adheres to British (Zed) and American (tire with an i) customs by equal measure, but by and large Canadians sound closer to ‘mainstream’ Americans than they do to Brits. This is of course ignoring Quebec...
Let's get this straight. There's "American English" used in the US and Canada. And then there English, where "colour" is spelled with a "U", and that's used in lot more countries, and natively spoken by more people than American English.
Really? Are you talking about India? If so, I'm not sure what percentage of people have english as their mother tongue - I think it would be quite small. Also, I think indian english is about as dissimilar to british english as american english is.
wxWidgets provides "wxColor" typedef too however and many functions exist in both "colour" and "color" versions. There would be just too many bug reports about misspellings in the API otherwise.
Comments
Interesting side note. OGRE3D was created by a British citizen and they chose to follow many British idiomatic spellings - such as Colour - one of the few libraries I have used which chose those spellings over US variants.
I find it more interesting that some people expect the British not to use British English. It's not a choice, we just adhere to how the language was created. Apart from the US, British spelling differences are mostly followed by other countries where English is the main language too. It would be strange if an Englishman chose to use US spelling.
I am from UK, but for professional purposes I always use American spellings in APIs, even if it's an open source project and I'm the only author. It's objectively better for everybody to use a standard consistent spelling across all APIs.
For comments I use British English, I wouldn't know how to write American grammar if I tried.
But probably larger number of English speakers(including large countries in the Commonwealth like India, Pakistan, Nigeria, ) use the British spelling than American one.
Yup. I try to use Americanized versions when I know I am interacting with one. The British spelling is the default.
I remember once getting confused when Android Studio kept pointing out that an Android SDK method I was calling didn't exist. Turned out I was using the British spelling of "colour".
That was the moment I realised most of the api calls I'd been making used the American spelling.
Generally agreed, if universality is a goal of the codebase. Eric S Raymond [0] and Jeff Atwood [1][2] have both written about the merits of the universal use of English in software development, and I think their reasoning can be extended to American English specifically. I say this as a Brit, generally fond of our proper spelling.
To expand on my proviso: if a codebase is written by and for British developers, I see little reason to use American English. For a serious international FOSS project though, American English makes the most sense.
It's costly to have a codebase undecided on proper English vs American English. If Alice writes 'initialize' and Bob writes 'initialise', it causes pain for everyone. This even applies to keywords and reserved identifiers. For instance, in Ruby, methods named 'initialize' get special treatment.
American English tends to dominate in tech, so if we have to make a choice, it's clear enough which one it should be.
Incidentally, Google [3], and apparently also Microsoft [4], agree with us.
I think I could cope if the need arose (it hasn't for some time, for me). As you imply, the real value is in consistent spelling in the API, rather than in the comments.
[0] http://www.catb.org/~esr/faqs/hacker-howto.html#skills4
[1] https://blog.codinghorror.com/the-ugly-american-programmer/
[2] https://news.ycombinator.com/item?id=538473
[3] https://developers.google.com/style/spelling
[4] https://stackoverflow.com/questions/157807/gb-english-or-us-...
That's a good perspective to be reminded of.
On another note, I think it's an interesting choice of words that you wrote "created."
Languages and spellings weren't created at some point in the past. They evolved gradually and are still evolving. There's no principle stating that American and British spellings are forbidden to converge in the future.
My girlfriend, who is from Britain, also tend to go on about how "british english" is the only correct english because "we invented the language". Not 100% serious of course, but subconsciously I think she believes it. She also dislikes it when swedish (us being in Sweden) borrows english words and changes the spelling or meaning. I think this attitude is a bit lazy or ignorant - people don't think about what a language is or how languages develop when they say something like this. All languages are thieving slaves of fashion that cut, copy and paste with abandon, continuously.
Time to whip out:
"The problem with defending the purity of the English language is that English is about as pure as a cribhouse whore. We don’t just borrow words; on occasion, English has pursued other languages down alleyways to beat them unconscious and rifle their pockets for new vocabulary." --James D. Nicoll
Ah, but which English? I rather suspect it was the American variety that did the most of that. Because, you know, American tradition of rendering unconscious and emptying pockets, and all. It's a thing, here.
On the topic of "words" "found in" pockets, they didn't harvest every single password I'd created for a handful of years because they didn't care about the USB drive-- just the bit of cash. I also had someone's CC# on a sticky note in my wallet, and they left it all on the ground. Amateurs.
Very true that languages evolve and you're right, "created" was poor choice on my part. In the case of the US however, even they spoke British English at one time, and then some guy called Webster decided to write yet another English dictionary, one with significant differences, in an attempt to standardise the language. This xkcd comes to mind:
https://xkcd.com/927/
Canadian English is a funny case here — it adheres to British (Zed) and American (tire with an i) customs by equal measure, but by and large Canadians sound closer to ‘mainstream’ Americans than they do to Brits. This is of course ignoring Quebec...
Probably because many of them were former English colonies.
The US was also a set of former English (well, British, most recently) colonies.
Right, and it gained independence hundreds of years before any of the others. It's had a lot of time to develop its own dialect.
Let's get this straight. There's "American English" used in the US and Canada. And then there English, where "colour" is spelled with a "U", and that's used in lot more countries, and natively spoken by more people than American English.
Really? Are you talking about India? If so, I'm not sure what percentage of people have english as their mother tongue - I think it would be quite small. Also, I think indian english is about as dissimilar to british english as american english is.
Actually Canadian english somewhat of a blend between American and British.
'Colour' and "Cheque' are spellings that are common in Canada.
wxWidgets as well: https://docs.wxwidgets.org/3.0/classwx_colour.html
wxWidgets provides "wxColor" typedef too however and many functions exist in both "colour" and "color" versions. There would be just too many bug reports about misspellings in the API otherwise.
What’s fun is the odd projekt where they’re miksed. Unity has MonoBehaviour, but mostli uses US spellings otherwize.