Rustom Mody wrote: > On Saturday, April 2, 2016 at 10:42:27 PM UTC+5:30, Thomas 'PointedEars' > Lahn wrote: >> Marko Rauhamaa wrote: >> > Steven D'Aprano : >> >> So you're saying that learning to be a fluent speaker of English is a >> >> pre-requisite of being a programmer? >> > >> > No more than learning Latin is a prerequisite of being a doctor. >> >> Full ACK. Probably starting with the Industrial Revolution enabled by >> the improvements of the steam machine in England, English has become the >> /lingua franca/ of technology (even though the French often still >> disagree, preferring words like « ordinateur » and « octet » over >> “computer” and >> “byte”, respectively¹). (With the Internet at the latest, then, it has >> also become the /lingua franca/ of science, although Latin terms are >> common in medicine.) > > IMHO the cavalier usage of random alphabet-soup for identifiers
Straw man. Nobody has suggested that. Suggested were words in natural languages other than English as (parts of) names in Python programs. The suggestion was rejected by some (including me) on the grounds that source code is not written only for the person writing it, but also for other developers to read, and that English is the /lingua franca/ of software development at least. So it is reasonable to expect a software developer to understand English, and more software developers are going to understand the source code if it is written in English. Another argument that was made in favor of English-language names (albeit on the grounds of “nausea” instead of the logical reason of practicality) is that the (Python) programming language’s keywords (e.g., False, None, True, and, as, assert [1]) and built-in identifiers (e.g., NotImplemented, Ellipsis, abs, all, int, float, complex, iterator [2]) are (abbreviations or concatenations of) *English* words; therefore, mixing keywords with names in a natural language other than English causes source code to be more difficult to read than an all-English source code (string values notwithstanding). This is particularly true with Python because a lot of (well-written) Python code can easily be read as if it were pseudocode. (I would not be surprised at all to learn that this was Guido van Rossum’s intention.) As for the “Chinese” argument, I did some research recently, indicating that it is a statistical fallacy: <http://yaleglobal.yale.edu/content/english-craze-hits-chinese-language-standards> <http://yaleglobal.yale.edu/content/asians-offer-region-lesson-%E2%80%93-english> From personal experience, I can say that I had no great difficulty communicating in English with my Chinese flatmates and classmates at a German technical university when all of us were studying computer science there 16 years ago. It was natural. At least the boys even preferred self- chosen English first names for themselves (e.g., in instant messaging) since, as they explained to me, their original names were difficult to pronounce correctly for Europeans (or Europeans might mistakenly call them by their family name since it would come first), and to type on European keyboards (although I observed them to be proficient in using IMEs when chatting with their folks back home). ____________ [1] <https://docs.python.org/3/reference/lexical_analysis.html#identifiers> [2] <https://docs.python.org/3/library/> > can lead to worse than just aesthetic unpleasantness: > https://en.wikipedia.org/wiki/IDN_homograph_attack Relevance? > When python went to full unicode identifers it should have also added > pragmas for which blocks the programmer intended to use -- something like > a charset declaration of html. > > This way if the programmer says "I want latin and greek" > and then A and Α get mixed up well he asked for it. > If he didn't ask then springing it on him seems unnecessary and uncalled > for Nonsense. -- PointedEars Twitter: @PointedEars2 Please do not cc me. / Bitte keine Kopien per E-Mail. -- https://mail.python.org/mailman/listinfo/python-list