文言文不能编程乎?中国大四小哥哥曰:非也

简介: 程序员何苦为难程序员?有人开发了一种“文言文编程语言”,用文言文写的编程语言,密切遵循文言文语法和中国古典文学的基调,被评价过于硬核。

微信图片_20220107184650.jpg


乍一看让人一头雾水:文言文和编程语言,好像两不搭嘎,却好像又隐约有点关系?


这就是最近被盛传的:文言文编程语言“wenyan-lang”。GitHub上线5天时间,已经突破了6000星。


文言文也能编程?


最早的汇编语言,在普通人类看起来就是毫无意义的一堆数字,只有少数神秘的高智商天才才能看得懂。


后来编程语言逐渐的进化,现代的编程语言已经越来越接近人类的自然语言了。甚至一个非计算机专业的文科生也能看懂简单的HTML、CSS、Python等。


但无论语言怎么进化,总是逃不开英语的范围。不论是机器学习宠儿Python、“世界最好的编程语言”PHP、业界通用语言Java等等,都是英文写的。但既然编程语言叫“语言”,凭什么非得用英文呢?


此前已经有中文的编程语言问世了。相信学计算机的同学对一个叫做“易语言”的编程语言并不陌生,算是非常老牌的现代汉语编程语言了。


那么既然现代汉语可以,文言文是不是也可以呢?而且你有没有觉得,其实编程语言的感觉,和文言文有点像呢?都是用非常简短的词语来表达非常丰富的含义。


有这种迷惑想法的人还真不少,在知乎上曾经也是非常火的话题。当然,很多人可能只停留在了提出想法的阶段,从理论上讨论了到底行不行;如果行,那么怎么做,鲜有付诸行动来验证效果。而一位在卡内基梅隆大学(CMU)的大四学生则用实际行动给出了答案:可以!


一名被编程耽误的古文高手


文言文编程语言的作者名叫Huang Lingdong,是CMU一名大四学生,高中毕业于上海世界外国语中学。就是下图这位可可爱爱的男生。


微信图片_20220107184647.jpg


他不仅仅是一名计算机高材生,更是一名文艺高手,对中国历史非常着迷。他给自己这门语言写的介绍就能非常有意思:


微信图片_20220107184644.jpg


在序中,他将Golang称为鼠、Rust称为蟹、Ruby为钻、fishshell称为鱼,这类语言以快制胜;而蛇(Python)、象(PHP)、骆(Perl)、犀(JavaScript,因为 O'Reilly出版的JS书封面是一只犀牛)也是各有各的优势。


编程语言现在已经和《天宫》书中记录的星宿数量差不多了,但文言文却一直没能进入编程语言的殿堂之中。现代人早已不在使用文言文,作者认为需要做一些事情来让文言文能够更好的继续传承,而用文言编程,是他为古文做出的一大贡献。


可以看出,图中所有亮色的文字,几乎都对应的是一本书。或是神话传说、或是圣贤经典,或是编程语言,足见作者涉猎广泛、博闻强识。


文言文与NLP、图灵完备


别看用的是文言文,但绝对与时俱进!wenyan-lang有如下特性:


  • NLP共享的古文语法
  • 编译成JS或者Python
  • 图灵完备
  • 在线IDE


在线IDE长这样:


微信图片_20220107184642.jpg


很多人可能会说:右边我看起来顶多算是线性代数,左边直接跳到离散数学了是怎么回事?


别急,作者还提供了对照表。看了对照表,估计很多人可能不需要再回去学一遍文言文,就能用wenyan-lang开始写代码了。


微信图片_20220107184639.jpg


除了官方出的IDE外,还有人做了VSCode和Vim的插件,简直不要太贴心!


让文言文编程,更像文言文


文言文盛行的时代,书籍都是竖排版的,阅读方向是从右向左的。如果你是一名资深的日漫读者,应该会非常习惯于这样的阅读体验。


微信图片_20220107184635.jpg


而为了做的更极致,作者还做了一个文言文排版生成器。你可以将用wenyan-lang写的程序,直接生成为竖排版的图片。这种方式来撰写和阅读代码,是不是有一种强烈的穿越和不真实感?


这不由得让我想起了非理性四部曲。在这里,我也非常推荐大家去阅读一本书叫做《牛顿加农炮》,非理性四部曲其中之一。小说里,牛顿从一个物理学家成为一名化学家(炼金术师)。


项目地址:

https://github.com/LingDong-/wenyan-lang#features

相关文章
|
安全 物联网 网络安全
花无涯带你走进黑客世界9远控肉鸡(番外篇)
远程控制技术是黑客必学的技术之一,一台“肉鸡”的自述! 文章没有重复!!!,这是第九章的番外篇,“肉鸡”的自述!
315 0
|
自然语言处理 数据可视化 API
淘宝商品评论 API 接口:深度解析用户评论,优化产品与服务
淘宝是领先的中国电商平台,其API为开发者提供商品信息、交易记录及用户评价等数据访问服务。对于获授权的开发者和商家,可通过申请API权限、获取并解析评论数据来进行情感分析和统计,进而优化产品设计、提升服务质量、增强用户互动及调整营销策略。未授权用户可能受限于数据访问。
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
618 7
|
存储 固态存储 安全
阿里云服务器X86计算架构解析与X86计算架构云服务器收费价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中X86计算是用户选择最多的一种架构,本文将深入探讨阿里云X86计算架构的云服务器,包括其技术特性、适用场景、性能优势以及最新价格情况。
|
前端开发
ES6 如何动态加载 import
ES6 如何动态加载 import
370 1
|
资源调度 JavaScript 前端开发
「Vue3系列」Vue3简介及安装
Vue3是Vue.js框架的第三个主要版本,于2020年9月18日发布,代号为“One Piece”。Vue3在性能、体积、TypeScript支持、API设计等方面都有显著的提升和改变。
816 2
|
监控 安全 Linux
在Linux中,如何配置VPN服务?
在Linux中,如何配置VPN服务?
|
小程序 前端开发 JavaScript
微信小程序实现微信支付(代码和注释很详细)
微信小程序实现微信支付(代码和注释很详细)
|
传感器 存储 编解码
STM32入门开发: 编写DS18B20温度传感器驱动(读取环境温度、支持级联)
STM32入门开发: 编写DS18B20温度传感器驱动(读取环境温度、支持级联)
1805 0
STM32入门开发: 编写DS18B20温度传感器驱动(读取环境温度、支持级联)
|
网络协议
Tcp硬件设备数据规范
Tcp硬件设备数据规范
137 0