大四学生发明文言文编程语言,设计思路清奇
【导读】近日,GitHub 上一个叫做文言文(wenyan)的编程语言项目火了,就在本文成文期间,GitHub 上的 Star 数已经从 2200 涨到 2800,并还有继续上涨的趋势。只需要在在线编辑器上,或下载一个编译器,就可以用文言文进行编程。让人惊讶的是,这个涉及思路清奇的项目竟然出自卡内基梅隆大学的一名大四学生之手,不禁让人感叹后生可畏。
这个项目受到了大家很多好评,有人说项目的设计思路奇特,有人表示在学编程的同时还顺带学习了文言文,一箭双雕。
那么,wenyan 究竟是怎么玩的?我们来跟着 GitHub 学习一下。
语法
编辑
var n = 3;
for (var i = 0; i < n; i++) {
console.log("問天地好在");
}
問天地好在
問天地好在
問天地好在
吾有一數曰三名之曰「甲」為是「甲」遍吾有一言曰「「問天地好在」」書之云云
特征
NLP遵循古文言文语法 编译为JavaScript或Python 图灵完备(https://github.com/LingDong-/wenyan-lang/blob/master/examples/turing.wy 在可计算性理论里,如果一系列操作数据的规则(如指令集、编程语言、细胞自动机)可以用来模拟单带图灵机,那么它是图灵完备的。) 在线IDE http://wenyan-lang.lingdong.works/ide.html 入门示例 https://github.com/LingDong-/wenyan-lang/tree/master/examples
安装
编译器
Usage: wenyan [options] [input files]
Options:
--eval -e <string> : Give a string instead of a file (default: `')
--exec -x <boolean> : Execute ouput (default: `false')
--inspect -i <boolean> : Interactive REPL (default: `false')
--lang -l <string> : Language: js/py (default: `js')
--log <string> : Log file (default: `/dev/null')
--output -o <string> : Output file (default: `/dev/stdout')
--roman -r <boolean> : Romanize identifiers (default: `true')
./build/wenyan.js examples/helloworld.wy -o helloworld.js
克隆仓库 npm install npm run make_cmdline
语法备忘单
变量
管理
数学
容器
特征
渲染器
出自CMU大四学生之手
值得注意的是,这个思路清奇的设计竟然出自一名卡内基梅隆大学的大四学生 Ling Dong Huang。
在作者简介中,Ling Dong Huang 表示自己将于 2020 年获得计算机科学学位,此前,他曾在迪士尼研究院、 Antimodular 研究院和《纽约时报》实习,自己也做了项目网站 https://lingdong.works/。目前已经有将近 30 个项目。项目主题丰富多彩,比如用 emoji 做成的小游戏,使用用户提交的涂鸦做成的计算机动画,以及和本文一样对中国下手,把中国表意文字和部首做成可视化动画,等等,并给出了项目的源代码。
此外,他的项目还包括:
隐士——互动式程序生成景观(CMU 2015 年秋季 CS 15-112 学期项目竞赛优胜者)
https://github.com/LingDong-/Hermit
普通人脸模拟器——本地2人人脸模拟。(观看次数 180 + K,在 itch.io 上下载 60 + K)
https://lingdonh.itch.io/normal-human-face-simulator
{山,水} **——程序无限生成的中国山水画。(2018 年 5 月在卡耐基梅隆大学展出)
https://github.com/LingDong-/shan-shui-inf
错山记(Legend of Wrong Mountain)——一部完全由机器使用程序生成和机器学习技术编写、创作和表演的中国戏曲。(论文已被 2 0 1 8 NIPS workshop 接收)
https://www.youtube.com/watch? v = QPdb28h4qjc我的在线投资组合中的更多项目(https://lingdong.works)
不得不说,作者的脑洞不小,不少项目的创意很是新奇。