1、说在前面
中考总分130分。其中古代诗歌默写6分,文言文阅读11分,古诗鉴赏4分。总共21分。
古代文学占17.5%
高考总分150分。文言阅读9分,翻译10分,古诗词鉴赏8分,古诗文默写8分。总共35分。
古代文学占21.3%
可见文言文是十分重要的。
然而。。。你想过用文言文编程吗???
这几年,奇奇怪怪的编程语言逐渐变多,其中一个学霸创建了一个叫文言文的编程语言,风靡github(?
2、关于wenyan语言的代码与语法
2-1、认识wenyan语言
咱们都知道,学习一门编程语言是从什么开始的??
众OIer orz :当然是 A+B~
哦,不对,学习一门语言应该先从理解这个语言的优缺点啊,基础框架啊等等(回想一下你刚开始学 C++ , Pascal的时候(那时候我C++框架默了5遍都默错))。
但是! wenyan 语言 没有框架!
wenyan就像 Pascal一样,定义好变量后就直接开始打主代码了。不会像 C++一样还有什么万能头啊,什么 STL 啊,没有这么多,简单易懂(还能提升你的文言文阅读水平)。
现在,我们要开始打主代码,我们先从最基本的 Hello world!开始吧~
wenyan打三遍Hello world! 的输出是这样的:
1 | 吾有一數。曰三。名之曰「甲」。 |
编译为Javascript
1 | var n = 3; |
编译为Python
1 | a=3 |
编译为Ruby
1 | a=3 |
自译为c/c++
1 | int n = 3; |
运行:
問天地好在。問天地好在。問天地好在。
是不是很生动?很形象?对, wenyan 就是这样!清晰易懂,代码简便……
现在开始介绍 wenyan的基本语法:
2-2、基本语法
2-2-1、定义变量
毕竟都说是文言文编程了,肯定不能出现英文字母和数字的嘛~
1 |
|
2-2-2、ture和false
true/false 分别对应 wenyan语言中的陽/陰(繁体的阳/阴),类型就是“爻”(卦符的基本符号):
1 |
|
2-2-3、if判断
作为一个编程语言怎么少了 ifi判断呢?
1 |
|
2-2-4、运算符
加减乘除一应俱全,连逻辑运算符都有!
1 |
|
2-2-5 容器类型
容器类型也支持,而且注意一下,首个下标是从一开始的。
1 |
|
2-2-6 进价语法
一些 wenyan 的进价语法。。。。。。
定义函数
wenyan:吾有一術。名之曰「吸星大法」。是術曰。⋯⋯是謂「吸星大法」之術也。
1 | function f(){...} |
定义含参函数
wenyan:吾有一術。名之曰「六脈神劍」。欲行是術。必先得六數。曰「甲」。曰「乙」。曰「丙」。曰「丁」。曰「戊」。曰「己」乃行是術曰。⋯⋯是謂「六脈神劍」之術也。
1 | function f(a,b,c,d,e,f){...} |
定义其他函数
wenyan:吾有一術。名之曰「翻倍」。欲行是術。必先得一數。曰「甲」。乃行是術曰。乘「甲」以二。名之曰「乙」。乃得「乙」。是謂「翻倍」之術也。
1 | function double(a){var b = a * 2; return b;} |
wenyan:施「翻倍」於「蒟蒻」。
1 | double(juruo); |
wenyan:吾有一數。曰五。書之。
1 | console.log(5); |
2-2-7 循环
就是那些 for , while循环之类的。(注意! 云云 为 wenyan语言循环的后面必加的东西!)
1 |
|
目前就这些了……
3、编写wenyan语言程序运行
本人是用洛谷 IDE 进行运行的,当然还有一种网站也可以实现 wenyan语言的编译运行,还可以实现 wenyan转 JavaScript和 Python的功能!(虽然我都不会……)
这个网站就是:戳这里
这里面有不少好康和好玩的东西,你也可以在这里面编译。
而且项目文件还有个脚本src/render.js,它可以把程序渲染成古代书籍的样子。
4、关于wenyan语言编程
夫唐、虞之世,結繩而足治,屈指而足算。是時豈料百代之後,計算機械之巧,精於公輸之木鳶,善於武侯之流馬;程式語言之多,繁若《天官》之星宿,奇勝《山經》之走獸。鼠、蟹、鑽、魚,或以速稱。蛇、象、駱、犀,各爭文采。方知鬼之所以夜哭,天之所以雨粟。然以文言編程者 ,似所未有。此非文脈之所以傳,文心之所以保。嗟予小子,遂有斯志。然則數寸之烏絲猶覆於頭,萬卷之素書未破於手;一身長羁于远邦,兩耳久旷于雅言。然夫文章者吾之所宿好,程式者偶承時人之謬譽。故希孟不慚年少,莊生不望無涯。乃作斯言。未能嘔瀝長吉之心血,亦庶幾免於義山之流沫。既成之後,復學干將鑄劍而自飼,越王嚐糞而當先。自謂偶追《十書》之筆意,但恨少八家之淋漓。此子山所謂士衡抚掌而甘心,平子見陋而固宜。然則雖實覆甕之質,尚存斧正之望;雖乏呂相之金,易字之渴蓋同。此亦開源之大義,吾輩之所以勉勵也。一笑。 —-Huang Lingdong(wenyan语言作者)
Huang Lingdong,来自卡耐基梅隆大学,如今大四,明年即将毕业。高中则毕业自上海世界外国语中学。
就是这个小伙子,做出了这个风靡 github的 wenyan语言!
5、写在最后
到最后,不知道大家看懂没(反正我是看懂了)。
真的是奇葩多。。。
附录:奇奇怪怪的编程语言
Esolang
Esoteric programming language,简称 Esolang,它们的设计被用于测试计算机语言设计的极限,作为一个概念的证明,或仅仅是一个玩笑。Esolang 创作者通常并不打算让它成为主流编程语言,他们几乎不会在意语言的可用性,甚至恰恰相反,会故意增加使用难度。(我介绍这个你们自己品)
比如 Brainfuck,它是在 1993 年被创造的编程语言,语法仅包含八种符号,没有任何单词,用它打印 Hello world 是这样的:
1 | ++++++++++[>+++++++>++++++++++>+++>+<<<<-] |
再比如 MarioLANG,它同样只能使用符号,需要使用形似马里奥关卡的语法来书写:
1 | ++++: > > +:+:+:+:+:+:+::::: |
Parenthesis Hell,言如其名,括号地狱,只能使用括号来书写:
1 | (()()(()()(()()()()((()()(()(()((()((()()()((()((()()()((()((((()()(()( |