< titlesplit >“昔日仓颉写书,天下雨谷,夜哭鬼”,汉字的出现催生了一个世界上伟大的文明。编程语言的出现,带来了人与计算机的真正联系,推动了现代文明的发展。那么,古汉语与编程语言的结合会擦出什么样的火花呢?最近GitHub上出现了一个文言代码项目,几乎是世界上第一个文言编程语言(当然底层还是转成Python或者JavaScript运行)。如果中文是编程语言的主要使用语言,我们中国人学习编程会不会更容易?这是知乎上热议的话题。很多接触过编程的人都知道“EasyLanguage”,这是一种在编程语言中使用中文而不是英文的编程语言,也可以实现程序功能。近日,卡耐基梅隆大学(CMU)的一位大四学生开发了一种基于文言文的编程语言,而文言文这三个高中最怕的文言文,终于找到了程序员。项目地址:https://github.com/LingDong-/wenyan-lang本项目并不是简单地将程序中的英文字符替换成中文,而是利用一些NLP技术将文言文程序的语法转换成JavaScript或Python运行,有一定的技术难度。该项目上线几天就获得了2.2K的点赞,微博上也得到了很多人的转发。作为横跨媒体和AI的机器之心,这个项目也经过了考验。项目作者的脑洞、文采和创意,着实令人惊叹。如果读者想快速尝试一下,也可以使用在线IDE,它有很多预定义的功能。即使在手机上,我们也可以编辑运行“文言代码”。在线地址:http://wenyan-lang.lingdong.works/ide.html作者在项目的开头用了一段文言文来介绍建立这个项目的初衷。译文如下:尧舜时代,人们用打结数指来数数。那时候怎么能想到,计算机的巧思,是几百代之后的事情!电脑比鲁班的木鸢精巧,比诸葛亮的木牛马好。另外,《天官书》中记载的编程语言有多少,就有多少,比《山海经》中记载的飞禽走兽还要奇特。Go(鼠标)、Rust(螃蟹)、Ruby(钻)、Fishshell(鱼)以速度着称。Python(蛇)、Php(大象)、Perl(罗)、JavaScript(犀牛)各有千秋。才明白为什么鬼夜啼,为什么下谷雨。(注:据说仓颉造字后,鬼神哭泣,天降大雨)但是从来没有人用过文言文来编程。这可不是承文护文心的好办法,所以萌生了用文言文编程的想法。我还太小,没有读过万卷书。现在我在遥远的国家(美国),很久没有接触过中文了。但是我一直对文学很感兴趣,我写的程序有时候也会得到一些人的肯定。就像王希孟和庄子一样,他们不因年少或学识渊博而退缩,所以写下了这些话。(注:北宋画家王希孟18岁画出传世佳作)我既没有像李贺那样努力,也没有像李商隐那样吵架(形容为勤奋学习)。项目完成后,我将继续以能铸剑的精神激励自己,以越王精神继续前行。虽然很想模仿《算经十书》的文风,可惜没有唐宋八大家的笔法。正如于信在《哀江南赋》中所写:“陆机听后心甘情愿拍手;张衡见状必以为然”(意思是被人笑话也是理所当然的,我不会介意太多)。尽管这个项目只值瓮(一点点工作),但仍有改进的余地。我虽然没有吕不韦那样一个字的资本,但是我对交流的渴望是一样的。这也是开源的精神内核,让我们以此共勉。作者是谁?LingdongHuang目前是CMU计算机科学专业的大四学生,将于明年毕业。我们可以看到他曾在迪士尼研究实验室、纽约时报等大公司实习过。而且从他的个人网站可以看出,他从高中就开始做各种小项目,包括视觉和自然语言。会写代码,会看文言文,还有这么深厚的文化底蕴,现在的本科生已经这么好了。个人网站:https://lingdong.works什么是文言编程?文言编程是一种怎样的体验?既能学好文言文,又能搞定编程逻辑?介绍比演示更糟糕。让我们来看看编程世界中的第一段代码,大多数程序员学习的第一句话“HelloWord”是什么样的。如果读者对文言文比较熟练,或者懂一点程序思维,那么就可以理解下面这段文言代码是输出三遍“问天下好”,也就是文言文版本的“你好词”。我有几个。三说。名字是“A”。因为是“A”时代。我有话要说。曰:“问天地吉祥。”。预订吧。等等。具体来说,首先定义一个数字“3”,并将其命名为“A”。作者会把它翻译成相应的Javascript代码来帮助我们理解。varn=3;for(vari=0;i
