您现在的位置:

文言文不能编程乎?中国大四小哥哥曰:非也

发布时间:2019-12-19 06:34:03   作者:吉格斯

新智元原创

来源:GitHub

【新智元导读】程序员何苦为难程序员?有人开发了一种“文言文编程语言”,用文言文写的编程语言,密切遵循文言文语法和中国古典文学的基调,被评价过于硬核。戳右边链接上新智元小程序了解更多!

乍一看让人一头雾水:文言文和编程语言,好像两不搭嘎,却好像又隐约有点关系?

这就是最近被盛传的:文言文编程语言“wenyan-lang”。GitHub上线5天时间,已经突破了6000星。

文言文也能编程?

最早的汇编语言,在普通人类看起来就是毫无意义的一堆数字,只有少数神秘的高智商天才才能看得懂。

后来编程语言逐渐的进化,现代的编程语言已经越来越接近人类的自然语言了。甚至一个非计算机专业的文科生也能看懂简单的HTML、CSS、Python等。

但无论语言怎么进化,总是逃不开英语的范围。不论是机器学习宠儿Python、“世界最好的编程语言”PHP、业界通用语言Java等等,都是英文写的。但既然编程语言叫“语言”,凭什么非得用英文呢?

此前已经有中文的编程语言问世了。相信学计算机的同学对一个叫做“易语言”的编程语言并不陌生,算是非常老牌的现代汉语编程语言了。

那么既然现代汉语可以,文言文是不是也可以呢?而且你有没有觉得,其实编程语言的感觉,和文言文有点像呢?都是用非常简短的词语来表达非常丰富的含义。

有这种迷惑想法的人还真不少,在知乎上曾经也是非常火的话题。当然,很多人可能只停留在了提出想法的阶段,从理论上讨论了到底行不行;如果行,那么怎么做,鲜有付诸行动来验证效果。而一位在卡内基梅隆大学(CMU)的大四学生则用实际行动给出了答案:可以!

一名被编程耽误的古文高手

文言文编程语言的作者名叫Huang Lingdong,是CMU一名大四学生,高中毕业于上海世界外国语中学。就是下图这位可可爱爱的男生。

他不仅仅是一名计算机高材生,更是一名文艺高手,对中国历史非常着迷。他给自己这门语言写的介绍就能非常有意思:

在序中,他将Golang称为鼠、Rust称为蟹、Ruby为钻、fishshell称为鱼,这类语言以快制胜;而蛇(Python)、象(PHP)、骆(Perl)、犀(JavaScript,因为 O'Reilly出版的JS书封面是一只犀牛)也是各有各的优势。

编程语言现在已经和《天宫》书中记录的星宿数量差不多了,但文言文却一直没能进入编程语言的殿堂之中。现代人早已不在使用文言文,作者认为需要做一些事情来让文言文能够更好的继续传承,而用文言编程,是他为古文做出的一大贡献。

可以看出,图中所有亮色的文字,几乎都对应的是一本书。或是神话传说、或是圣贤经典,或是编程语言,足见作者涉猎广泛、博闻强识。

文言文与NLP、图灵完备

别看用的是文言文,但绝对与时俱进!wenyan-lang有如下特性:

NLP共享的古文语法

编译成JS或者Python

图灵完备

在线IDE

在线IDE长这样:

很多人可能会说:右边我看起来顶多算是线性代数,左边直接跳到离散数学了是怎么回事?

别急,作者还提供了对照表。看了对照表,估计很多人可能不需要再回去学一遍文言文,就能用wenyan-lang开始写代码了。

除了官方出的IDE外,还有人做了VSCode和Vim的插件,简直不要太贴心!

让文言文编程,更像文言文

文言文盛行的时代,书籍都是竖排版的,阅读方向是从右向左的。如果你是一名资深的日漫读者,应该会非常习惯于这样的阅读体验。

而为了做的更极致,作者还做了一个文言文排版生成器。你可以将用wenyan-lang写的程序,直接生成为竖排版的图片。这种方式来撰写和阅读代码,是不是有一种强烈的穿越和不真实感?

这不由得让我想起了非理性四部曲。在这里,我也非常推荐大家去阅读一本书叫做《牛顿加农炮》,非理性四部曲其中之一。小说里,牛顿从一个物理学家成为一名化学家(炼金术师)。

项目地址:

https://github.com/LingDong-/wenyan-lang#features


扫一扫在手机上阅读本文章

扫码反馈

扫一扫,反馈当前页面

咨询反馈
扫码关注

站长云微信公众号

返回顶部