如果编程替换成中文就会怎样? 程序员看了表示头疼

简介:

首先大概的看一下中文编码:

image

你以为会写中文就会编程吗?这就像你以为会写汉字就会写出好文章一样。编程是和机器沟通,因此要用机器的语言而不是人类的语言。最早的程序就是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"
结束如果

任何人都能看出来,英文写的程序更简单清晰。

image

其实从语言学的角度来说,英文是线性的一维语言,而中文是平面的二维语言。而程序恰恰是线性的一维的。也就是说,线性的英文正好能契合线性的程序。所以,中文并不适合现有的编程方式。

然而,未来的发展可能超出你的想象。未来可能会有多维度的量子计算,也许二维的中文反而会比一维的英文更适合。

程序员对比过中文编程和英文编程就会明白,中文编程反而会提高门槛。因为编程的核心根本就不是什么语言,而是程序化思维方式。最简单的并不是英文编程,而是数学符号编程,极度抽象,普通人很难理解,但代码量特别少。

补充一句,其实现代的语言比如Java,都支持Unicode,也就是说可以用中文甚至世界其他语言做变量名和函数名,你可以试试看,这样看起来就基本上就相当于是中文编程了,对比一下英文编程,你就会知道哪个更好了。

image

电脑能识别的只是0和1的二进制而已,那么,如果按中文的角度来考虑,那么应该从核心开始就把二进制转换为8进制,然后用八卦来表示,这样从底层构造纯中文的计算机。八卦两两组合,演化为64卦,就能表达宇宙万物。这比老外的英文编程语言不知道高级多少倍。而且,满眼全是中文,老外就算认识中文字也看不懂意思,呵呵。

原文发布时间为:2018-06-28
本文作者:代码湾
本文来自云栖社区合作伙伴“数据与算法之美”,了解相关信息可以关注“数据与算法之美”。

相关文章
|
程序员
程序员变量命名神器——CodeLf
作为程序猿,最头疼的是不是觉得变量名、方法名不会取名字,现在推荐款神器 -- CodeLf 。有了这个,以后代码的变量名就是 so easy 了,下面给大家讲解一下如何使用。
1942 0
程序员变量命名神器——CodeLf
|
人工智能 算法 架构师
ChatGPT无法替换最初级的程序员
ChatGPT无法替换最初级的程序员
|
前端开发 程序员 PHP
程序员还在为变量取名苦恼,那是因为你不知道,这个变量命名神器
程序员还在为变量取名苦恼,那是因为你不知道,这个变量命名神器
197 0
|
搜索推荐 Linux C++
推荐一款utools中免费的中文转英文代码变量的编程效率工具
一款utools软件内使用的免费中文转英文代码变量命名工具,能够在日常编程办公中,助力你的编程效率,让你摆脱想英文变量名的烦恼!
133 0
|
前端开发 JavaScript 程序员
前端中那些让你头疼的英文单词
前端中那些让你头疼的英文单词
|
Java 程序员 索引
我终于把Python中下划线的含义弄清楚了(憋了很久了)
我终于把Python中下划线的含义弄清楚了(憋了很久了)
|
XML 缓存 Dubbo
令人头疼的代码命名规范……
令人头疼的代码命名规范……
626 0
令人头疼的代码命名规范……
|
自然语言处理 Ubuntu 程序员
程序员最头疼的事:命名
许多程序员认为编程时,如何命名不仅是他们面临的老大难问题,也是最重要的事情之一。
371 0
程序员最头疼的事:命名
|
定位技术
记录平时编程或者阅读英文文档的时候不认识的英文单词
记录平时编程或者阅读英文文档的时候不认识的英文单词
166 0