中⽂编程:从东北话到文言文

作者: ⼀座头鲸

来源: 果壳

发布日期: 2023-02-09 16:00:01

本文探讨了中⽂编程的可能性,从东北话编程到文言文编程,介绍了各种中⽂编程的实践和项目,并分析了中⽂编程的现状和未来发展。

“会Python的⼈,⼯作都不会太差”。同事都在学编程,⽽我依旧卡在了英语这⼀关……⾯对满屏连不成句⼦的英⽂字,我就想问⼀问发明编程的⼈:fine,thank you,and you? “好优美的中国话”在编程界可以拥有姓名吗?满屏英⽂⼁《Linux内核代码情景分析》说真的,“从⼊⻔到放弃”的队伍⾥应该有不少⼈是被这密密麻麻的字⺟劝退的。

想⽐数的⼤⼩,都得写好⼏⾏代码,直接输⼊“a和b谁更⼤”不好吗?等等……中⽂编程还真⾏,更贴⼼的东北话、上海话甚⾄是⽂⾔⽂编程都有了,那接下来是⼊⻔还是放弃,就得看你⾃⼰了!

东北话编程:我先来整⼀个GitHub上有⼀个名为“dongbei”的项⽬,由⽤户zhanyong-wang开发。

东北话编程教程⼁zhanyong-wan/dongbei/GitHub东北话编程把编程⾥的英⽂全部替换成了东北话,唠唠=print,没⽑病=true,整完了=end……举个例⼦,如果你想⽤常规的编程语⾔在屏幕上输出⼀句话,以前得在编程软件⾥写成 print(“编程可真难!”),这要是换成东北话编程,直接写成唠唠:“编程可真难!”。再举个例⼦。

如果想设置⼀个x,你在东北话编程⾥可以把x叫成⽼王,“⽼王⾛四步”就表示x+4,“⽼王稍五步”则表示x-5。再⽐如想⽐两个数的⼤⼩,x叫⽼王,y叫⽼张。谁更⼤就输出“某某⽐较厉害”,相等就输出“⼀样厉害”。写成程序就是表格的左边:看,我⽤上毕⽣所学的东北话知识,总算是学废了⼀点dongbei。

既然是东北话编程,那不得整个东北特⾊⼩程序?

想来想去我整了个计算猪⾁炖粉条所需⻝材数⽬的⼩程序:假设有⼀家菜单⾥只有猪⾁炖粉条的饭店,店主需要根据顾客⼈数和⻝量准备⻝材。让我们来品味⼀下这种沙雕(亲切)的程序。

整点猪⼜炖粉条⼁作者供图程序的代码也是真·东北话代码⼁作者供图1. “装”表示把后⾯的内容赋值给前⾯,相当于“=”;2. “整”则代表运⾏,⽐如“咋整”下⾯就定义了“吃多少”这个部分是如何运⾏的,“整完了”就代表运⾏完了;3. 判断两者是否相等变成了“寻思 xxx跟xxx⼀样⼀样的?

”;4. ⽤“要⾏嘞就/要不⾏嘞就……”来判断不同的条件;如果你会⼀点编程,看到这似曾相识的格式,是不是想拍案⽽起——这不就是Python嘛!没错,dongbei正是基于Python3开发的,你甚⾄可以尝试把它反推成英⽂。

基于这个思路,各地的⽅⾔都有机会加⼊“中⽂编程”的版图中来。这不,紧接着还有⼈开发了基于上海⽅⾔词汇的编程语⾔。侬上海⾔话讲得来伐?

⼁cabuliwallah/shanghai-from-dongbei/GitHub上⾯的编程⽅式虽然⽤的是中⽂,但整个语法基于英⽂编程,看起来还是令⼈费解。19年发布的⽂⾔⽂编程项⽬“⽂⾔/wenyan?lang”更进⼀步,让编程看起来真的像古⽂了。

⽂⾔⽂编程:吾有⼀术左边⽤⽂⾔⽂编程表述5+3=8,右边是输出斐波那契数列的示例(←向左滑动)⼁wenyan-lang/wenyan/GitHub相⽐直接的关键词替换,⽂⾔⽂编程的书写更接近⾃然语⾔。同样的1+2,既可以写“加⼆於⼀”,也可以写“加⼀以⼆”,这两种写法都会被识别,并通过通过NLP(⾃然语⾔处理)的算法,翻译成JavaScript和Python。⽂⾔语⾔编程⼊⻔教程。

这还得考⽂⾔⽂能⼒⼁wy-lang⽬前,该项⽬在GitHub上获得17k星星——要知道在4亿个仓库⾥只有不到800个有此殊荣。⽂⾔⽂编程项⽬不仅有了更全⾯的配套⼯具(被命名为“⽂渊阁”开发环境和包管理器),还有了详细的官⽅教程——当然也是⽂⾔⽂版的。可以说这个⽂⾔⽂编程项⽬已经⾮常完善了。

如此看来,中⽂编程⼤有前途?

中⽂编程:请叫我古董早期国内的英⽂教育并不是特别普及,⽽学习编程的过程涉及到很多资料与技术⽂档——这些⼤多都是英⽂的,有些⼈就想着:不如把整个编程都给汉化,这样学起来、⽤起来,都更⽅便。后来出现了以“易语⾔”为代表的中⽂编程⼯具。00年前的中⽂编程⼁中国知⽹截图中⽂编程甚⾄有过专⻔的图书教程⼁《中⽂编程从⼊⻔到精通》其实,“本⼟化编程语⾔”不⽌在中国被提出了。

通过关键词替换等⽅法,⼈们可以将编程⾥的⽂字替换成中⽂、俄⽂甚⾄是Emoji。Emoji编程⼁EmojiCode.org既然群众呼声这么⾼、实践这么早,为什么本⼟化的编程语⾔仍然不是主流呢?程序语⾔的本质不是任何⾃然语⾔:不是中⽂也不是英语。它是根据特定语法规则拼起来⼀堆符号,更像⼈造的语⾔。

编程⽤的是Java、C语⾔或者Python,都是这种“⼈造语⾔”,只不过它们所使⽤的“符号”恰好是英⽂单词。但机器也没法直接看懂这些这些“⼈造语⾔”,这时就需要编译器了。它会像翻译员⼀样,将⼈类所写的最接近⾃然语⾔的⾼级编程语⾔,⼀层层“翻译”到低级的机器语⾔,直到⼆进制编码——0和1。

左边是我们写的代码,经过⼀步步“翻译”最终成右边机器可以识别的⼆进制码⼁codeforwin现在通⽤的编程语⾔,只是恰好⽤英语单词作为符号。那⽤汉字来表示这些符号,也就是⽤中⽂编程,不是也挺好吗?的确可以,但或许没有必要。⾮英语编程的壁垒之⼀在于,底层的语⾔被英语世界占领——接近硬件层⾯的语⾔,⽤的符号还是英语单词。

这就意味着,如果将中⽂作为接⼝搭载在主流编程语⾔上,会多⼀次“将汉字翻译成英⽂字”的过程,增加了机器处理的时间,牺牲了效率。同时,如果直接使⽤中⽂作为编程符号,会降低世界范围内的通⽤性。毕竟,编程语⾔不只是关键字,更包括第三⽅库、学习材料等技术⽣态。如果你⽤中⽂版我⽤英⽂版,交流起来恐怕是鸡同鸭讲。

总⽽⾔之,虽然以英⽂字为基础的编程语⾔学起来要花时间,但综合权衡效率和难易度,程序员还是更倾向于使⽤主流语⾔。这么说来,中⽂编程只能⽤来娱乐?倒也不是。中⽂编程可以让想了解编程的⼈了解基础的编程思路,还可以⽤于培养编程思维。针对孩⼦的编程语⾔scratch,甚⾄没有⼀个单词。

Scratch图形化编程,只需要拖拽各个模块就可以让右边的猫猫做出特定的动作,这种编程更像是学习流程图⼁Wikimedia Commons如果把“实⽤”换成“有趣”来看这个问题的话,中⽂编程确实给⼤家提供了⼀些新鲜的⻆度,或许也吸引了⼀批⼈加⼊了编程的⾏列啊!

UUID: cfe0d501-e2d3-4c89-92b7-5a43312a023a

原始文件名: /home/andie/dev/tudou/annot/AI语料库-20240917-V2/AI语料库/果壳公众号-pdf2txt/2023/果壳_2023-02-09_还能用中文写代码?东北话:我先来整一个.txt

是否为广告: 否

处理费用: 0.0085 元