电脑编程的转化能力 你也可以为文言文编程!
教育专业 专家分享 教育传媒 电脑编程 文言文 Java 物件导向程式语言 Hello World 编程 文学编程是近年学界的热门话题, 我们一般都会选择学习C 语言、Java 或 Python等常用的物件导向程式语言(Object-oriented programming)。最近,国内有一位名为Lingdong Huang 的软件工程师,开发了一种以文言文编写的编程语言,一夜间成为网络热话!文言文程式语言让编程课变得优雅,同时亦可考验一下我们在编程语言之间的转化能力。
首先,让我们先看看Hello World写法:
吾有一数。曰三。名之曰「甲」。为是「甲」遍。 吾有一言。曰「问天地好在。」。书之。云云。
当我们将它翻译为JavaScript代码:
var n = 3;for (var i = 0; i < n; i++) { console.log(" 问天地好在。");}
其输出是:
问天地好在。问天地好在。问天地好在。
Hello World写法不难明白,至于其他程式码,大家又看得明白吗?
文言文编程 | JavaScript |
吾有一数。曰三。名之曰「甲」。 | var a = 3; |
吾有一爻。曰阴。名之曰「乙」。 | var b = false; |
吾有一列。名之曰「丙」。 | var c = []; |
加一以二。 | 1+2 |
除十以三。所余几何。 | 10%3 |
以下是以文言文编写的「乘算口诀」,大家看看当中的语法是否与中国语文科所学的「之」、「乎」、「者」、「也」同出一辙呢?
如果大家细心看看编码,不难发现「若」其实代表着if,「若非」代表else if。不过在文言文中,我们不会用括号来代表回圈的运算范围,反之我们会在结尾写上「也」、「云云」等作结。如果大家想知道上述文言文编码的输出和有关编码的Javascript翻译本,可扫描右方QRCode了解详情。
这个文言文编程虽有别于我们在常用的Pascal、C、Java、JavaScript或Python,但背后基本的逻辑推理架构与演算法其实是共通的,因此我们若精通一种程式语言后,学习另一个程式语言的难度通常不会太高。当然,若在课程上教授尚未精通任何一个程式语言的同学,再加上文言文,似乎老师要再努力一点了!
梅志文
香港电脑教育学会