On 13 Mar 2018, at 02:49, Yifán Wáng via Unicode <[email protected]<mailto:[email protected]>> wrote:
Somewhat digressing from the topic, but I'd like to make some comment on this part as I smell a persistent myth among some, hopefully small number of, software engineers in Anglosphere. First, the fact that computer languages are written using English words doesn't mean that programmers are supposed to have proportional English knowledge. Take the word of Matz, the creator of Ruby language: "The English skill is a super-powerful rare card (in the career path of a Japanese engineer)!" He then continue that you should be in keeping with most up-to-date overseas info/trend in order to be a high-tier engineer and so on. It's far from "requirement". http://eikaiwa.dmm.com/blog/3826/ I've also read somewhere a memoir of a middle-aged programmer who was already into BASIC in childhood. One day he thought he'd written off a "great" program and printed it on paper, but to his surprise, an auntie who took a look at it immediately decoded the program and roughly understood what it was meant to do; she knew English, and he didn't. Programming as such, is just like a Chinese room replaced with English, where you sit inside a cramped room night after night, communicating with a computer by typing in English words the bulky reference guide teaches you. Most East Asian countries are blessed enough with a tremendous number of translated technical publications (e.g. O'Reilly) each year, not to mention firsthand writings in their own languages. So the documentation is easily available if you don't speak English the language. Second, that English is lingua franca doesn't necessarily mean the English spoken in the wild is. The aviation industry is another field which employs English as the common language, but they exert utmost effort to maintain the system working. Namely, they have a controlled word set with semantics as disambiguated as possible, called ASD-STE100, for technical documentation, such as maintenance manuals, to minimize errors caused by limited English knowledge. Unicode, on the other hand, is merely written in a free style used when English speakers who (almost) graduated from college write to English speakers who (almost) graduated from college. Having such level of proficiency being a non-native speaker isn't something trivial, unless someone is constantly in contact with English-speaking community. (And programming community isn't contained inside English-speaking community at all.) That said, I agree to almost everything Alastair said after. If I have to add one more thing, a monolingual writing is usually too tightly coupled with the language, more than engineers may believe, even if the writer carefully chose their words to be context-neutral. Thus it's hard job to say no more and no less than the original text in another language, especially when exactitude matters. It's one of the problems prevent from fully automated translation being a thing, I guess. Best regards, Yifan When it comes to program identifiers, languages such as Chinese has a huge advantage as it is a much more compact language than English. So, one can write meaningful identifier names with a small number of Chinese characters. In an all Chinese development team, producing software for the Chinese market, why not have the program identifiers written in Chinese? Or maybe this does happen? Over the years I have talked with many Chinese students about this, and usually they tell me something like: "Our lecturers in China tell us to always use English for program identifiers". I make use of several languages for my program identifiers ➜ jsfiddle.net/user/coas/fiddles<http://jsfiddle.net/user/coas/fiddles> My use of non English languages for program identifiers is somewhat random😀 André Schappo

