世界上第一个文言文编程言语诞生,发明它的是一个大学生

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

这不是「请朗诵并背诵全文」系列,而是一个 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 表明自己关于白话文非常入神,在读大学之前就阅读了很多白话文书本,现在他正在读的是《淮南子》,而这本书里有一句话:

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

这句话讲的仓颉造字,惊六合泣鬼神的故事。文字是国际上最巨大的创造之一,从此前史得以记载,常识能够传达。而在这个互联网年代,组成整个巨大数字国际的,则是一行行代码。用白话文来编程,的确也给古代文字的传承找到了一条新路。