热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

惊爆:「文言文」编程语言,可谓年度最骚语言也

loonggg读完需要4分钟速读仅需2分钟昨天在浏览GitHub的时候,看到了一个异军突起的repo,一周之内收获近万星的star,目前有9k+的star数量。为什么这么受欢迎呢?

loonggg

读完需要

4

分钟

速读仅需 2 分钟

昨天在浏览 GitHub 的时候,看到了一个异军突起的 repo ,一周之内收获近万星的 star ,目前有 9k+ 的 star 数量。

为什么这么受欢迎呢?原来,这是一门「文言文」编程语言。是的,你没有看错,一个大学生开源了一个文言文编程语言。

惊爆:「文言文」编程语言,可谓年度最骚语言也

曾几何时,还记得第一个中文语言的编程语言:「易语言」吗?虽然易语言没有起来,但是易语言的诞生目的就是简单,上手快,学习来方便。

可是,这个「文言文」编程语言的横空出世,能够让我们大家头疼,在大多数人看来,文言文比英文还难学。用这个语言编程,能够让我们回想起,初中,高中学习文言文的痛苦经历。哈哈……

关键是这门文言文的编程语言,是一位卡内基梅隆大学(CMU)的大四学生开发。利用 NLP 的一些技术,将文言文程序语法转换到 Javascript 或 Python 运行,并不是简单的将程序中的英文字符换成了中文。

我们一起看简单看一下作者给出的例子:

惊爆:「文言文」编程语言,可谓年度最骚语言也

同样是在控制台循环输出 3 遍:問天地好在。第一种方式用的是文言编程语言,而 JS 是下面那种。是不是看起来文言文更难呢?可能大家对于 JS 太熟了,不知道文言文编程的语法。那么作者是如何定义变量,流程控制,运算和容器,函数的呢?如下:

惊爆:「文言文」编程语言,可谓年度最骚语言也

惊爆:「文言文」编程语言,可谓年度最骚语言也

惊爆:「文言文」编程语言,可谓年度最骚语言也

大家看一下,上面分别是 wenyan(文言文)语法和其对应的 JS 语法。通过上述的定义我们可以看出,这个同学简直就是语法天才。简直让你佩服的五体投地。

比如:

加一以二。

是 1+ 2 的意思,而

加一於二

是 2 + 1 的意思。

大家可以仔细看看作者关于变量,函数,流程控制的定义,绝对是个语法天才。

最重要的是开源的这个作者,不仅仅把源代码开源了,还有编译器,更甚者,都给大家提供了一个在线的 IDE 。你们感受一下:

惊爆:「文言文」编程语言,可谓年度最骚语言也

在线 IDE 地址:http://wenyan-lang.lingdong.works/ide.html

为了显得高大上,更接近历史的气息,作者还提供了渲染器。通过 src/render.js 脚本文件能把 wy 代码格式化输出成为古汉语书籍样式(历史印刷书籍)的矢量图(SVG)。同时它还可以将生成的 SVG 文件解析回原始文言代码。下图是用 wenyan 编写的 Universal Turing Machine 渲染而成。

惊爆:「文言文」编程语言,可谓年度最骚语言也

看完,是不是被惊讶到了呢?开源的这位作者技术确实牛逼啊!

还不赶紧去支持摩拜一波?

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

文言文编程语言,可谓年度最骚语言也,但是我感觉也是目前年度最难编程语言。哈哈……

公众号对话框,回复关键字 “1024”

免费领取程序员赚钱实操教程

- 长按识别关注 -

惊爆:「文言文」编程语言,可谓年度最骚语言也

技术,职场,产品,思维

行业观察


推荐阅读
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • position属性absolute与relative的区别和用法详解
    本文详细解读了CSS中的position属性absolute和relative的区别和用法。通过解释绝对定位和相对定位的含义,以及配合TOP、RIGHT、BOTTOM、LEFT进行定位的方式,说明了它们的特性和能够实现的效果。同时指出了在网页居中时使用Absolute可能会出错的原因,即以浏览器左上角为原始点进行定位,不会随着分辨率的变化而变化位置。最后总结了一些使用这两个属性的技巧。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • SpringMVC工作流程概述
    SpringMVC工作流程概述 ... [详细]
author-avatar
阳光映像YGYX
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有