世界上第一种古典汉语编程语言----文言文编程语言

简介: 世界上第一种古典汉语编程语言----文言文编程语言

用这种语言编写的程序包括易经中的算命程序

图片:用文言文编写的绘制出曼德尔布罗特集合的程序,并呈现出来

世界上第一种基于中国文言文的编程语言只有大约一个月的历史,志愿者已经用它编写了几十个程序,比如一个基于古代中国算命算法的程序。

新语言的开发者,黄玲东,之前设计的一幅无限的计算机生成的中国山水画。他还帮助创造了第一部也是迄今为止唯一一部人工智能制作的中国歌剧。他于12月毕业于卡内基梅隆大学,获得计算机科学和艺术学位。

大约一年前,黄在学校的最后一个月里完成了这门语言的核心部分。它包括一个渲染器,可以显示程序的方式,类似于中国古代文本页面。

黄玲东“我总是推迟阅读,并尝试阅读更多的文言文书籍。最终,我决定多读书可能只是拖延症的委婉说法,我需要去实现它,”“那是期末考试周,没有课。所以我没有学习,而是利用大部分空闲时间来实现文言文编程,在三四天内完成核心功能。”

黄在上海长大,在学校里学过基本的文言文。他回忆说:“我对中文很着迷,十几岁的时候自己读了很多文言文的书。”“我现在在读《淮南子》,”这是公元前2世纪中国古代淮南王庭上编纂的一部关于哲学和治国之道的著作。

他说,已经有几十个程序是用文言文写的,其中大约一半是别人写的。其中许多是中国古代数学书籍中的数学算法的实现。例如再现了公元3世纪数学家刘辉计算圆周率的方法、中国剩余定理、帕斯卡三角形等,在帕斯卡被发现之前,中国的书中就有关于帕斯卡三角形的描述。

图片:用文言文编写写的占卜程序。

他说,黄在燕文郎最喜欢的节目之一是“占卜”。这是在易经,“中国最古老的经典。他补充道:“我本来打算自己实施,但一个热情的贡献者抢先了我一步。"

编程用了繁体中文字符和文言文语法。发展这门语言的一个挑战是文言文如何不用空格把句子分成单词,“所以如何切分句子是读者的任务,而不是作者的任务,”黄说。例如,如果懂英语的读者看到了“煎饼面糊”,他们将不得不依靠他们先前的知识把它解读为“煎饼面糊”,而不是“煎饼时面糊”。

为了克服这个挑战,黄指出编程语言只拥有一定数量的关键词。因此,文言文编程在每个程序中从最长的关键字变成最短的关键字,来解密程序员想要什么,“而且它是有效的,”黄说。

黄对文言文编程软件受到的关注感到惊讶和兴奋“我以为我以前做过很多很酷的项目,但是这个项目在中国变得特别受欢迎”

黄说:“在此之前,我主要是按照自己的节奏独立工作,但现在合作变得至关重要。”。“除了共同创作代码之外,我还必须回顾其他人的代码,仔细评估每一个建议,并决定它们是否对语言来说确实是有价值的特性,或者写友好的回答来解释为什么我不这么认为。但是我觉得我很享受这次经历,尤其是因为我有一帮了不起的人贡献者。"

图片:文言文编程窗口和相应的JavaScript。

目前,文言文的贡献者正在研究Python、Ruby、JavaScript、C++和Java的transpilers,图形库和图形用户界面,以及片段网站人们可以创作和分享代码。“最重要的是,我们正在寻找建立一个围绕这种语言的社区的方法,”黄说。“我认为这可能是它生存的关键时刻。人们有最初的热情,但是为了保持语言的活力,需要有一个用户群体。”

此外,黄目前正在编写燕文语言编程入门指南,该指南本身就是用文言文编写的。“大约40%完成了,”他说。“这本书的目标读者可能是完全没有编程经验的人。然而,我需要用前面提到的观众来测试它,以确保它,因为我相信一些对我来说很自然的想法对编程新手来说可能并不明显。”

总而言之,“现在我有了自己的编程语言,这正是我想要的语言,而且是我非常喜欢的文言文,我认为发明自己的编程语言是每个程序员都会想到的一个想法。”

如对本文内容有任何疑问、建议或意见,请联系作者,作者将尽力回复并改进📓;


相关文章
|
算法 程序员 API
C 语言和 C++ 有什么区别?老程序员居然这样理解,不怕你不懂
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)
154 0
|
4月前
|
设计模式 开发者 Python
惊呆了!Python元类竟能如此玩转,你的编程世界将不再有界限
【7月更文挑战第6天】Python元类是类的类,用于控制类的创建。它们让开发者能自定义类的行为,如添加方法、改变继承或实例化过程。例如,定义一个元类`my_metaclass`,它会在创建类时自动添加新方法。元类广泛应用在单例、插件系统和ORM等高级场景,拓展了Python代码的灵活性和威力。掌握元类,揭开编程魔法的面纱,为代码解锁更多可能。
26 0
|
数据采集 小程序 数据挖掘
【我问 Crossin】英语不好能不能学编程?
IDLE 里点击保存或运行时,程序无响应,或弹出如下的弹窗
|
人工智能 程序员
英语不好能不能学编程?
就像有人不懂日语,也照样能打通很多日文游戏。不懂英语至少会用翻译软件吧?先记住语法和报错最常涉及的那些单词,if 、while 、for 、class 、def 、error 、type 之类,足够你写出完整的程序。英语好不是学习编程的先决条件。
|
存储 Python
基于python实现英语学习系统(附完整代码)
基于python实现英语学习系统(附完整代码)
317 0
基于python实现英语学习系统(附完整代码)
|
JavaScript 前端开发 Java
计算机基础------计算机语言分类(脚本语言引发的思考)
计算机基础------计算机语言分类(脚本语言引发的思考)
183 0
计算机基础------计算机语言分类(脚本语言引发的思考)
|
存储 索引 Python
三岁学python基础 组合数据类型
三岁学python基础 组合数据类型
102 0
三岁学python基础 组合数据类型
|
数据库 C语言 开发者
【三岁学编程系列】python基础知识(一)常识与输出
【三岁学编程系列】python基础知识(一)常识与输出
175 0
|
XML 安全 程序员
英语不好可以学编程吗?
对于IT程序员来说,日常的开发工作所需要的单词也就那些,,相当于初中英语水平,只要拿出上学时一半的精力来学习,再加上实际运用,很快就能学会,哪怕死记硬背也实在不算什么难事。
499 0
英语不好可以学编程吗?
|
XML Java 数据格式
你能用几句话解释面向对象?(下)
一种基于面向过程的新的编程思想,顾名思义该思想是站在对象的角度思考问题,我们把多个功能合理的放到不同对象里,强调的是我该让谁来。面向对象最小的程序单元是类,必须先存在类的定义,再有对象,而具备某种功能的实体,称为对象。
133 0
你能用几句话解释面向对象?(下)
下一篇
无影云桌面