向右滑动:上一篇 向左滑动:下一篇 我知道了
广告

惊爆!“文言文”也可以用来编程了

时间:2020-02-24 作者:EE Times Taiwan 阅读:
中国工程师Lingdong Huang开发出称为“文言”(Wenyan-Lang)的程序语言,这是全世界第一个用文言文编写的程序语言,采用繁体中文文字以及古典中文语法系统编写...

无论是Java、Python还是C++,不同的程序语言即使形式和规则各异,但几乎都使用英文作为关键词(如if、else、return、for)编写。然而,根据IDC估计,在全球约2,230万名软件开发人员中,有将近一半来自亚太地区,仅中国和印度就占全球开发人员总数的三分之一。QBkEETC-电子工程专辑

那么,你是否想过用中文来编写程序?QBkEETC-电子工程专辑

去年刚从美国卡内基梅隆大学(Carnegie Mellon University)计算机科学系毕业的Lingdong Huang最近开发出称为“文言”(Wenyan-Lang) 的程序语言,相较于主要以英文编写的方式,新的“文言文程序语言”完全采用繁体中文文字以及古典中文语法系统编写。QBkEETC-电子工程专辑

据《IEEE Spectrum》报导,这是全世界第一个用文言文编写的程序语言,自去年12月发表至今还不到2个月的时间,全球开发人员已经用它编写了数十种程序,其中甚至包括以《易经》中的算命算法编写的程序。QBkEETC-电子工程专辑

开发这套“文言文程序语言”的Lingdong Huang之前设计过由计算机产生的中国山水画,也曾经协助创作至今唯一以人工智能(AI)生成的中国戏曲。去年12月,他从Carnegie Mellon University毕业,取得了计算机科学和艺术学位。QBkEETC-电子工程专辑

QBkEETC-电子工程专辑

Lingdong HuangQBkEETC-电子工程专辑

Huang大约从一年前开始有了编写文言文程序语言的想法,终于在毕业前夕完成了这套新语言的核心部份,包括一款影像渲染器(renderer),能以像古代文言文书页的方式显示程序,让编程充满古典文学气息。QBkEETC-电子工程专辑

Huang说自己也曾经用阅读更多古典文学书籍当作借口而暂缓这个想法,最后决定必须付诸实践。“那是学期末的最后一周,课程都结束了。所以我可以利用许多空闲时间来开发『文言』(Wenyan-Lang),后来终于在3~4天内完成了核心功能。”QBkEETC-电子工程专辑

出生于中国上海的Lingdong Huang自幼学习中国古典文学,因而“迷上了文言文,青少年时期还阅读了大量的古文书籍。”他说自己最近在看的古籍是《淮南子》。QBkEETC-电子工程专辑

Huang并非简单地用中文汉字直接取代英文字符,而是使用自然语言处理(NLP)方式,将文言文语法转换为JavaScript、Python和Ruby。他并在GitHub上开放其Wenyan-Lang语言,短时间内就获得了惊人的好评,目前并累积数十种以Wenyan-Lang编写的程序了,一半以上来自全球各地开发人员的贡献。QBkEETC-电子工程专辑

其中,有许多还采用了古代中国数学典籍中的数学算法。例如,pi_liuhui.wy重现三国时代数学家刘徽如何利用割圆术计算圆周率;pi. Crt.wy是古中国的余数定理;Pascal_triangle.wy计算帕斯卡三角形(Pascal’s Triangle;据称中国典籍在Pascal发明之前记载);divination.wy甚至以程序重现《易经》中描述的占卜方式。QBkEETC-电子工程专辑

QBkEETC-电子工程专辑

以“文言”(Wenyan-Lang)为《易经》中算命算法编写的程序。(来源:IEEE Spectrum)QBkEETC-电子工程专辑

Huang说自己最喜欢的文言文编写程序之一是‘divination.wy’。它是《易经》中介绍的算命算法。他说自己本来就想开发,但有更热情的其他开发人员抢先了一步。QBkEETC-电子工程专辑

开发中文程序语言的挑战之一在于如何不使用空格而将句子分解成单词。但如何“断句”就是读者的工作了。以英文程序代码为例,他说,如果读者看到‘pancakebatter’,通常会依据个人先前经验,理解为‘pancake batter’而非‘pan cake batter’。QBkEETC-电子工程专辑

但要断句文言文有一定的难度。为了克服这一挑战,Huang透过定义文言文程序代码的关键词长度,为程序人员解密所需要的内容。QBkEETC-电子工程专辑

QBkEETC-电子工程专辑

随着“文言”程序语言的成功开发,许多华人开始注意到文言文也能编写程序语言,Huang的生活也因此有了转变,他说:“在此之前,我主要按照自己的步调做事,而今合作变得更重要了。”除了与开发者社群共同编写程序代码,现在他还必须检查并评估其他人的程序代码,并作出反馈和解释。但Huang认为自己不仅享受这样的体验,还庆幸加入了一支很赞的编程团队。QBkEETC-电子工程专辑

QBkEETC-电子工程专辑

Wenyan-lang vs. JavaScript编程窗口(来源:IEEE Spectrum)QBkEETC-电子工程专辑

目前,Wenyan-Lang开发人员正致力于研究Python、Ruby、JavaScript及C++的编译程序、工具库和GUI,以及可供编写和共享程序代码的站点,目的在于为文言文程序代码建立开发社群,延续文言文的生命力。Huang并专注于为缺乏编程经验的新手撰写文言文编程入门指南,如今也有40%的完成度了。QBkEETC-电子工程专辑

责编:Yvonne GengQBkEETC-电子工程专辑

本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
您可能感兴趣的文章
  • 工程师的抗疫:研究自制低成本呼吸机 最近一段时间,新型冠状病毒肺炎在海外持续延烧。除了口罩 、额温枪外,呼吸机同样作为目前稀缺的战“疫”物资。为此,来自各个行业的“设计师们”开始研究如何在自家或工厂生产呼吸机...
  • 任正非:华为今年研发预算将达200亿美元 华为创始人任正非在接受《华尔街日报》专访时谈及的2020年度的华为研发预算目标表示:“在原有基础上增加58亿美元,总费用将会超过200亿美元(约合人民币1421亿元)。”
  • 能量采集:并不是什么新鲜事 “能量采集”一直是备受关注的热门话题,除了在许多应用中极具实用性、能以微小功率运作,还拥有“不劳而获”的吸引力。但是,能量采集的基本概念并不是什么新鲜事…
  • 别以为你拿着烙铁,就懂焊接! 目前焊接的问题比大多数人所知道的要严重得多。几乎没有人——不只是工程师——懂得如何焊接。很多自认为焊接技术不错的人并没有意识到他们的技术其实是有问题的。
  • 硅谷疫情告急,10万+科技公司员工在家办公 随着新冠肺炎疫情在海外蔓延,世界上众多科技公司受到影响。日前,苹果、谷歌、脸书、微软、亚马逊等美国公司已经纷纷要求员工尽量在家办公和避免国际旅行。有风投公司发出预警信,称“新冠肺炎是2020年的黑天鹅”,将对全球产业链产生重大影响……
  • 扩展多频段天线挑战进展不停—“好心没好报”? 随着RF链路扩展并支持更多频段,天线的研发也不断进展。但这就像是另一种形式的“好心没好报”:为了解决问题而开发解决方案,其回报却是需求随之增加,甚至还得再开发更多解决方案...
相关推荐
    广告
    近期热点
    广告
    广告
    广告
    可能感兴趣的话题
    广告