fbpx
维基百科

文言 (编程语言)

文言(英語:wenyan-lang)是一门以汉语文言文为基础进行程序编写所用的语言。編譯器主要以JavaScript實作,支援將原始碼編譯為JavaScriptPythonRuby程式碼。[5][6]

文言
编程范型多范型函数式指令式结构化面向对象反射式
設計者黃令東(Lingdong Huang)
實作者文言开发团队
发行时间2019年,​4年前​(2019[1]
当前版本
  • 0.3.4 (2020年7月29日)[2]
操作系统跨平台
許可證MIT授權條款
文件扩展名.wy
網站https://wy-lang.org
衍生副語言
爪哇文言、标准文言[3]
啟發語言
PythonJavaScript、《易经

不同於大部分中文程式語言,wenyan-lang不只是以中文取代其他程式語言的關鍵字。它定義了自己的語法,使之讀起來接近古文。wenyan-lang常用的符號只有中文字和引號,亦不須分行,以符合古人的書寫習慣。[7][8][9]

概要 编辑

这个语言的开发者是来自卡内基梅隆大学的黄令东,并且当时仅是一名大四学生;在这一语言之前,他曾成功设计出了电脑自动作中国山水画的程序,也是截至目前为止让中国戏曲人工智能技术中得以实现的唯一一人。「文言」这一编程语言不是简单的程序英文字符向中文的变换。恰恰相反,这一中国特色的语言是利用NLP技术,将文言文语法转换为Javascript或Python语法,从而进行编译与运行;技术难度巨大。这名开发者在不到一年前才萌生出文言编程的想法,那时他刚完成编程语言核心的课程。他希望能够设计出一门能够让古老的中国典籍在命令行的字符间重获新生的语言,而这正是wenyan-lang的雏形。“我总是想拖延这个语言的设计。当时我给自己的借口就是‘我想要多读一些中国古籍’,但后来我转念一想,所谓的‘想多读点书’仅仅是‘拖延症’这种字眼的美化罢了。我决定付诸实践,入手开发了。”在接受IEEE采访时他如是说,“那段时间是期末考试周,我们没有课。所以我没有选择复习任何东西,而是去利用闲暇开发「文言」;不过四天,我就已经实现了核心功能。”当问及他是否对文言文情有独钟时,他的回答是肯定的——当时他正在阅读《淮南子》。[10]

程序设计语法 编辑

文言编程语言的语法基本遵循中国古籍中的文言规则。本语言僅需要使用中文字和引號,其餘的標點符號、斷行、縮排都不是必要的,原則上以繁體中文書寫。[11]下面将会列出一些例子。[12][13]

Hello, world! 编辑

吾有一言。曰「「問天地好在。」」 書之。

[14]

变量 编辑

使用汉字组合作为变量的名称,而不是拉丁字母。这些变量有各自的类型,如「数」「言」等。

变量
文言代码 JavaScript对应代码 Python对应代码
吾有一数。曰三。名之曰「甲」。 var a = 3 a = 3
有数五十。名之曰「大衍」。 var dayan = 50 dayan = 50
吾有一言。曰「「噫吁嚱」」。名之曰「乙」。 var b="Alas!" b = "Alas!"

布尔值 编辑

布尔值用「」作为类型名。其值真、假分别用「阳」「阴」表示。

爻值声明示例
文言代码 JavaScript对应代码 Python对应代码
吾有一爻。曰阴。名之曰「丙」。 var c = false c = False

条件与流程控制 编辑

用「……乃得……」句式作为if判断,用「为是」作为循环关键字

流程控制
文言代码 JavaScript对应代码 Python对应代码
若三不大于五者。乃得「「想当然耳」」。若非。乃得「「怪哉」」也。 if(3<=5){return "of course"} else {return "impossible"} if(3<=5){print("of course")} else{print("impossible")}
为是百遍。……云云。 for(var i=0;i<100;i++){...} for(i in range(0,100)){...}
恒为是。……云云。 while(true){...} while(True){...}
乃止。 break; break

运算 编辑

基本逻辑运算
文言代码 JavaScript对应代码 Python对应代码
加一以二。乘其以三。 (1+2)*3 (1+2)*3
除十以三。所余几何。 10%3 10%3
减七百五十六以四百三十三。名之曰「甲」。 var a = 756-433 a=756-433

容器类型 编辑

使用文言文中的衔接词来表达容器类型。由于尊重汉语习惯,数列的下标都是从一开始的。

容器类型
文言代码 JavaScript对应代码
吾有一列。名之曰「甲」。充「甲」以四。以二。 var a=[]; a.push(4,2);
夫「剑」之长。 sword.length;
夫「甲」之一。 a[0]
夫「玫瑰」之「「名」」。 rose["name"]

定义函数 编辑

使用「吾有一术」进行声明。

函数
文言代码 JavaScript对应代码 Python对应代码
吾有一术。名之曰「大法」。是术曰。...是谓「大法」之术也。 function f(){...} def f:...

使用模組 编辑

吾嘗觀「「易經」」之書。方悟「運」「占」之義。

争议 编辑

作为一个纯中文的编译语言,文言在国内外饱受争议。多数持反对意见的人认为,这一语言因为文言文本身具备的复杂性和在现代社会的不普及性,很难收到广泛使用,会抬高中国人学习编程语言的门槛而不是降低;而持支持态度的人认为,大四学生能够吸取古籍,制作出如此完备而且系统的语言,其意志与精神令人惊叹。

参考内容 编辑

  1. ^ 文言历次发布列表. [2021-11-17]. (原始内容于2021-12-03). 
  2. ^ Release 0.3.4. 2020年7月29日 [2022年12月19日]. 
  3. ^ 文言方言等事项列表. [2021-11-17]. (原始内容于2021-11-17). 
  4. ^ 版本0.0.2. [2021-11-17]. (原始内容于2021-11-17). 
  5. ^ wenyan - Esolang. esolangs.org. [2021-09-06]. (原始内容于2021-09-06). 
  6. ^ 文言文也能寫程式,中國留美大學生開發出 wenyan-lang 程式語言. 電腦王阿達. 2020-02-04 [2021-09-06]. (原始内容于2021-12-11) (中文(繁體)). 
  7. ^ 文言文也可以用來寫程式?!. 電子工程專輯. 2020-02-13 [2021-09-03]. (原始内容于2021-12-11) (中文(繁體)). 
  8. ^ World's First Classical Chinese Programming Language. IEEE Spectrum. 2020-01-31 [2021-09-03]. (原始内容于2021-11-17) (英语). 
  9. ^ 大四学生发明文言文编程语言,设计思路清奇. 腾讯云. [2021-09-06]. (原始内容于2021-12-11). 
  10. ^ Charles Q. Choi. World's First Classical Chinese Programming Language. IEEE Spectrum. 2020-01-31 [2021-12-11]. (原始内容于2021-11-17) (英语). 
  11. ^ GitHub - wenyan-lang/wenyan: 文言文編程語言 A programming language for the ancient Chinese.. GitHub. [2021-09-03]. (原始内容于2021-10-13) (英语). 
  12. ^ 《文言阴符·wenyan-lang操作指南》. [2021-12-20]. (原始内容于2021-10-11). 
  13. ^ 《文言0.0.2指南》
  14. ^ Wenyan-lang. esoteric.codes. 2020-11-12 [2021-09-06]. (原始内容于2021-10-14) (英语). 

文言, 编程语言, 此條目的语调或风格可能不適合百科全書的寫作方式, 2021年11月17日, 請根據指南協助改善这篇条目, 請在讨论页討論問題所在及加以改善, 文言, 英語, wenyan, lang, 是一门以汉语文言文为基础进行程序编写所用的语言, 編譯器主要以javascript實作, 支援將原始碼編譯為javascript, python或ruby程式碼, 文言编程范型多范型, 函数式, 指令式, 结构化, 面向对象, 反射式設計者黃令東, lingdong, huang, 實作者文言开发团队发行时间20. 此條目的语调或风格可能不適合百科全書的寫作方式 2021年11月17日 請根據指南協助改善这篇条目 請在讨论页討論問題所在及加以改善 文言 英語 wenyan lang 是一门以汉语文言文为基础进行程序编写所用的语言 編譯器主要以JavaScript實作 支援將原始碼編譯為JavaScript Python或Ruby程式碼 5 6 文言编程范型多范型 函数式 指令式 结构化 面向对象 反射式設計者黃令東 Lingdong Huang 實作者文言开发团队发行时间2019年 4年前 2019 1 当前版本0 3 4 2020年7月29日 2 操作系统跨平台許可證MIT授權條款文件扩展名 wy網站https wy lang org衍生副語言爪哇文言 标准文言 3 啟發語言Python JavaScript 易经 不同於大部分中文程式語言 wenyan lang不只是以中文取代其他程式語言的關鍵字 它定義了自己的語法 使之讀起來接近古文 wenyan lang常用的符號只有中文字和引號 亦不須分行 以符合古人的書寫習慣 7 8 9 目录 1 概要 2 程序设计语法 2 1 Hello world 2 2 变量 2 3 布尔值 2 4 条件与流程控制 2 5 运算 2 6 容器类型 2 7 定义函数 2 8 使用模組 3 争议 4 参考内容概要 编辑这个语言的开发者是来自卡内基梅隆大学的黄令东 并且当时仅是一名大四学生 在这一语言之前 他曾成功设计出了电脑自动作中国山水画的程序 也是截至目前为止让中国戏曲在人工智能技术中得以实现的唯一一人 文言 这一编程语言不是简单的程序英文字符向中文的变换 恰恰相反 这一中国特色的语言是利用NLP技术 将文言文语法转换为Javascript或Python语法 从而进行编译与运行 技术难度巨大 这名开发者在不到一年前才萌生出文言编程的想法 那时他刚完成编程语言核心的课程 他希望能够设计出一门能够让古老的中国典籍在命令行的字符间重获新生的语言 而这正是wenyan lang的雏形 我总是想拖延这个语言的设计 当时我给自己的借口就是 我想要多读一些中国古籍 但后来我转念一想 所谓的 想多读点书 仅仅是 拖延症 这种字眼的美化罢了 我决定付诸实践 入手开发了 在接受IEEE采访时他如是说 那段时间是期末考试周 我们没有课 所以我没有选择复习任何东西 而是去利用闲暇开发 文言 不过四天 我就已经实现了核心功能 当问及他是否对文言文情有独钟时 他的回答是肯定的 当时他正在阅读 淮南子 10 程序设计语法 编辑文言编程语言的语法基本遵循中国古籍中的文言规则 本语言僅需要使用中文字和引號 其餘的標點符號 斷行 縮排都不是必要的 原則上以繁體中文書寫 11 下面将会列出一些例子 12 13 Hello world 编辑 吾有一言 曰 問天地好在 書之 14 变量 编辑 使用汉字组合作为变量的名称 而不是拉丁字母 这些变量有各自的类型 如 数 言 等 变量 文言代码 JavaScript对应代码 Python对应代码吾有一数 曰三 名之曰 甲 var a 3 a 3有数五十 名之曰 大衍 var dayan 50 dayan 50吾有一言 曰 噫吁嚱 名之曰 乙 var b Alas b Alas 布尔值 编辑 布尔值用 爻 作为类型名 其值真 假分别用 阳 阴 表示 爻值声明示例 文言代码 JavaScript对应代码 Python对应代码吾有一爻 曰阴 名之曰 丙 var c false c False条件与流程控制 编辑 用 若 乃得 句式作为if判断 用 为是 作为循环关键字 流程控制 文言代码 JavaScript对应代码 Python对应代码若三不大于五者 乃得 想当然耳 若非 乃得 怪哉 也 if 3 lt 5 return of course else return impossible if 3 lt 5 print of course else print impossible 为是百遍 云云 for var i 0 i lt 100 i for i in range 0 100 恒为是 云云 while true while True 乃止 break break运算 编辑 基本逻辑运算 文言代码 JavaScript对应代码 Python对应代码加一以二 乘其以三 1 2 3 1 2 3除十以三 所余几何 10 3 10 3减七百五十六以四百三十三 名之曰 甲 var a 756 433 a 756 433容器类型 编辑 使用文言文中的衔接词来表达容器类型 由于尊重汉语习惯 数列的下标都是从一开始的 容器类型 文言代码 JavaScript对应代码吾有一列 名之曰 甲 充 甲 以四 以二 var a a push 4 2 夫 剑 之长 sword length 夫 甲 之一 a 0 夫 玫瑰 之 名 rose name 定义函数 编辑 使用 吾有一术 进行声明 函数 文言代码 JavaScript对应代码 Python对应代码吾有一术 名之曰 大法 是术曰 是谓 大法 之术也 function f def f 使用模組 编辑 吾嘗觀 易經 之書 方悟 運 占 之義 争议 编辑此章節沒有提供參考來源 內容可能無法查證 2021年12月11日 作为一个纯中文的编译语言 文言在国内外饱受争议 多数持反对意见的人认为 这一语言因为文言文本身具备的复杂性和在现代社会的不普及性 很难收到广泛使用 会抬高中国人学习编程语言的门槛而不是降低 而持支持态度的人认为 大四学生能够吸取古籍 制作出如此完备而且系统的语言 其意志与精神令人惊叹 参考内容 编辑 文言历次发布列表 2021 11 17 原始内容存档于2021 12 03 Release 0 3 4 2020年7月29日 2022年12月19日 文言方言等事项列表 2021 11 17 原始内容存档于2021 11 17 版本0 0 2 2021 11 17 原始内容存档于2021 11 17 wenyan Esolang esolangs org 2021 09 06 原始内容存档于2021 09 06 文言文也能寫程式 中國留美大學生開發出 wenyan lang 程式語言 電腦王阿達 2020 02 04 2021 09 06 原始内容存档于2021 12 11 中文 繁體 文言文也可以用來寫程式 電子工程專輯 2020 02 13 2021 09 03 原始内容存档于2021 12 11 中文 繁體 World s First Classical Chinese Programming Language IEEE Spectrum 2020 01 31 2021 09 03 原始内容存档于2021 11 17 英语 大四学生发明文言文编程语言 设计思路清奇 腾讯云 2021 09 06 原始内容存档于2021 12 11 Charles Q Choi World s First Classical Chinese Programming Language IEEE Spectrum 2020 01 31 2021 12 11 原始内容存档于2021 11 17 英语 GitHub wenyan lang wenyan 文言文編程語言 A programming language for the ancient Chinese GitHub 2021 09 03 原始内容存档于2021 10 13 英语 文言阴符 wenyan lang操作指南 2021 12 20 原始内容存档于2021 10 11 文言0 0 2指南 Wenyan lang esoteric codes 2020 11 12 2021 09 06 原始内容存档于2021 10 14 英语 取自 https zh wikipedia org w index php title 文言 编程语言 amp oldid 70958752, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。