乍一看让人一头雾水:文言文和编程语言,好像两不搭嘎,却好像又隐约有点关系?
这就是最近被盛传的:文言文编程语言“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写的程序,直接生成为竖排版的图片。这种方式来撰写和阅读代码,是不是有一种强烈的穿越和不真实感?
这不由得让我想起了非理性四部曲。在这里,我也非常推荐大家去阅读一本书叫做《牛顿加农炮》,非理性四部曲其中之一。小说里,牛顿从一个物理学家成为一名化学家(炼金术师)。
项目地址: