Redian新闻
>
中文编程语言——青语言开源发布

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

公众号新闻

出品 | 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/qingyuyan
https://gitee.com/NjinN/Qing
https://qingyuyan.cn/

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


往期推荐



Rust内部大乱斗不休止

Chrome将引入无边界模式

全网最抽象编程语言:内置“典”、“蚌”特性



这里有最新开源资讯、软件更新、技术干货等内容

点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
百度推出AI编程助手 "Comate":覆盖30多种编程语言又一个中文编程语言发布:青语言清明节2023 年需求最大的 8 种编程语言:PHP 强劲,C/C++ 需求放缓百度智能云推出代码助手 Comate,覆盖 30 种编程语言,正式开放邀测正在诞生的五种编程语言多编程语言代码生成神器 CodeGeeX,编码效率提升十倍!Nim v2.0正式发布,命令式编程语言何同学是爱迪生和特斯拉的合体,让飞碟在B站首先飞起来终身仁慈独裁者、Python之父龟叔,曾被认为最不可能发明自己的编程语言直连Colab,支持20种编程语言:谷歌版ChatGPT代码水平反杀了?比Python快35000倍!LLVM&Swift之父宣布全新编程语言Mojo:编程被颠覆了2023年需求最大的8种编程语言:PHP强劲,C/C++需求放缓BASIC 与 FORTRAN 77:比较过去的编程语言 | Linux 中国一次电梯故障,“逼得”这个程序员在 29 岁时写出了一种编程语言真实的编程语言,游戏式学习体验,风靡全球的少儿编程游戏,暑期开团!全球超过3200万孩子都在玩的编程游戏,用“闯关”教真实的编程语言畅谈百年编程语言终身仁慈独裁者、Python 之父龟叔,曾被认为最不可能发明自己的编程语言清华系「自然语言编程神器」上新!支持100+种编程语言,效率upupLLVM&Swift之父宣布全新AI开发编程语言"Mojo",兼容Python,且快35000倍它就是比尔盖茨和 Linux 之父同时推崇的编程语言!2023 最好就业的 8 门编程语言出炉!冷却的不止季节(46)— 谜底编程语言比较:C 和 Go | Linux 中国支持80+编程语言!集成VSCode,HuggingFace代码大模型来了今年的新鲜鱼获得支持80+编程语言、集成VSCode,HuggingFace代码大模型来了Wing:人工智能时代的云开发编程语言最赚钱编程语言Zig登顶,开发者爱ChatGPT远超必应|Stack Overflow报告你的第一门编程语言是什么? | Linux 中国Mojo:比 Python 快 35000 倍的编程语言Epic CEO:元宇宙已达6亿用户,元宇宙编程语言Verse意义何在?冰雨清明今晚截团!全球超过3200万孩子都在玩的编程游戏,用“闯关”教真实的编程语言
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。