The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
The language knife cuts both ways. As a native English speaking, I have not experienced problems with coding due to language, however, when reviewing a vendor supplied database schema or data tree, the entities may be in a foreign language.
For example, we were tasked with getting data from a vendor supplied database. The tables and columns were all in French, but the words largely had vowels removed - a method I've seen English speaking analysts use as well.
Or, getting data from a DCS written by a Spanish firm; all of the items in the data tree are in shortened Spanish and no translation table was provided with both Spanish and English descriptions.
One of the great things about C is that it uses symbols more than words.
(If you can trust Bing translate...)
/* German C dialect */
# define wenn if
# define während while
# define fort do
# define anderes else
# define brechen break
# define weiterhin continue
# define schalter switch
# define fall case/* etc. */
I'm bilingual, but my first / home language is Afrikaans (close to Dutch). All my IT study material was in English, so when I work I think in English and it's probably the same for a lot of IT professionals.
The computer terms in Afrikaans are quite funny.
I live in Germany and am born in Russia, nowhere near English, but after a while, it becomes second nature (or third, in my case). The internet is English, the scientific and engineering communities use it and most video games are better in English that in German. After a couple years, English became so natural to me, that I even mix up German and English in my own code because I process both languages at the same level.
They mix too well. I often stumble upon bullshit bingo winning entries that are basically "Let's take an English word that means vaguely what I want to say so I sound modern and management'y". Mostly from management, OFC. As someone who actually understands real English, that's rather cringeworthy.
In one project I worked on, we evaluated one open source library which had received quite favorable reviews: We would have to extend it, and all the comments and variable/function names were in French. None of the project members mastered French, so it was completely impossible to understand what the code was intended to accomplish. We had to reject it for another alternative that turned out to be not very well suited for our use.
Even if you understand the "other" language: Switching your mind back and forth between two languages, English for the reserved/predefined words and another language for names and labels, strongly affects your speed of comprehension, in a very negative way. So I always insist on one single language: If keywords are in English, so are all names, labels etc. - and also: All comments, source file names etc.
Furthermore: There should be no non-English string literals. Or phrased somewhat differently: Since the UI should be in the language of the end user, there should be no language dependent literals in the code at all! Not even English ones. Keep all strings out of the code, use string references so that the French strings can be replaced by German strings, Swedish strings, Latin strings etc. without affecting the code. (Actually, as early as in 1983 when I was working on an office automation system that strictly followed this rule, a university professor offered to translate all the UI strings to Latin. We never offered the Latin text files to the market though - we didn't have any sales office in the Vatican...) Any code module should be 100% language-agnostic, with respect to UI. Not to forget: "UI" is more than "text on the screen", it also includes e.g. database column names, which may be visible to the user through other tools.
«... thank the gods that they have made you superior to those events which they have not placed within your own control, rendered you accountable for that only which is within you own control For what, then, have they made you responsible? For that which is alone in your own power—a right use of things as they appear.» Discourses of Epictetus Book I:12
I rarely 5 a lounge post. This is one of those that deserve it. Interesting article.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
I agree, that was a very interesting perspective. That said, as someone who is bilingual (English and Malayalam) and who can understand 2 other languages (50% fluency), I am surprised that people find English to be hard. To me, it seems to be one of the simplest languages in the world.
In 20th Century Britain we had a cunning policy of beating and ostracising children who insisted on using the Devil's tongue (Welsh). This was fairly successful in forcing many people to use God's Own Language (English).
Sadly, over the years (Political Correctness and all that) this entirely reasonable practice was abandoned because it was somehow deemed to be a form of child cruelty.
Let's face it, pretty well everybody in the galaxy and beyond speaks English (we know this from Star Trek and other sources) apart from a few billion Earthlings who insist on babbling away in some form of regional gibberish just to annoy the rest of us.
It's high time, to my mind, that we not only revive our old policy but broaden, clarify and expand it to a more generalised global concept of "Speak English or Die." Not only would we be sparing Johnny Foreigner endless confusion when programming, we'd also save ourselves countless hours on localisation projects that only exist to cater for those who cannot be bothered to comply with a simple request to learn to speak properly.
Sometimes you have to be a little cruel to be kind!