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

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

微信图片_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

相关文章
|
11月前
就业、考研、出国、考公...如何找到适合自己的路——【大学生就业训练营】系列第一课
系列课程共有八节,下方完成视频课程观看并在评论区回复学习心得,还可以领取惊喜礼品~
603608 2322
|
数据采集 人工智能 算法
2022年计算机保研夏令营经验总结,11所院校经历,预推免上岸北大
2022年计算机保研夏令营经验总结,11所院校经历,预推免上岸北大
|
存储 分布式计算 算法
江苏大学 操作系统 知识点提纲 期末考试/考研 复习
江苏大学 操作系统 知识点提纲 期末考试/考研 复习
280 0
|
编解码 算法 前端开发
想卷编程的大学生如何利用寒假提升自己?该学什么?要不要去实习?
想卷编程的大学生如何利用寒假提升自己?该学什么?要不要去实习?
126 0
|
设计模式 移动开发 算法
【毕业季_进击的技术er】送别过去两年迷茫的自己。重整旗鼓,大三我来啦
我是starry陆离。2020级计算机专业的一名准大三的计科学生,一位喜欢写作的,不太擅长交流的男生,是 男生!!! 因为头像和文章风格两次被人误以为是女生了,我真的栓Q啊。
120 0
【毕业季_进击的技术er】送别过去两年迷茫的自己。重整旗鼓,大三我来啦
|
网络协议 搜索推荐 JavaScript
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
162 0
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
|
算法 Java 程序员
双非硕士的辛酸求职之旅--第 4 篇:谈谈算法该怎么准备,不准备可以吗
双非硕士的辛酸求职之旅--第 4 篇:谈谈算法该怎么准备,不准备可以吗
181 0
双非硕士的辛酸求职之旅--第 4 篇:谈谈算法该怎么准备,不准备可以吗
|
消息中间件 设计模式 算法
偷偷地告诉学弟学妹们一个高效学习编程的秘密!大学四年悄悄惊艳他们,嘘
偷偷地告诉学弟学妹们一个高效学习编程的秘密!大学四年悄悄惊艳他们,嘘
202 0
偷偷地告诉学弟学妹们一个高效学习编程的秘密!大学四年悄悄惊艳他们,嘘
|
数据采集 搜索推荐 算法
|
机器学习/深度学习 算法 小程序
双非硕士的辛酸求职回忆录: 第 3 篇 也谈谈校招项目面试究竟该注意什么及我是如何准备开发项目的
双非硕士的辛酸求职回忆录: 第 3 篇 也谈谈校招项目面试究竟该注意什么及我是如何准备开发项目的
267 0
下一篇
无影云桌面