中文编程语言——青语言开源发布

2023-06-22 08:58:07 来源:猿大侠

出品| OSC开源社区(ID:oschina2013)

长久以来,中文编程一直是开发者社区中争议不断的热点问题。一部分人认为,编程语言是符号化的语言,没有中英文之分,所以中文编程没有意义。


【资料图】

而另一部分人则认为跨语种学习编程,存在事实上的困难,提高了学习门槛。这样的讨论在社区中一直热度不减,成为经久不衰的话题。

虽然关于中文编程有诸多争议,但这并没影响大家对其投入热情。最近又出现了一款新的开源中文编程语言——青语言。

据介绍,青语言是一门面向青少年、儿童和非专业人士的中文编程语言。它完全从零开始实现了代码文本到语法树的构建,语言内核参考了 Lisp,语法上主要参考了 JavaScript,以 C# 实现,运行在.NET 平台上,并使用动态链接库 DLL 的方式扩展功能。

青语言基础语法概览

第一个程序

@显示、“你好,编程世界”

注释

从分号到行末的都是注释,注释的内容不会作为代码执行,以两个;;开头是多行注释,直到另一个;;

;这是一行注释,这里的内容作为对代码的说明,不会被执行;;    这是一段注释    支持多行注释    这部分内容都不会执行;;
数据类型
空     ;空类型,表示不存在或者值为空真     ;逻辑类型,表示逻辑真假     ;逻辑类型,表示逻辑假0xFF   ;二进制类型,表示二进制数据123    ;这是整数4.56   ;这是小数“这是一段字符串”    ;用中文双引号括起来的部分是字符串
赋值
#甲 :123      ;用冒号表示在当前语境给变量#甲绑定值123 #乙 = 4.56      ;用等于号表示顺着语境链向上查找变量#乙并绑定值4.56
取值

直接调用变量名,解释器会根据当前语境向上查找变量对应的值,并将值返回,例如经过上面的赋值之后,我们输入

#甲

将会看到这样的输出

>> 123

这里,前面的 >> 是输出提示符,后面的 123 是变量对应的值。

示例代码

贪吃蛇。该示例是一个图形界面程序,只能在青编辑器中运行。

@是墙 = @【#序】{    #序 小于 20    或    #序 大于等于 380    或    #序 模 20 等于 0    或    #序 模 20 等于 19  }@随机食物 = @【】{    #序:0    执行 {         #序 = #数学库@随机数【400】     }直到     (取反 @是墙【#序】) 且 (@查找【#蛇集合,#序】 小于 0)    返回 #序}#运行状态 = 真#蛇集合 = 【110,109,108】#食物 = 275#方向 = 2#下一方向 = 2#窗 = @生成图形、《窗口 #宽=410,#高=440,#标题=“贪吃蛇”》#单元集合=【】当 #行=0,#行 小于 20,#行 加等 1 {     当 #列=0,#列 小于 20,#列 加等 1 {        #单元:@生成图形、《面板 #宽=20,#高=20,#X=#列*20,#Y=#行*20》         @追加【#单元集合,#单元】    }}@初始化 = @【】{    当 #序:0,#序 小于 400,#序 加等 1 {        如果 @是墙【#序】{            #单元集合#序#边框色 = “#009933”             #单元集合#序#边框宽 = 2        } 否则 {             #单元集合#序#背景色 = “white”        }    }    遍历 #蛇集合 为 #序 {        #单元集合#序#背景色 = “#333333”     }    #单元集合#食物#背景色 = “Red”}@初始化【】#窗@加子集、#单元集合#窗@键盘按下命令 = @【#按键】{    如果 #按键 等于 “Up”{        如果 #方向 不等于 3 {            #下一方向 = 1        }      }再则 #按键 等于 “Right”{        如果 #方向 不等于 4 {            #下一方向 = 2        }      }再则 #按键 等于 “Down”{        如果 #方向 不等于 1 {            #下一方向 = 3        }      }再则 #按键 等于 “Left” {        如果 #方向 不等于 2 {            #下一方向 = 4        }      }        如果 #运行状态 等于 假 且 #按键 等于 “Space” {         #蛇集合 = 【110,109,108】         #方向 = 2         #下一方向 = 2         #食物 = @随机食物【】         @初始化【】         #运行状态 = 真    }}@显示窗口、#窗#定时器 = @定时任务【300,元{    如果 取反 #运行状态 {返回 空}    #头:#蛇集合#0    #方向 = #下一方向    如果 #方向 等于 1 {        #头 = #头 - 20     }再则 #方向 等于 2 {        #头 = #头 + 1     }再则 #方向 等于 3 {        #头 = #头 + 20     }再则 #方向 等于 4 {        #头 = #头 -1     }        如果 @是墙【#头】 或 (@查找【#蛇集合,#头】 大于等于 0){        #运行状态 = 假         返回 空    }        #单元集合#头#背景色 = “#333333”    @插入【#蛇集合,0,#头】    如果 #头 等于 #食物 {        #食物 = @随机食物【】        #单元集合#食物#背景色 = “Red”    }否则{        #尾 = @取出【#蛇集合,@取长度【#蛇集合】-1】        #单元集合#尾#背景色 = “white”    }            }】@启动定时任务、#定时器

运行效果:

九九乘法表:

当 #甲:1,#甲 小于等于 9,#甲 加等 1 {

#文本:“”

#乙:1

当 #乙 小于等于 #甲 {

#文本 = #文本 + #甲 + “x” + #乙 + “=” + (#甲 * #乙) + “ ”

#乙 加等 1

@显示、#文本

上文提到青语言后端使用 .NET,因此它实现了跨平台兼容,支持主流操作系统。本次开源发布即提供了各个主流平台的可执行程序,下载后可以直接运行使用。

除了桌面程序外,还提供了一个安卓端的 APP,能够实现手机上编程。

青语言项目地址:

https://www.oschina.net/p/qingyuyanhttps://gitee.com/NjinN/Qinghttps://qingyuyan.cn/

最后,如果你想了解更多中国人主导的编程语言,请查看:》

标签:

中文编程语言——青语言开源发布

2023-06-22

环球今热点:哦是什么意思翻译成中文_哦是什么意思

2023-06-22

天天快资讯:笑傲江湖之陆猴儿_笑傲之陆猴儿

2023-06-22

今日要闻!鸡蛋黄油的神奇功效与作用_鸡蛋黄油怎么熬

2023-06-22

环球热讯:向家为什么看中郭碧婷(向太为什么选郭碧婷)

2023-06-22

歼教-5

2023-06-22

巅峰赛巅峰对决怎么触发_dfsdf

2023-06-22

天天新消息丨队记:火箭立场一直坚定 不会交易格林&小贾巴里&申京等年轻核心

2023-06-22

天天观焦点:郑州四中管城校区开展端午节主题活动

2023-06-22

为Vision Pro生态铺路,苹果将升级UWB及Wi-Fi硬件|全球新消息

2023-06-21

产权转移书据所载金额指什么_产权转移书据范围 环球热讯

2023-06-21

12v万能充电器正确的使用方法(万能充电器使用方法)

2023-06-21

海口发布暴雨红色预警 今日热搜

2023-06-21

头条:大型无人机FH-98国内首次夜航转场成功

2023-06-21

二等奖中了1000多万,杭州36岁男子兴奋得睡不着,捐出2万支持青少年公益事业

2023-06-21

彩客新能源(01986)6月21日耗资约15.05万港元回购12.1万股

2023-06-21

今日讯!水先后古清风乐

2023-06-21

石油土豪79亿投资蔚来 李斌:从讨论到签署只用了3周

2023-06-21

上汽通用汽车有限公司召回部分进口及国产汽车 共计78205辆

2023-06-21

“加价神车”地位能否保住? 全新埃尔法/威尔法官图发布

2023-06-21

世界快资讯丨陕西千阳:传统香包迎端午

2023-06-21

缉毒警拿命拼出来的战绩

2023-06-21

东安2023“舜皇杯”乡村龙舟超级联赛开幕-今日讯

2023-06-21

河北新乐:飞桨逐浪赛龙舟 竞渡场上迎端午_全球观察

2023-06-21

今日播报!居间协议受法律保护吗_居间协议

2023-06-21

全球讯息:告别存储焦虑!英睿达SSD 1T仅289元

2023-06-21

隆基绿能拟发行 GDR 募资不超过 199.96 亿元 用于鄂尔多斯、马来西亚、越南三地项目扩产 世界观察

2023-06-21

2014cad不显示工具栏_cad不显示工具栏 天天快资讯

2023-06-21

环球今亮点!云顶之弈英雄之力怎么获得?云顶之弈英雄之力获取方法

2023-06-21

喉咙干有痰是怎么回事_喉咙干怎么回事

2023-06-21

Copyright ©  2015-2022 全球频道网版权所有  备案号:豫ICP备20009784号-11   联系邮箱:85 18 07 48 3@qq.com