What does it feel like to be a non-native English programmer?

Just imagine if you are asked to code in Chinese.

The very first trouble is the vocabulary. Although many programing languages mainly consist of simple words such as if, else, and for, the languages that are used to make webpages are often more complicated to read.

This is part of the homepage of Lindt, just an example.

Suppose I have a certain standard of knowledge of English, then the majority of the code is accessible to me. However, the real problem lies in those purple pieces. What do div, ul, li mean? As for the native speaker, it is easy to make an educated guess, but for me, no way. It kills me to deal with these abbreviations which often occur in webpage editing languages. I need to look up to the related documentations to find out their meanings (whose link is located at the end of this article). And the obstacle becomes larger when it comes to writing the codes myself.

Apart from vocabulary, the logic in the programming languages counts even more. Chinese and English have little in common in their constructions of sentences. There is no grammatical tense or pluralize words in Chinese and Chinese tends to emphasize on the meaning of the sentence with little conscience on how the words are arranged. You can find some interesting writings regarding this topic at the end of this article.

Looking back at the html code above, it is possible for anyone, without any knowledge of programming, to recognize the first sentence <form name=”search_form” action=”search.php” method=”GET”> as “there is a form whose name is ‘search_form’, and is used for getting informations and might jump to the page ‘search.php’”.

Here is another example, a little piece of C code:

You may also notice that after executing the code, the variable sum would turn out to be equal to 1+…+10.

On the other hand, although not being popular, people are developing programming languages in Chinese. Here is an example:

However, this is mainly just a translation from the corresponding English code, i.e.

And the majority of the code does not make sense to ordinary Chinese reader.

In fact, all of the codes we have seen here is human-readable, and must be transformed into machine-readable codes before actually executed. And as the machine-readable code is in English, it would always be weird to present the human-readable ones in Chinese. Nevertheless people in China are still working on developing their own programming languages, and here comes one of them which is made of classical Chinese:

Wiki also has a document of Chinese programming languages, check if you are interested: http://en.wikipedia.org/wiki/List_of_Chinese_programming_languages

Below are some guides for one who is curious about “div”, “ul”, and “li”:

  • “div”: http://www.w3schools.com/tags/tag_div.asp
  • “ul”: http://www.w3schools.com/tags/tag_ul.asp
  • “li”: http://www.w3schools.com/tags/tag_li.asp

And here are some articles of the difference between English language and Chinese language you might find interesting:

  • http://esl.fis.edu/grammar/langdiff/chinese.htm
  • Wikipedia has an article regarding the mix and match of the two languages: http://en.wikipedia.org/wiki/Chinese-ordered_English, which has attracted many Chinese people’s attention for a while.

Leave a Reply

Your email address will not be published. Required fields are marked *