Ask Slashdot: Do Most Programmers Understand the English Language?
Shadoefax writes "I have been developing Firefox add-ons for several years and all so far submitted to AMO have been translated (localized) into several different languages. My latest add-on is geared more to the web developer as opposed to the average web browsing user. (It is a utility for examining JavaScript Objects and their methods and properties.) By my reckoning, I believe JavaScript, HTML, CSS and the DOM are all pretty much designed to be easily understood by English language readers. My question is this: Can I assume that most programmers understand the English language well enough that I may forego localizing the UI? While this will save time, effort and bloat, it may also restrict the usage of (what I hope) is a useful tool for developers."
Reader Cenan provides an interesting response from the perspective of a developer for whom English is not a first language:
"I am a developer, and happen to speak english as a second language. As much as I find it's helpful to my users to have the program's text information presented to the user in their native tongue, I really hate it if the tools I use speak to me in my native language.
Some vital parts of exceptions tend to get mangled when being translated, and you can't search for relevant information regarding whatever obscure failure you're experiencing unless you translate it back. And Google Translate doesn't do very well with technical terms.
It is especially unhelpful when the exception has been re-thrown from somewhere deep down, and is being presented with some parts translated, some parts not (I'm looking at YOU Microsoft; "Was this exception text helpful to you?" ( ) No ( ) No (x) Hell No!)"
Reader tlambert recommends such a tool only if it doesn't have end-user exposure:
Google translate will do the job well enough for non-English speakers, and almost every programmer is an English speaker in any case - or used to Google translations of CS technical papers, in any case.
If there's actually UI being exposed to an end user rather than a program, then of course there should be some way to localize the end user exposed content, although you should expect that most users won't end up using it, and will opt for English instead, unless it's for data input for text data for storage and retrieval.
For better or for worse, the primary language for IT is English. I generally think it's for the better, since there are concepts that the English language is better suited to representing, either natively, or with coined words/terms/phrases and/or "borrow words". For the last, French is probably the worst language, since they have "language police" whose sole reason for existing is to prevent "borrow words" entering the French language and "contaminating" it. The next most comparable language for "purity" is Japanese, which was represented by Matsumata Ohta when he attempted to prevent the C-J-K unification of the Unicode standard, and eventually got his way by pushing another Unicode code page so that you could, for example, grep -v the Chinese text out of a Chinese textbook on Japanese poetry. Double the storage size for a wchar_t, just so that they could keep the languages distinct in both encoding and rendering, rather than just in rendering.
Reader dejanc responds with an analogy:
"Being a programmer and not understanding English is like being a historian writing papers on the Roman Empire and not knowing Latin. There is a lot of programmers out there who don't understand English or are not comfortable with it, but as a rule, they are not that good.
You have to learn our profession somehow. Yeah, you can learn C or Java from a book written in your native language, but most APIs out there are documented only in English. If you don't speak English, then your resources are severely limited.
That being said, if you can do localization, do it. Localization is usually very easy and doesn't require much bloat. You can have volunteers do the actual translation, you just need to get the strings ready, so it shouldn't be more than a couple of hours of your time.
Some talented programmers are just not talented for learning languages, or prefer to have UI in their own language. They are the ones who Google Translate documentation online, so you'll be doing them a favor."
"I am a developer, and happen to speak english as a second language. As much as I find it's helpful to my users to have the program's text information presented to the user in their native tongue, I really hate it if the tools I use speak to me in my native language.
Some vital parts of exceptions tend to get mangled when being translated, and you can't search for relevant information regarding whatever obscure failure you're experiencing unless you translate it back. And Google Translate doesn't do very well with technical terms.
It is especially unhelpful when the exception has been re-thrown from somewhere deep down, and is being presented with some parts translated, some parts not (I'm looking at YOU Microsoft; "Was this exception text helpful to you?" ( ) No ( ) No (x) Hell No!)"
Reader tlambert recommends such a tool only if it doesn't have end-user exposure:
Google translate will do the job well enough for non-English speakers, and almost every programmer is an English speaker in any case - or used to Google translations of CS technical papers, in any case.
If there's actually UI being exposed to an end user rather than a program, then of course there should be some way to localize the end user exposed content, although you should expect that most users won't end up using it, and will opt for English instead, unless it's for data input for text data for storage and retrieval.
For better or for worse, the primary language for IT is English. I generally think it's for the better, since there are concepts that the English language is better suited to representing, either natively, or with coined words/terms/phrases and/or "borrow words". For the last, French is probably the worst language, since they have "language police" whose sole reason for existing is to prevent "borrow words" entering the French language and "contaminating" it. The next most comparable language for "purity" is Japanese, which was represented by Matsumata Ohta when he attempted to prevent the C-J-K unification of the Unicode standard, and eventually got his way by pushing another Unicode code page so that you could, for example, grep -v the Chinese text out of a Chinese textbook on Japanese poetry. Double the storage size for a wchar_t, just so that they could keep the languages distinct in both encoding and rendering, rather than just in rendering.
Reader dejanc responds with an analogy:
"Being a programmer and not understanding English is like being a historian writing papers on the Roman Empire and not knowing Latin. There is a lot of programmers out there who don't understand English or are not comfortable with it, but as a rule, they are not that good.
You have to learn our profession somehow. Yeah, you can learn C or Java from a book written in your native language, but most APIs out there are documented only in English. If you don't speak English, then your resources are severely limited.
That being said, if you can do localization, do it. Localization is usually very easy and doesn't require much bloat. You can have volunteers do the actual translation, you just need to get the strings ready, so it shouldn't be more than a couple of hours of your time.
Some talented programmers are just not talented for learning languages, or prefer to have UI in their own language. They are the ones who Google Translate documentation online, so you'll be doing them a favor."
All of the protocols that web programming depend upon are published in English. So presuming the ability to read written English is reasonable.
If you collaborating with non-native English speakers, although, you should be careful to not assume that the ability to read or even write English guarantees that they will be comfortable discussing ideas orally in English.
IMHO, after trying to manage a number of software projects in the 70's, 80's and 90's, no.
I speak very good English. I learned it from a man page.
Credits partly to John Cleese.
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
You should've made it a Slashdot poll for accurate results.
May Peace Prevail On Earth
All the ones who can answer your question do.
"National Security is the chief cause of national insecurity." - Celine's First Law
I am a developer, and happen to speak english as a second language. As much as I find it's helpful to my users to have the program's text information presented to the user in their native tongue, I really hate it if the tools I use speak to me in my native language.
Some vital parts of exceptions tend to get mangled when being translated, and you can't search for relevant information regarding whatever obscure failure you're experiencing unless you translate it back. And Google Translate doesn't do very well with technical terms.
It is especially unhelpful when the exception has been re-thrown from somewhere deep down, and is being presented with some parts translated, some parts not (I'm looking at YOU Microsoft; "Was this exception text helpful to you?" ( ) No ( ) No (x) Hell No!)
... whatever
As a native German speaker, let me share a universal UI idea with you, if you even see a remote chance of having your software internationalized: leave enough room on all your controls so that translated text fits nicely in it. A very simple example: English: "Cancel". German: "Abbrechen". Where "Cancel" fits nicely, "Abbrechen" will be cut off, forcefully word-wrapped or whatever.
That said and to answer the OP's question: I'd assume enough knowledge of the English language from programmers. If you try to label your add-on with not too sophisticated English, it should be accessable enough for the vast majority of programmers.
But I can't figure out what the translator has used to name it in my native language.
So from one perspective - not using English in the tool you use may cause more confusion than help. Especially for programmers.
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
"Zero one zero zero one zero zero zero, zero one zero zero zero one zero one, zero one zero zero one one zero zero, zero one zero zero one one zero zero, zero one zero zero one one one one, zero zero one zero zero zero zero zero, zero one zero one zero one one one , zero one zero zero one one one one, zero one zero one zero zero one zero, zero one zero zero one one zero zero, zero one zero zero zero one zero zero.", duh.
Worst hello world evaaaar.
LegendMUD
Basically, if you want to get anything done, you do it in English.
Some day another language may replace English as the lingua franca like French replaced German and Latin. When you have multiple cultures trying to do things, you need to have a common language to do it in.
None of this should surprise anyone.
--
BMO
I always tell people that it doesn't make sense to write papers (or software) in polish language because only a minuscule part of world population uses it.
Obviously things should be written in Reverse Polish
When our name is on the back of your car, we're behind you all the way!
As a French speaker, I can guarantee that most programmers here understand little more than the basic programming terms. Most of the specs have been translated into French, so that's not a problem.
Vincent: And you know what they call a ClassCastException in France?
Jules: They don't call it a ClassCastException?
Vincent: No man, they got the socialist system. They wouldn't know what the f*** a "class" is.
Jules: Then what do they call it?
Vincent: They call it a RoyaleWithCheeseException.
Jules: A RoyaleWithCheeseException. What do they call a NullPointerException?
Vincent: Well, a NullPointerException's a NullPointerException, but they call it un NullPointerException.
Jules: Un NullPointerException. Ha ha ha ha. What do they call the spaceship operator?
Vincent: I dunno, I didn't do any Perl programming over there.
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
Every German speaker who studies IT learns enough English to read technical stuff. Many - maybe even most - prefer to use English documentation and tools.
I will go out on a limb and say that this is probably true for every Western European country except France.
The French make a real effort to prevent their language from becoming "contaminated" with foreign terms. Where every other language has just adopted computer terms as they were invented, the French have specifically gone to the trouble of inventing different words that sound more French. To take just one example: consider the word "byte". The Spanish say "byte", the Germans say "byte", the Italians say "byte", the Dutch say "byte", but the French say "octet". This is annoying, but really, it's their problem, they've done it to themselves.
Enjoy life! This is not a dress rehearsal.