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

news2024/11/19 8:28:07

最近看到一个有意思的开源项目 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1899951.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++:类的成员属性,公有,私有,保护

在C中级别,类的成员属性分为三种访问控制:公有(public)、私有(private)和保护(protected)。它们用于控制类内部数据对类外部的可见性和访问权限。设置访问属性对于封装和信息隐藏至关…

Truffle学习笔记

Truffle学习笔记 安装truffle, 注意: 虽然目前truffle最新版是 5.0.0, 但是经过我实践之后, 返现和v4有很多不同(比如: web3.eth.accounts; 都获取不到账户), 还是那句话: “nodejs模块的版本问题会搞死人的 !” 目前4.1.15之前的版本都不能用了, 只能安装v4.1.15 npm instal…

Beats:使用 Filebeat 从 Python 应用程序中提取日志

本指南演示了如何从 Python 应用程序中提取日志并将其安全地传送到 Elasticsearch Service 部署中。你将设置 Filebeat 来监控具有标准 Elastic Common Schema (ECS) 格式字段的 JSON 结构日志文件,然后你将在 Kibana 中查看日志事件发生的实时可视化。虽然此示例使…

SCI二区TOP|麋鹿群优化算法: 一种新颖的受自然启发的元启发式算法

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2024年,SO Oladejo受到麋鹿群的繁殖过程启发,提出了麋鹿群优化算法(Elk herd optimizer, EHO)。 2.算法原理 2.1算法思想 EHO灵感来自麋鹿…

Win11右键默认显示更多选项的方法

问题描述 win11系统默认右键菜单显示选项太少,每次需要点一下“显示更多选项”才能得到想要内容。比方说我用notepad打开一个文档,在win11上要先点一下"显示更多选项“,再选择用notepad打开,操作非常反人类。 Win11右键默…

FreeRTOS 任务

FreeRTOS使用多任务完成功能,首先要了解任务的基本知识。 裸机编程中,单任务系统的编程方式,即裸机的编程方式,这种编程方式的框架一般都是在 main()函数 中使用一个大循环,在循环中顺序地调用相应的函数以处理相应的…

【matlab】分类回归——智能优化算法优化径向基神经网络

目录 径向基(Radial Basis Function, RBF)神经网络 一、基本概念 二、网络结构 三、工作原理 四、学习算法 五、优点与应用 六、与BP神经网络的比较 智能优化算法 常见的智能优化算法 灰狼优化算法(Grey Wolf Optimizer, GWO&#…

万界星空科技MES系统中的排版排产功能

在当今高度竞争的市场环境中,企业对于生产管理的效率和质量要求日益提高。作为智能制造的重要组成部分,制造执行系统(MES)以其强大的功能,在提升企业生产能力方面发挥着不可替代的作用。万界星空科技作为行业领先的智能…

eclipse ide中文件编码的修改,解决中文乱码的问题。

1、先上一张图: 记得之前设置过,但是稍微一变,环境编码又到了ISO-8859-1了,然后就出现了乱码。 2、设置eclipse的编码: Preferences--General -- Content Types -- Text -- Java Properties File -- Default encoding…

昇思25天学习打卡营第18天 | 基于MobileNetv2的垃圾分类

内容介绍: MobileNet网络是由Google团队于2017年提出的专注于移动端、嵌入式或IoT设备的轻量级CNN网络,相比于传统的卷积神经网络,MobileNet网络使用深度可分离卷积(Depthwise Separable Convolution)的思想在准确率小…

node.js外卖小程序-计算机毕业设计源码81838

摘要 自从计算机发展开始,计算机软硬件相关技术的发展速度越来越快,在信息化高速发展的今天,计算机应用技术似乎已经应用到了各个领域。在餐饮行业,除了外卖以外就是到店里就餐,在店里就餐如果需要等待点餐的话&…

complex复数库学习

此头文件是数值库的一部分。本篇介绍complex的基本用法。 常用的API如下: 运算 real 返回实部 (函数模板) imag 返回虚部 (函数模板) abs(std::complex) 返回复数的模 (函数模板) arg 返回辐角 (函数模板) norm 返回模(范数)的平方 (函数模板) conj 返回复共轭 (函…

开启视频创作新篇章!腾讯发布MimicMotion:单张图像+简单姿势,瞬间“活”化视频。

腾讯和上交发布了一个根据图片生成跳舞视频的项目MimicMotion。效果同时支持面部特征和唇形同步,不止可以搞跳舞视频,也可以做数字人。 MimicMotion方案优化的内容有: 引入基于置信度的姿态引导机制。确保生成的视频在时间上更加连贯流畅。 …

Python爬虫教程第1篇-基础知识

文章目录 什么是爬虫爬虫的工作原理用途搜索引擎爬虫Robots协议HTTP的请求过程URL的含义HTTP常见请求头爬虫常用的技术 什么是爬虫 信息的交互是通过web网页、或者移动端等不同的客户端端形式进行交互,这个过程是一个人与网路正常的交互行为。而爬虫可以用来模拟人…

二维树状数组区域查询

落谷4514 过关代码如下 #define _CRT_SECURE_NO_WARNINGS #include<bits/stdc.h> using namespace std; //#define int long longconst int N 2050; int t1[N][N], t2[N][N], t3[N][N], t4[N][N]; int lowbit(int x) { return x & (-x); } int n, m; void update(…

将循环转化为递归的三种方法,求1+2+3……+n等差数列

解法一&#xff1a;使用公共变量s&#xff0c;递归循环1~n加到s上 #include<bits/stdc.h> using namespace std; int n,s; void fun(int i){if(i<n){ssi;fun(i1);}}int main(){cin>>n;fun(1);cout<<s;return 0; } 解法二&#xff1a;通过层层累加&#x…

Vue的民族民俗文化分享平台-计算机毕业设计源码22552

基于Vue的民族民俗文化分享平台设计与实现 摘 要 本文介绍了一种基于Vue.js前端框架和Express后端框架的民族民俗文化分享平台的设计和实现。该平台旨在通过线上方式&#xff0c;促进民族民俗文化的传播与分享&#xff0c;增强公众对多元文化的了解和认同。 平台为普通用户提供…

如何第一次从零上传项目到GitLab

嗨&#xff0c;我是兰若&#xff0c;今天想给大家说下&#xff0c;如何上传一个完整的项目到与LDAP集成的GitLab&#xff0c;也就是说这个项目之前是不在git上面的&#xff0c;这是第一次上传&#xff0c;这样上传上去之后&#xff0c;其他小伙伴就可以根据你这个项目的git地址…

L1218-L5298清零软件使用图解

清零前请取消打印任务&#xff0c;打印机用USB线接电脑并开启 双击[Resetter.exe]启动软件,点击[Select],选择Port打印机型号&#xff0c;然后点[OK]&#xff0c;如图。 [如果port下拉列表中找不到你的打印机&#xff0c;请更换USB接口&#xff0c;并重新开打印机重试。] 2.…

C语言自定义类型——联合体、枚举

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、联合体&#xff08;一&#xff09;、联合体的声明&#xff08;二&#xff09;、联合体的特点&#xff08;三&#xff09;、联合体大小的计算&#xff01;&a…