qq网名繁体字带符号、qq网名繁体字带符号 女生?
编程的初学者们一定会纳闷:为什么编程语言大都是英文的呢?有没有能用我们都能看懂的中文就能写代码的方式呢?中华文化博大精深,如《九章算术》这样的典籍,就能够用古老的文言文,简洁而又优雅地描述复杂的数学问题,那么,是不是也可以用文言文来描述计算机程序呢?Wenyan (文言),就创新性地使用中文文言文设计了一门编程语言,以类似于古文典籍的方式,编写计算机程序。
Wenyan
简介
Wenyan 文言,是 wenyan-lang 组织在 Github 上开源的中文文言文编程语言,目前版本为 v0.3.4,仓库位于 。
Wenyan(文言)是一门图灵完备的计算机编程语言,语言字符集基本由中文和中文符号组成,使用古汉语文言文的方式表示程序逻辑,使用符合古汉语语法的自然语言处理程序。Wenyan 可以编译成 JavaScript、Python 或 Ruby 语言,语法简单,通过几个例子即可快速入门。Wenyan 还提供了在线 IDE,以及主流编辑器的插件,如 VsCode、Vim、Sublime Text 等,开发十分方便。
Wenyan
使用
Wenyan 提供了使用 JavaScript 编写的编译器,使用 NPM 安装:
npm install -g @wenyan/cli
安装完成后,可以在命令行运行例子:
wenyan example
上述命令会运行 ,输出
問天地好在。
Wenyan 还提供了在线 IDE,方便尝试使用。
Wenyan
我们来看 Wenyan 语言的简单例子:
吾有一數。曰三。名之曰「甲」。
為是「甲」遍。
吾有一言。曰「「問天地好在。」」。書之。
云云。
你没有看错,以上的确是一个可运行的代码脚本。全文使用中文(繁体)和中文标点符号,十分接近实际的古文。粗略地理解文言文字面意思,就是说:有一个数字,命名为「甲」,数值为 3;重复三遍,书写 「問天地好在。」这一句子,然后结束。上述 Wenyan代码等价于以下的 JavaScript 代码:
var n = 3;
for (var i = 0; i < n; i++) {
con("問天地好在。");
}
把上述的 Wenyan 代码保存为 ,运行 wenyan ,输出:
問天地好在。
問天地好在。
問天地好在。
标点符号和换行都是可选的(就像古汉语中文字是连续的),所以上面的代码等同于:
吾有一數曰三名之曰「甲」為是「甲」遍吾有一言曰「「問天地好在」」書之云云
作为一门图灵完全的计算机语言,Wenyan 同样拥有许多计算机语言的特性。Wenyan
- 动态类型语言,基本类型包括:数字、布尔、字符串、列表等
- 支持变量定义和赋值
- 支持流程控制,拥有等价于其他语言中的 if、for、while、break 等语法
- 支持运算,包括数学计算、逻辑操作 等
- 包括复合数据结构,包括数组和对象
- 拥有函数、模块导入、宏、错误处理、注释等
我们来看具体的语法。变量定义,都以 “吾有...” 的格式定义
吾有一數。曰三。名之曰「甲」。
类比 JavaScript 的
var a = 3;
流程控制 if ,则用 “若 ... 乃得” 的形式
若三大於二者。乃得「「想當然耳」」也。
类比 JavaScript 的
if (3>2){ return "of course"; }
数学运算,则跟日常用语相似:
加一以二。乘其以三。
等价于 JavaScript 的
(1+2)*3
我们来看稍微复杂一些的 Wenyan 代码。以下的代码,实现了一个计算斐波那契数列的函数,并计算斐波那契数列的第 12 位:
吾有一術。名之曰「斐波那契」。欲行是術。必先得一數。曰「甲」。乃行是術曰。
若「甲」等於零者乃得零也
若「甲」等於一者乃得一也
減「甲」以一。減「甲」以二。名之曰「乙」。曰「丙」。
施「斐波那契」於「乙」。名之曰「丁」。
施「斐波那契」於「丙」。名之曰「戊」。
加「丁」以「戊」。名之曰「己」。
乃得「己」。
是謂「斐波那契」之術也。
施「斐波那契」於十二。書之。
代码中,使用了 “吾有一術” 的形式定义函数,实现了递归形式的斐波数列计算函数。
我们再来看更为复杂的代码,使用 Wenyan 实现快速排序算法:
吾有一術。名之曰「快排」。欲行是術。必先得一列。曰「甲」。乃行是術曰。
若「甲」之長不大於一者。
乃得「甲」
也。
吾有三列。名之曰「首」。曰「頷」。曰「尾」。
夫「甲」之一。名之曰「甲一」。
充「頷」以「甲一」。
夫「甲」之其餘。名之曰「甲餘」。
凡「甲餘」中之「丁」。
若「丁」小於「甲一」者。
充「首」以「丁」。
若非。
充「尾」以「丁」
也。
云云。
施「快排」於「首」。昔之「首」者。今其是矣。
施「快排」於「尾」。昔之「尾」者。今其是矣。
銜「首」以「頷」以「尾」。名之曰「乙」。
乃得「乙」。
是謂「快排」之術也。
吾有一列。名之曰「己」。
充「己」以五。以三。以二十。以八。以三十五。以七百。
施「快排」於「己」。書之。
上述代码,实现了快速排序算法,并对数组 [5, 3, 20, 8, 35, 700] 进行排序。
Wenyan
总结
Wenyan 文言,创新性地使用中文文言文设计了一门图灵完全的编程语言,以类似于古文典籍的方式,编写计算机程序,像我们展示了文言文的简洁优雅,和强大的表达能力。诚然,Wenyan 基本难以作为一门在实践中应用的通用编程语言,但其不失为计算机语言领域的一个优秀项目,其接近自然语言的语法设计令人为印象深刻,展现了开发者对于计算机和传统语言文化的热爱。
Wenyan
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。