wenyan-lang/wenyan

wenyan编程关键词构造的个人看法

konggujushi opened this issue · 5 comments

文言文的范畴:

  • 只要不是白话,表述高效而精准到位才是文言文(中文)应有之特点;
  • 要历史地而又发展地看待文言文。请思考:秦始皇统一文字之时,究竟什么方案或者说有没有应该、如何确定文字方案才是最佳最优选择?国共简化文字的尝试又有什么现成的或最佳的方案?后人该不该、该如何发展人类硕果仅存的真正意义上的文字?
  • 以wenyan为例,当前方案是否是唯一乃至最佳的选择?

wenyan编程关键词构造的其它可能:

  • 至少在文言表达可选方案中,尽可能简练是应该的:不至于源码中的关键词语句太过冗长,以至于有喧宾夺主之感,编码效率也是不够理想。如:
吾有一數。曰三。名之曰「甲」。
為是「甲」遍。
	吾有一言。曰「「問天地好在。」」。書之。
云云。

可否改成:

整数三。曰以「甲」。
终于「甲」。
        文曰「「問天地好在。」」。显之。
遍之。
  • 未必成熟的看法,还有:
吾有一術。名之曰「埃氏篩」。欲行是術。必先得一數。曰「甲」。乃行是術曰
……
吾有三言。曰「「與君」」。曰「酒數」。
		曰「「杯酒。可以窮歡宴。綠酒一杯歌一遍。」」。
……

多参数皆需人工指定参数数量(本质是定义匿名数组吧),是否有改进的必要?如:

術曰「埃氏篩」置以:实数曰「甲」。实数曰「乙」。为参。
……
组:曰「「與君」」。曰「酒數」。曰「「杯酒。可以窮歡宴。綠酒一杯歌一遍。」」。显之。
或:
组:曰「「與君」」。曰「酒數」。曰「「杯酒。可以窮歡宴。綠酒一杯歌一遍。」」。曰以「甲」。显「甲」。
……

向人类硕果仅存的真正意义上的文字致敬!向该项目的所有贡献者致敬!也请见谅!

文言文的精炼特点有很多表现,比如用单字表示一个动作🤔我的想法是这样的:

数三曰「甲」。
数零曰「乙」。
文「敬天地」曰「丙」。
若「乙」小于「甲」恒
    书「丙」。
    「乙」加一。
之

或者

数「甲」为三。
数「乙」为零。
文「丙」为「敬天地」。
若「乙」小于「甲」恒
    书「丙」。
    「乙」加一。
之

用单字“数”来表示声明一个数字,“文”表示声明一个字符串,“为”表示赋值,“书”表示打印到控制台。

若...恒...之的结构来表示条件循环结构(类似于while(...){...}的结构),三个单字分别表示判断、循环、语义块结束。

分支结构可以用若...则...否则...若...则...否则若...则...否则若....则...否则...if (...) {...}else if(...) {...} else if(...) {...} else {...})。

然后可以编译成(还可以编译成typescript代码):

var 甲 = 3;
var 乙 = 0;
var 丙 = '敬天地';
while(乙 < 甲){
    console.log(丙);
    乙 += 1;
}

另外其实在使用现代字符、词汇的时候可以更大胆一些🤔

比如用“〇”代替“零”,用简体字这种。

我很尊敬文言编程这个概念,不过语法确实太啰嗦了。
特别是 吾有一數。曰三。名之曰「甲」。 这里赋值和命名都用了 ,感觉不是很清晰。
上面两位的思路我觉得都是很好的方向。

个人认为最好的写法是关键字全部两个字以内,否则不具备实用能力。

并且由于中文的多音字和中英文输入法切换,可能需要辅助插件才能解决这个问题。输入如果通过字形输入法会更好,比如五笔输入法,不基于拼音,不过这个会加剧开发人员学习成本。

中文编程,依然任重道远。

此处是随便想象的一段伪代码,语法类似于 Python 格式与 Java 声明格式。


数 A = 3
数 B = 4 // number
辑 旗帜 = 假 // bool
文 测试 = 空 // string
数[] 测试数组 = [1,2,3,4,5,6,7,8,9]

// if
若 A > B
    输出 A
则
    输出 B

// while
循 A != B
    A += 1

// 数组循环
循 i=0; i<测试数组.长度; i++
    输出 测试数组[i]
    
// 类定义
类 管理员 继 用户 // class admin extend user
    公开 文 用户名     // public username:string
    公开 辑 是否管理 // public  isAdmin():bool
    
    函数 下线(数 下线时间戳) // function xx(time:number)
        输出 “用户${本体.用户名}于${下线时间戳}下线”
 
// 中文的一大优势就是每个字都有单独的意思,不像字母脱离上下文就失去了意义。
// 所以很多事情,都可以通过简单约定实现关键字全部为一个字,并且很容易成为助记符。

我认为不要一味的放弃字母和计算字符,因为在数学领域,这些都是通用的,不需要非得用中文表示大小(如:大于,小于)。

贊同,漢字的優勢和字母的優勢要結合,兼容并包,利用好各自優勢,結合一下。

@unitwk 你指望它实用么? 想多了. 这个本来就是"玩"的, 趣味性为主.