绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
世界上个文言文编程语言诞生,创造它的是一个大学生
2020-02-07 15:42:02

来源:爱范儿



夫唐、虞之世,結繩而足治,屈指而足算。是時豈料百代之後,計算機械之巧,精於公輸之木鳶,善於武侯之流馬;程式語言之多,繁若《天官》之星宿,奇勝《山經》之走獸。鼠、蟹、鑽、魚,或以速稱……

这不是「请朗读并背诵全文」系列,而是一个 GitHub 一个代码项目的序言,为什么要用文言文?因为这就是一个用文言文编程的项目。

这套编程语言叫做「文言编程语言(wenyan-lang)」是卡内基梅隆大学(CMU)一个中国留学生 Lingdong Huang 在去年创建的,也曾在网上引起热议。

世界上个文言文编程语言诞生,创造它的是一个大学生

▲ Lingdong Huang

而在上个月, Huang 利用毕业前的后一周的时间,完成了这套编程语言的核心功能,世界上用文言文的编程语言正式诞生。

尽管文言编程语言诞生只有一个月,但已经吸引了不少人用它来写程序。据 Huang 介绍,目前已经有数十个用文言编程语言写的程序,其中一大半都是由其他人编写的。其中很多程序都是基于中国古代的数学著作,比如三国时代数学家的圆周率计算方法,甚至还有《易经》的算命算法。

世界上个文言文编程语言诞生,创造它的是一个大学生

▲图片来自:知乎

那到底是怎么用文言文来编程的呢?这并不是将英文字符转换为文言文这么简单,而是要用自然语言处理(NLP)技术,将文言编程语言编译成编译成 JavaScript,Python 和 Ruby 等编程语言。

比如编程界经典的代码「Helloworld」,如果用文言编程语言是这样写的:

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

如果将这段代码转换成 JavaScript 语言,是这样的:

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

当中的原理不在这里赘述,如果想了解更多文言编程的技巧,可以关注这个项目在 GitHub 的页面,当然如果你已经有一定编程基础,也可以尝试编程一些更加复杂的程序,在知乎上就有网友用文言文编写割圆法算圆周率的程序,而在 Huang 的个人主站上,还展示了不少更加复杂的文言编程案例,比如曼德勃罗集和考拉兹猜想。

世界上个文言文编程语言诞生,创造它的是一个大学生

为什么 Huang 要创造一套使用文言文的编程语言,其实在 GitHub 项目上的序言已经说出了答案,这段序的大意是,如今的计算机十分精妙,编程语言数量众多,但过去从未有人尝试用文言文来编程,他认为这也是传承文脉、保护文心的一种方式。

世界上个文言文编程语言诞生,创造它的是一个大学生

此外 Huang 还开发了一个,可以将枯燥的文言文代码转换为一本古书的页面,在视觉上更有古典的气息。

世界上个文言文编程语言诞生,创造它的是一个大学生

Huang 在去年 12 月已经在卡内基梅隆大学(CMU)获得了计算机科学与艺术学位,他除了文言编程语言,他还曾用计算机程序生成了一幅中国山水画,还参与开发了个由人工智能合成的昆曲视频。

世界上个文言文编程语言诞生,创造它的是一个大学生

Huang 目前正在用文言文编写文言编程的入门指南,目的是让更多完全没有编程经验的人使用文言编程语言,目前已经完成了 40%。

在接受媒体采访时,Huang 表示自己对于文言文十分着迷,在读大学之前就阅读了大量文言文书籍,现在他正在读的是《淮南子》,而这本书里有一句话:

昔者苍颉作书,而天雨粟、鬼夜哭。

这句话讲的仓颉造字,惊天地泣鬼神的故事。文字是世界上伟大的发明之一,从此历史得以记载,知识可以传播。而在这个互联网时代,组成整个庞大数字世界的,则是一行行代码。用文言文来编程,确实也给古代文字的传承找到了一条新路。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

星说
创建时间:2019-11-28 12:45:43
作为炎黄子孙,我们有很多知识渊博的祖人,这个祖人指的是在各领域登峰造极的学者论说,我们跟随强大基因的路线,学习,深化自己的知识体系,优化环境。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • unnamed persona
    栈主

小栈成员

查看更多
  • 外星人6
  • supergirlxu
  • unnamed person1
  • daxuesheng
戳我,来吐槽~