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

简介: 程序员何苦为难程序员?有人开发了一种“文言文编程语言”,用文言文写的编程语言,密切遵循文言文语法和中国古典文学的基调,被评价过于硬核。

微信图片_20220107184650.jpg


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


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


文言文也能编程?


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


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


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


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


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


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


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


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


微信图片_20220107184647.jpg


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


微信图片_20220107184644.jpg


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


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


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


文言文与NLP、图灵完备


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


  • NLP共享的古文语法
  • 编译成JS或者Python
  • 图灵完备
  • 在线IDE


在线IDE长这样:


微信图片_20220107184642.jpg


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


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


微信图片_20220107184639.jpg


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


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


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


微信图片_20220107184635.jpg


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


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


项目地址:

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

相关文章
|
7月前
|
存储 人工智能 Serverless
大学生们注意了,你的拜年姿势准备好了吗?
来尝试一种全新的“数字人”拜年方式吧。上传个人照片,即可一键创建数字人分身,还可以搭配春节服饰、背景、拜年模板,生成专属的数字人拜年视频,简单无门槛,有心更有新。
127 7
|
5月前
|
安全 前端开发 算法
IT专业入门,高考假期预习指南
IT专业入门,高考假期预习指南
43 1
IT专业入门,高考假期预习指南
|
Java 大数据 Linux
【回望2022,走向2023】一个双非二本非科班的学生的旅途
【回望2022,走向2023】一个双非二本非科班的学生的旅途
141 0
【回望2022,走向2023】一个双非二本非科班的学生的旅途
|
编解码 算法 前端开发
想卷编程的大学生如何利用寒假提升自己?该学什么?要不要去实习?
想卷编程的大学生如何利用寒假提升自己?该学什么?要不要去实习?
133 0
|
存储 人工智能 分布式计算
想当程序员吗?这11所大学计算机专业堪称国内顶级,高考考生千万不要错过
为大家盘点一下目前国内计算机专业比较好的大学。
316 1
|
网络协议 搜索推荐 JavaScript
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
163 0
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
|
消息中间件 设计模式 算法
偷偷地告诉学弟学妹们一个高效学习编程的秘密!大学四年悄悄惊艳他们,嘘
偷偷地告诉学弟学妹们一个高效学习编程的秘密!大学四年悄悄惊艳他们,嘘
203 0
偷偷地告诉学弟学妹们一个高效学习编程的秘密!大学四年悄悄惊艳他们,嘘
|
弹性计算 前端开发 Linux
一名大四学生初入阿里云的心得体会
首先得感谢阿里云的飞天加速计划,让本人能够免费领取并使用阿里云的云服务器ECS。
|
设计模式 IDE Java
奉劝那些想把编程学好的学弟学妹们!呕心沥血,袒露心声,掏心掏肺
奉劝那些想把编程学好的学弟学妹们!呕心沥血,袒露心声,掏心掏肺
143 0
|
IDE 数据库 开发工具
写给在校大学生的几句话——不要浮躁要踏实
  以前就有大学里面学什么的讨论,还有30/35岁程序员的讨论。我觉得可以放在一起来说。一下是我的想法仅供参考。     在大学里应该做什么?1、学习方法的掌握。2、学习基础知识。     一、学习方法   中国是填鸭式的教学,往往忽略的学习方法的培养,导致了被动学习,应付差事,甚至是厌学的情况。
1317 0