文言 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
文言 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
文言 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
文言 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
文言 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

文言(wenyan-lang)是一门采用文言文输入的编程语言,该语言不使用英文字符,仅包含繁体中文字符,并保留繁体引号「」。

特性

语法定义

变量

wenyan JavaScript
吾有一數。曰三。名之曰「甲」。 var a = 3;
有數五十。名之曰「大衍」。 var dayan = 50;
昔之「甲」者。今「大衍」是也。 a = dayan;
吾有一言。曰「「噫吁戲」」。名之曰「乙」。 var b = "alas!";
吾有一爻。曰陰。名之曰「丙」。 var c = false;
吾有一列。名之曰「丁」。 var d = [];
吾有三數。曰一。曰三。曰五。名之曰「甲」曰「乙」曰「丙」。 var a=1,b=3,c=5;

控制

wenyan JavaScript
若三大於二者。乃得「「想當然耳」」也。 if (3>2){ return "of course"; }
若三不大於五者。乃得「「想當然耳」」。若非。乃得「「怪哉」」也。 if(3<=5){return "of course"}else{return "no way"}
為是百遍。⋯⋯ 云云。 for (var i = 0; i < 100; i++){ ... }
恆為是。⋯⋯ 云云。 while (true) { ... }
凡「天地」中之「人」。⋯⋯ 云云。 for (var human of world){ ... }
乃止。 break;

运算

wenyan JavaScript
加一以二。 1+2
加一於二。 2+1
加一以二。乘其以三。 (1+2)*3
除十以三。所餘幾何。 10%3
減七百五十六以四百三十三。名之曰「甲」。 var a = 756-433;
夫「甲」「乙」中有陽乎。 a || b
夫「甲」「乙」中無陰乎。 a && b

容器

数组从 1 开始索引。

wenyan JavaScript
吾有一列。名之曰「甲」。充「甲」以四。以二。 var a = []; a.push(4, 2);
銜「甲」以「乙」。以「丙」 a.concat(b).concat(c);
夫「甲」之一。 a[0]
夫「甲」之其餘。 a.slice(1);
夫「玫瑰」之「「名」」。 rose["name"]
夫「寶劍」之長。 sword.length;

函数

wenyan JavaScript
吾有一術。名之曰「吸星大法」。是術曰。⋯⋯是謂「吸星大法」之術也。 function f(){...}
吾有一術。名之曰「六脈神劍」。欲行是術。必先得六數。曰「甲」。曰「乙」。曰「丙」。曰「丁」。曰「戊」。曰「己」乃行是術曰。⋯⋯是謂「六脈神劍」之術也。 function f(a,b,c,d,e,f){...}
吾有一術。名之曰「翻倍」。欲行是術。必先得一數。曰「甲」。乃行是術曰。乘「甲」以二。名之曰「乙」。乃得「乙」。是謂「翻倍」之術也。 function double(a){var b = a * 2; return b;}

Helloworld demo 

Wenyan:

吾有一數。曰三。名之曰「甲」。
為是「甲」遍。
	吾有一言。曰「「問天地好在。」」。書之。
云云。

等效 JavaScript:

var n = 3;
for (var i = 0; i < n; i++) {
	console.log("問天地好在。");
}

输出:

問天地好在。
問天地好在。
問天地好在。

同时,标点和换行符是完全可选的,与古汉语一致,上面的代码等效于:

吾有一數曰三名之曰「甲」為是「甲」遍吾有一言曰「「問天地好在」」書之云云

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (139)

加载中
下载之后该怎么用
2020/10/02 15:32
回复
举报
啥时候开发甲骨文编程
2020/06/22 12:44
回复
举报
牛逼,有没有人来开发一门甲骨文编程语言?
2020/06/11 17:52
回复
举报
牛逼大了
2020/05/30 23:41
回复
举报
厉害了!!
2020/05/06 21:43
回复
举报
看了你这个,才发现现在的编程语言都可以说设计很优美了
2020/05/06 11:04
回复
举报
兄弟,魔鬼啊
2020/05/05 21:55
回复
举报
你是天才吗
2020/05/05 21:16
回复
举报
太有意思了!希望以后可以真的跳脱JavaScript,而用文言编写,真的一目了然了!顺带一提是否考虑使用注音呢?
2020/05/05 21:08
回复
举报
此编程用于古时代-估计编程秒杀所有人。
2020/04/10 17:56
回复
举报
更多评论
发表于AI & 大数据专区
2019/12/19 08:34

文言文编程语言来了,可是好像比英文更难写了!

近日有开发者开源了一门新的编程语言,吸引了大量开发者的目光,短短几天获得了 3k+ star。 该语言名为“文言(wenyan-lang)”,这是一门采用文言文输入的编程语言,该语言不包括英文字符,仅包含繁体中文字符,并保留繁体引号「」。 先看看 Helloworld 怎么写: 吾有一數。曰三。名之曰「甲」。 為是「甲」遍。   吾有一言。曰「「問天地好在。」」。書之。 云云。 这段代码等效于以下 JavaScript 代码: var n = 3;...

106
35
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2019/03/19 22:41

org.apache.xerces.dom.ElementNSImpl.setUserData(Ljava/lang/String;Ljava/lang

HTTP Status 500 - Handler processing failed; nested exception is java.lang.AbstractMethodError: org.apache.xerces.dom.ElementNSImpl.setUserData(Ljava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object; type Exception report message Handler processing failed; nested exception is java.lang.AbstractMethodError: org.apache.xerces.dom.ElementNSImpl.setUserData(Ljava/lang/S...

0
0
发表于开发技能专区
2016/12/05 14:31

Commons Lang

Commons Lang The standard Java libraries fail to provide enough methods for manipulation of its core classes. Apache Commons Lang provides these extra methods. Lang provides a host of helper utilities for the java.lang API, notably String manipulation methods, basic numerical methods, object reflection, concurrency, creation and serialization and System properties. Additionally it contains basi...

0
0
发表了博客
2016/12/16 14:54

common-lang

StringUtils:提供了各种关于字符串操作的工具类 [API地址](http://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringUtils.html)

0
0
发表于大前端专区
2016/09/09 16:51

lang属性

lang属性可指定标签范围内元素的语言种类。<html lang="en"> lang="en"——英语 lang="zh"——中文 lang="ja" ——日语 http://www.monmonkey.com/rumenpian/html/attr/lang.html

0
0
发表于服务端专区
2016/11/06 15:39

apache-commons-lang

####This Lang API is an extension to the java.lang package. https://wiki.apache.org/commons/Lang ###Lang aims to provide: - Comprehensive String handling utilities - Enumerated types (pre JDK 1.5) - Nested exceptions (pre JDK 1.4) - Builders to create hashCode, equals, toString and compareTo methods - Utilities for Object, Date and Numbers 这里的工具类太多了,主要就是各个对象的基本操作. ###依赖...

0
1
发表了博客
2014/03/25 11:12

org.objectweb.asm.ClassVisitor.visit(IILjava/lang/

今天为java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang /String;[Ljava/lang/String;Ljava/lang/String;)V错误真花了我大量的时间去找这个问题,在网上也找到了 不少的解决的办法,但不知道为什么不能解决我的问题,也不知道是不是我用的工具的问题哟,不过综合找到的现在终于找到了,虽然花了不少的时间,但还是很高 兴,本来不想把这个问题写上来的,因为网上有太多的解决...

0
0
2016/12/15 21:58

common-lang和beanutil

俗话说工欲善其事必先利其器,好的工具类可以节省我们额外早轮子的时间。 有时候为了优化性能,对字符串的处理尽量避免正则表达式的使用,可以考虑commons-lang,主要是针对string操作的工具类。 版本:commons-lang3-3.1.jar Apache Commons包估计是Java中使用最广发的工具包了,很多框架都依赖于这组工具包中的一部分,它提供了我们常用的一些编程需要,但是JDK没能提供的机能,最大化的减少重复代码的编写。 1、字符串的空判...

0
2
发表了博客
2019/01/30 13:22

Ljava/lang/Float

使用postMan调试接口报错:Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: com.dongbao.model.org.OrgAnalysisManager.getDiffValue()Ljava/lang/Float 在后台是可以查出数据,但是返回时报错,是因为返回的json格式不支持Float类型,改成double就可以了 来自为知笔记(Wiz)...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2020/05/08 08:44

有奖征文活动结束,我们选出了这几篇文章

在首期「OSC 开源软件趋势榜」结果出炉,又经过大半个月的征文后,我们选出了以下几篇文章,先来与大家分享看看。 征文活动说明及奖品详情见:https://www.oschina.net/question/2918182_2315921 本文评论区加送奖品,可下拉至文末查看。 一等奖 题目:为二次开发而生的流媒体服务器框架 作者:@一个灰 相关软件:Monibuca 文章节选: 在发布者的定义中有一个 InputStream 的结构体,用来和房间进行互操作。所有具体的发布者都应...

8
3
发表了问答
2020/04/15 07:59

OSCHINA 首期有奖征文活动来啦!

首期「OSC 开源软件趋势榜」评选告一段落,参与者用投票的方式选出了自己想要更进一步了解的项目。 那么,根据最终投票结果,OSCHINA 社区将针对票数前十名的软件开展有奖征文活动。大家可以任选其中一款软件畅所欲言,可以是对该软件的看法、技术分析、项目经验、使用感受,或是其它相关技术分享等等。 我们希望能够通过这种方式,让更多好的开源项目进入公众视野,并与大家一同探讨开源软件的更多可能性。 参赛要求 围绕首期「...

12
6
发表了问答
2020/04/16 10:25

問天地好在与HelloWorld,理工男可以骚起来吗|征文

疫情之下,人们说“武汉加油,武汉挺住!”,没什么问题。直到看到日本发来的援资上写着”岂曰无衣,与子同裳 “ “青山一道同雲雨,明月何曾是两鄕”,才发现同样是讲话,有些话听起来怎么就这么有学问,文字语言的艺术之美如同天上的星辰,一下子闪耀了起来。 作为口号,加油直抒胸臆,然而却是脱口而出,入耳即化,没有“ 如切如磋,如琢如磨 ”的精细,经不得细品。 很自然的,我想起了以前用Java 现在用Python写的第一个代...

5
1
发表了问答
2019/12/22 08:09

【一周】统一操作系统、文言文编程语言、IntelliJ平台2020年roadmap

回顾一周社区热门资讯 第【五十三】期:20191214-20191220 点击相应标题,跳转阅读全文。 统一操作系统 UOS 龙芯版上线 2020 年,数据中心将更加依赖开源、边缘计算和云 数据中心是业务的心脏,没有数据中心,IT 就无法提供任何级别的功能、可靠性和敏捷性。2020 年的数据中心会是什么样子? Google 停止推出适用于 Android 的 Chrome 79 Chrome 79 的更新将清除本地存储和 websql。 Windows、WSL 与 Linux 的性能对比 PowerShe...

3
5
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
139 评论
149 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部