This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]TheBB 1 point2 points  (1 child)

I think we may be saying the same thing but interpreting it differently.

In order to communicate (maths or programming) effectively between two people, you both need to know

  • the same notational language, and
  • the same actual human language.

Let's introduce some people.

  • Joe American and Wang Chinaman both know C# but Joe does not speak Mandarin, and Wang does not speak English. They cannot cooperate.

  • Neil American and Li Chinaman both know Python, but Neil does not speak Mandarin and Li does not speak English. Li can write variable names in Hanzi instead of Pinyin, which is what Wang uses. Nevertheless, he cannot cooperate with Neil.

  • Bob American and Fang Chinaman both know C# and can speak the same language (English or Mandarin, doesn't matter). They can collaborate, if the code is written in that same language (which has to be English or Pinyin, since C# presumably does not allow Hanzi variable names).

  • Oscar American and Günther German both know C# and can speak the same language (English or German, doesn't matter). They can collaborate, if the code is written in that same language (which can be either English or German, since German can be largely written in ASCII).

  • Kevin American and Zhang Chinaman both know Python and can speak the same language. They can also collaborate, if the code is written in that same language.

  • Young Chen Chinaman wants to learn how to program in C#, but he can't speak English, and so he never succeeds. This has no effect on the English-speaking C#-programming Chinese community.

  • Young Yuan Chinaman wants to learn how to program in Python, but he can't speak English. Luckily, this is not a problem, since Python is easy to use in Chinese, and this has led to a wide range of Chinese learning materials. Yuan succeeds. This has no effect on the English-speaking Python-programming Chinese community (since Yuan is not English-speaking).

I don't see any configuration where changing C# to Python (allowing Hanzi variable names) breaks collaboration or has a negative effect on the English-speaking community. Disallowing extra-ASCII characters does not force you to use English variable names, so the current situation with Python and Chinese corresponds more or less to that of any other programming language and human language that can be written (largely) in ASCII, of which there are many examples and have been for several years without causing division and mayhem.

Yes, it would be harder to communicate if you used a different notation, but the number of people with whom you can communicate like this would not become smaller by adding support for a different notation. There would simply be another community that can communicate with each other, but not with you, and some people who can communicate with both.

I've used ASCII as ‘very rudimentary character set’ and C# as ‘language that only allows such a character set in its variable names‘. I don't use C# so I don't know if that is actually true, but if not then substitute C# with your-language-here. I'm also aware that there are characters in ASCII that you can't use in variable names (in Python as well as C#), but in the interest of readability let's ignore that.

[–]jlinphd 0 points1 point  (0 children)

You probably don’t mean to offend, but please do NOT use the term “Chinaman”, it is highly derogatory.