重剑无锋 2018-06-21
首先大概的看一下中文编码:
你以为会写中文就会编程吗?这就像你以为会写汉字就会写出好文章一样。编程是和机器沟通,因此要用机器的语言而不是人类的语言。最早的程序就是0和1的数字,不是中文也不是英文。以前的程序员,每天写程序就是在一条长长的纸带上打孔表示0和1。后来发现0和1的二进制太麻烦了,就把0和1压缩一下,用16进制表示,比如数字10,用二进制表示是1010,用16进制表示就是0A,这样表达起来就更简洁,但是输入电脑后,仍然要转换为二进制电脑才能明白。
后来,科学家们用简单的英文单词表示某些功能,比如加法,就用add表示,减法就用dec表示。程序员输入add或dec后,系统会转换为对应的算法。就这样不断的给不同的代码段起名字。编程语言就是从数字编码不断压缩提高层次,最后形成了当今的各种风格的编程语言。为什么码农会讨厌中文编程?我用最流行的易语言说明。
所谓全中文的易语言,其实就是把Visual Basic语言中每个英文单词换成了对应的中文词,其他都不变。比如Visual Basic的代码是这样:
if True thenPrint "OK" endif
换成了易语言,就是这样了:
如果 真 那么打印 "OK" 结束如果
任何人都能看出来,英文写的程序更简单清晰。
其实从语言学的角度来说,英文是线性的一维语言,而中文是平面的二维语言。而程序恰恰是线性的一维的。也就是说,线性的英文正好能契合线性的程序。所以,中文并不适合现有的编程方式。
然而,未来的发展可能超出你的想象。未来可能会有多维度的量子计算,也许二维的中文反而会比一维的英文更适合。
程序员对比过中文编程和英文编程就会明白,中文编程反而会提高门槛。因为编程的核心根本就不是什么语言,而是程序化思维方式。最简单的并不是英文编程,而是数学符号编程,极度抽象,普通人很难理解,但代码量特别少。