中文编程不过是另一种编程语言文学化。

首先,中文编程强调用中文是为了解决代码的可读性问题,这与编程语言文学化的思路不谋而合。

英语母语者在用英语编程时,可能并不像某些中文编程爱好者所想的那么容易。首先,所谓的英文编程,也不过是拿英文单词,按工程目的进行再造的类英语语言。比如说,isBook 可以用来表示是否是书本,但 “is book” 其实并不符合英语语法,应该是 “is a book” ;又比如说, isBooks 用来表示是否是书本列表,但 “is books” 连复数都不注意。英语母语者能读懂这些,但认真去思考的话,肯定是十分便扭的。但是,他们为什么仍然要用这样一套命名法呢?因为这样命名比较规整,而且,抛弃一部分语法的完整性,能让短命名能够成立,从而大大降低编码的输出。虽然有自动补全等工具,但不用补全,全看心流其实速度更快。而且,不完整的英语语法其实降低了对英语学习的要求,对于他们而言,也没有什么母语障碍,这方面其实是一碗水端平的。

但现阶段的中文编程爱好者实际上还是在走编程语言文学化的老路。纯中文编程不仅意味着要用中文写,也意味着非要用符合中文语法的方式进行命名。工程上的可读性又不是文学性,在中文被搅碎之后,你会发现中文和英文没有多少区别,甚至有些膈应。有些人还没有达到工程化中文编程的地步,看着中文编程百般亲爱,一旦落在工程上,必然会面临非规范命名的问题,名称过长的问题,英语母语者的老路又得走一遍,说实话,优势并不明显。

会有人说,中文命名更好懂,我已经在上面斥责过一些了,我再补充一些。我们能够读懂进程之类的名词,是因为我们学习过,从来没有未经学习却能懂得计算机术语的,这一点中外平等。即使中文用作关键字,那么可以通用的文字少之又少,剩下的基本上都是业务术语,你不学习根本不行。所谓英文不懂,倒不如说是业务不懂,去多学习业务,就行了,一个符号而已,差异其实不大,只是你自己抗拒用英文接受业务罢了。那跨境工作者怎么办呢?

英语国家在计算机方面的优势,是能够很方便的学习最先进的计算机知识,但国内则不然。不弥补差距,我不信闭门造车就能瞬间赶超。若真希望国内计算机水平能越来越好,就把更多先进的计算机知识翻译给国内吧!这是才是正道。没有质变,只有量变,无法改变质的差距。


编程语言本质上是形式语言,而现如今所谓的母语编程,都会陷入到自然语言的陷阱里去。编程语言无法成为自然语言,也不应该成为自然语言,而对于符号的偏执,而完全忽视了由符号改变而引起的编程实践的变化,而这种变化,实质上是另一条路,比起已经成熟的英文编程,中文编程又如何追赶呢?其他母语者也给出了回答,跟数学一样,当符号来看待,用就是了。