点击
上方“IEEE电气电子工程师学会”即可订阅公众号。网罗全球科技前沿动态,为科研创业打开脑洞。
世界上第一种基于文言文的编程语言只有一个月左右的历史,志愿者们已经用它编写了几十个程序,比如一个基于古代汉语算命算法的程序。
新语言的开发者Lingdong Huang此前曾用计算机程序生成了一幅中国山水画。他还帮助创作了第一部也是迄今为止唯一一部由人工智能产生的中国歌剧。去年12月,他从卡内基梅隆大学计算机科学和艺术专业毕业。
大约一年前,Huang提出了这门新语言(wenyan-lang)的构想,他在学校的最后一个月完成了这门语言的核心部分。它包括一个渲染器,可以以类似于古代中文文本页面的方式显示程序。
Huang说:“I always put it off and tried to read more books in classical Chinese. Eventually I decided that reading more books might be just a euphemism for procrastination, and I needed to just implement it.”
在那么一个考试周,Huang表示,那时候没有课,所以我没有过多的学,而是
利用大部分空闲时间来实现文言文编程,在三四天内完成核心功能。
Lingdong Huang
Huang从小在上海长大,在学校学的是基础文言文。他回忆说:“十几岁的时候,我对这种语言非常着迷,自己读了很多的古典汉语书籍。”目前,我正在阅读《淮南子》,这是一本公元前2世纪在淮南王宫编纂的中国古代哲学和治国方略探索书。
尽管文言文编程语言“出生”只有一个月,但已经吸引了好些人用它来编程。据 Huang表示,当前业已有数十个用古文编程语言写的程序,之中一大半都是由其他人编撰的,这些许多是中国古代数学书籍中的数学算法的实现,例如再现了公元3世纪数学家刘辉计算圆周率的方法、余数定理、帕斯卡三角等。
在wenyan-lang中,Huang表示她最喜欢的其中一项是“占卜”。“这是《易经》中描述的算命算法,“中国最古老的典籍””,他补充道,“我本来打算自己实施,但一个热情的贡献者抢先我一步。”
Wenyan-lang既用繁体字又用文言文语法。发展这门语言的一个挑战是,文言文如何不使用空格将句子分成单词,“因此,如何拆分一个句子是读者而不是作者的任务,”Huang说。例如,如果懂英语的读者看到了“pancakebatter”,他们就必须依靠自己的先验知识,将其解读为“pancake batter”,而不是“pan cake batter”。
“在此之前,我基本上是以自己的速度独立工作,但现在合作变得至关重要,”Huang说,“除了共同编写代码之外,我还必须检查其他人的代码,仔细评估每一个建议,并决定它们是否真的对语言有价值等等问题。但我觉得我很享受这段经历,特别是因为我有一帮了不起的贡献者。”
目前,wenyan-lang贡献者正在研究Python、Ruby、JavaScript、C++和java的转发器,图形库和图形用户界面(GUI),以及一个可以在其中编写和共享代码位的片段站点。最重要的是,我们正在寻找建立一个以语言为中心的社区的方法我认为这可能是它生存的关键问题。人们有最初的热情,但要让语言保持活力,就需要有一个用户社区。
此外,Huang目前正在编写一本wenyan-lan编程入门指南,该指南本身就是用文言文编写的。他说:“大约40%已经完成了。”这本书的目标读者可能是没有任何编程经验的人。不过,我需要和前面提到的感兴趣的人们一起测试一下,以确保我相信一些对我来说很自然的想法,和对刚开始编程的人来说,可以达成一致。”
总而言之,“现在我有了自己的编程语言,这正是我想要的语言,而且是我非常喜欢的文言文,”Huang说,我认为发明自己的编程语言是每个程序员都会想实现的一个想法。
点击
阅读原文
了解更多详情