老陈的大作
 首页 全部 编程 电子 软件 设计 DIY 科普 都市农夫 胡说八道 音乐 杂文
中国人为什么就不能用中文编程?
中国人为什么就不能用中文编程?至少像我这样对中文的熟悉程度远高于英文,又不用与外国人合作编程的人来说,就该在编程中大量使用中文。

对于中国人来说,即使学过英语,甚至“学得不错”,但到了真正要运用英语时,还得花很多心力去考虑怎样用英语表达意思。如果遇上了跨专业的术语,更是让人不知所措。这种翻译都把心力耗光了,还能好好地去编程吗?

比如我曾经编过一个从网上采集上市公司财务报表数据的程序,其中有太多的专业词汇,例如“归属于母公司股东权益总计”、“卖出回购金融资产款”、“扣除非经常性损益后的净利润”。这些如果非要用英语来表述,那么查它们的英语词汇一定能让你忙得死去活来,最后只得到了一长串英语单词,并且非常难记。过一段时间之后,如果要修改程序,你会发现已经忘记了这些单词,又得花很多时间去查。查英语都查死人了,还能有心思去编好程序吗?

也有人觉得可以用汉语拼音来表示啊。但过一段时间后,那些拼音的意思还能记得住吗?

为防忘记,有些人会想到,可以用中文注释的方法来解决。但如果程序里本来就用中文来表达这些内容,那还需要花时间去特别注释吗?还需要花心思去回忆那些变量名代表什么吗?

又比如在一个围棋AI程序中,我用到了“寻找并提掉对方死棋”这样的函数名。采用这样意义明确的函数名,不比绞尽脑汁想出个词不达意的英文名更好吗?而且连注释都可以省很多。当然开发效率也高很多!

基于这些原因,只要编程工具许可,我都尽可能地用中文来做标识符——例如变量名、函数名、C++的类名,等等。将来我还会写更多文章来讲述在各种编程工具和编程语言中使用中文的那些事。

不过,我推崇用中文编程,并不意味着整个程序都必须全是中文。那些“if”、“return”之类的保留字,在编程中会反复用到,习惯了之后,不用花心思去想,自然而然就输入了。所以我觉得并没必要对这些也进行中文化。

还有在特殊领域中,可用很简短的英文代表的内容,也不必用中文去表述。例如游戏编程中,生命值、魔法值等就用HP、MP来表示即可。
大作类别:编程
老陈玩科技的口号:踩科技的坑,让众人围观!