摘要:natsuakane 是一名日本的中学生(13 岁),他创造了一门类似中文的编程语言 Wei-lang(https://github.com/natsuakane/Wei-lang)。用他自己的日式汉语来介绍就是“我制作偽中国語之機械言語”。
natsuakane 是一名日本的中学生(13 岁),他创造了一门类似中文的编程语言 Wei-lang(https://github.com/natsuakane/Wei-lang)。用他自己的日式汉语来介绍就是“我制作偽中国語之機械言語”。
Wei 是“伪”的拼音,lang 是 language 的缩写。下面我们就通过一段计算斐波那契数列第 n 项的代码,来看看 Wei-lang 的特点。
関数「普伊墓那値」引数「数」行「結果」是「数」「数」大一場合「結果」是「普伊墓那値」(「数」引二)足「普伊墓那値」(「数」引一)「結果」「表示」(「普伊墓那値」(「入力」(『整数』)))「表示」(「新行」)将这段代码存储到文件 fibonacci.wei 中,然后用 weilang 命令解析这个文件,并输入 10,
$ ./weilang fibonacci.wei1055这段代码输出了 55,这正是斐波那契数列的第 10 项。
Wei-lang 与主流编程语言最大的不同点就是代码中充满了汉字,所有标点符号也都是全角符号(使用半角空格作缩进反而会出错)。
若将这段代码翻译成 Python 代码,大概是这样,
我们注意到,在 Wei-lang 的代码中,有些汉字括在了「」之中。这些汉字构成了函数、参数和变量的名字。
「数」相当于 Python 代码中名为num的参数;「結果」相当于名为result的局部变量。「表示」和「入力」后面都带有,应该不难猜出它们是函数名。“表示”和“入力”这两个日文单词的含义分别是“显示”和“输入”,所以对应print和input函数。另外,“行”字可以拆开成“彳”“亍”(chì chù)两个字,其实这两个字本身就有左右的含义。彳表示左步;亍表示右步, 彳亍合在一起指缓步慢行。这两个字曾用于翻译量子力学中也有左右之分的狄拉克符号。
虽然作者 natsuakane 自称 Wei-lang 是类似中文的编程语言,但很多汉字的用法并不符合汉语习惯,所以更准确的说法可能是"Wei-lang 是一门汉字编程语言”。
Wei-lang 是用 C++实现的,源代码只有不到 1800 行。尽管代码量不大,Wei-lang 依然具备了基本的编程语言功能,而且采用了编译原理中的 LL(1) 自顶向下分析法,并利用了多态、组合设计模式等编程技巧,很难相信这些代码竟出自一位中学生之手。
natsuakane 曾表示,思考如何才能写出像中文一样的代码很有意思。
来源:水潇教育