文言文编程语言|老外来了也得先学论语

最近看到一个有意思的开源项目 wenyan,主要功能就是使用文言文来编写代码。

按项目说明 “Wenyan” 是一种遵循中国古典文学的语法和语调的编程语言。

此外,文言的字符集仅包含繁体汉字和「」引号,确保古代中国人能够阅读。

该编程语言的文件名后缀为:.wy

按这个说法把这个编程语言穿越到古代应该会出现很多大师,搞不好孔子都能成为编程语言的缔造者。

项目开源地址:https://github.com/wenyan-lang/wenyan

另外这个语言也整了一本入门教程叫《文言陰符》,整本手册都是以文言文写成的,所以入门也是难度超高:

在线手册:https://book.wy-lang.org/

开源地址:https://github.com/wenyan-lang/book

在线文档看起来也是非常的古风,老外来学不得先从论语入门:

再来看下该语言的序:

– 夫唐、虞__之世,結繩而足治,屈指而足算。是時豈料百代之後,計算機械之巧,精於__公輸__之__木鳶,善於__武侯__之__流馬_;程式語言之多,繁若__《天官》之星宿,奇勝《山經》之走獸。,或以速稱。,各爭文采。方知__鬼之所以夜哭,天之所以雨粟。然以文言編程者 ,似所未有。此誠非文脈之所以傳,文心之所以保。嗟予小子,遂有斯志。然則數寸之烏絲猶覆於頭,萬卷之素書未破於手;一身長羈於遠邦,兩耳久曠于__雅言__。然夫文章者吾之所宿好,程式者偶承時人之謬譽。故__希孟__不慚年少,莊生__不望__無涯。乃作斯言。誠未能嘔瀝__長吉__之__心血__,亦庶幾免於__義山__之__流沫__。既成之後,復學__干將鑄劍__而自飼,越王嚐糞__而當先。自謂偶追《十書》之筆意,但恨少__八家__之淋漓。此__子山__所謂__士衡撫掌而甘心,平子見陋而固宜。然則雖實__覆甕__之質,尚存斧正之望;雖乏__呂相__之金,_易字__之渴蓋同。此亦開源之大義,吾輩之所以勉勵也。一笑。

看完,直接整不会了,我也不研究了,让 AI 翻译下内容如下:

– 在唐尧、虞舜时代,人们用结绳记事就能治理国家,用屈指计算就足够了。当时哪里能预料到百代之后,计算机技术如此巧妙,精密超过鲁班的木鸢,灵活优于诸葛亮的木牛流马;编程语言种类繁多,如《天官书》里的星宿般数不胜数,奇妙胜过《山海经》中的走兽。鼠标、蟹形、钻石、鱼形等各自以速度称雄。蛇形、象形、骆驼形、犀牛形等各争奇斗艳。这时人们才明白鬼为什么会在夜里哭泣,天为什么会降下谷子。然而,用文言文来编程,似乎前所未有。这确实不是文脉传承的方式,也不是文心保持的方法。我这个小子,遂有此志向。然而我的头上还有几寸黑发,手中还未读破万卷书;我一身长期羁留在异国他乡,两耳很久没听到雅言。然而文章是我一直以来的爱好,编程则是偶然得到了时人的错误赞誉。所以像孟子那样不愧于年轻,像庄子那样不羡慕无涯。于是写下这些话。虽然不能完全倾尽李贺的心血,但也希望避免成为李商隐那样的流言蜚语。完成之后,学习干将铸剑而自我品尝,像越王尝粪那样率先体验。自认为偶尔追随《十书》的笔意,只恨少了八大家的淋漓尽致。这就像子山所说的,陆机拍掌而甘心,扬雄见到也觉得适宜。然而,虽然作品粗糙如覆在甕上的质朴,还寄希望于斧正之人;虽然缺乏吕相的金玉,但对文字修改的渴望仍然相同。这也是开源的大义,是我们这一辈人所努力的方向。聊此一笑。


接下来看看怎么输出文言文版的 “Hello, World!”:

与以下 JavaScript 代码等价:

再来看斐波那契的实现:

编程成 JavaScript 代码如下所示:

感兴趣的,可以先使用在线测试工具试用看看:https://ide.wy-lang.org/

也可以使用以下命令安装本地编译器:

npm install -g @wenyan/cli

使用 wenyan 来执行代码文件:

wenyan examples/helloworld.wy

另外 IDE 方面大家也不用担心:

VSCode、Vim、Sublime 都有对应的插件。

VSCode 插件开源地址:https://github.com/antfu/wenyan-lang-vscode

VSCode 插件安装地址:https://marketplace.visualstudio.com/items?itemName=antfu.wenyan-lang

  • 21
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值