查看原文
其他

文言文能编程了,口水战也开始了

(给程序员的那些事加星标

原创整理:程序员的那些事(id:iProgrammer)

近日,GitHub 新出了一个特别的开源项目:文言文編程語言 wenyan-lang。该项目迅速引发了国内程序员关注热议,其 Star 数最近 24 小时飙涨到了近 8000+。



wenyan-lang 的 Hello World


吾有一數。曰三。名之曰「甲」。
為是「甲」遍。
吾有一言。曰「「問天地好在。」」。書之。
云云。


这段代码的 JS 版:


var n = 3;
for (var i = 0; i < n; i++) {
console.log("問天地好在。");
}


输出结果:


問天地好在。
問天地好在。
問天地好在。


此外,因为文言文没有标点句读断句,因此可简化为:


吾有一數曰三名之曰「甲」為是「甲」遍吾有一言曰「「問天地好在」」書之云云


其他示例程序(包括快速排序、汉诺塔等)可以在源文件中的 ./examples 找到。


wenyan-lang 有哪些特性:


> 可编译成 JS 或 Python;
> 图灵完备;

> 包括在线 IDE 和 编译器;

> 源码开源了


在线 IDE

http://wenyan-lang.lingdong.works/ide.html



它有一个渲染程序( src/render.js ),可以把文言文源代码渲染成类似中文古籍样式,还支持反向操作(把 SVG 图片转成源码)。下面是用文言文写的通用图灵机的效果图:



变量

控制

数组(从 1 开始的)


Wenyan 作者何许人也?


作者:Huang Lingdong 。其在线简历中透露是一名卡内基梅隆大学(CMU)的大四学生,将于 2020 年获得计算机科学学位。

精通的编程语言有:Python、 JS (& HTML & CSS)、Processing、C/C++、C#, MATLAB、Lua、SML 和  AppleScript。


在他的个人项目网站 https://lingdong.works/。目前已经有将近 30 个项目。项目主题丰富多彩。



国内程序员热议


@minexo79:這到底是吸了多少才能做出這種東西?

@困的周叔叔有种自己编译原理白学了的感觉

@是俊不是脑残粉别人的大四,佩服啦

@温兴月如果编程最早用文言文,中国人学几个月,外国人学几年

@imSuperZhang:这特么比英文的还难


wenyan 的 GitHub issue 中,除了很多赞扬之外,还有不少认真提建议的,




也有在打口水仗的……😂



推荐阅读

(点击标题可跳转阅读)

第 4 种 Web 语言来了:WebAssembly

国产统一操作系统 UOS 来了

这些王者编程语言,你用过哪些?



关注「程序员的那些事」加星标,不错过圈内事

圈内事,我在看❤️

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存