長久以來,中文編程一直是開發(fā)者社區(qū)中爭議不斷的熱點問題。一部分人認為,編程語言是符號化的語言,沒有中英文之分,所以中文編程沒有意義。
而另一部分人則認為跨語種學習編程,存在事實上的困難,提高了學習門檻。這樣的討論在社區(qū)中一直熱度不減,成為經(jīng)久不衰的話題。
雖然關于中文編程有諸多爭議,但這并沒影響大家對其投入熱情。最近又出現(xiàn)了一款新的開源中文編程語言——青語言。

據(jù)介紹,青語言是一門面向青少年、兒童和非專業(yè)人士的中文編程語言。它完全從零開始實現(xiàn)了代碼文本到語法樹的構(gòu)建,語言內(nèi)核參考了 Lisp,語法上主要參考了 JavaScript,以 C# 實現(xiàn),運行在.NET 平臺上,并使用動態(tài)鏈接庫 DLL 的方式擴展功能。
青語言基礎語法概覽
第一個程序
@顯示、“你好,編程世界”
注釋
從分號到行末的都是注釋,注釋的內(nèi)容不會作為代碼執(zhí)行,以兩個;;開頭是多行注釋,直到另一個;;
;這是一行注釋,這里的內(nèi)容作為對代碼的說明,不會被執(zhí)行 ;; 這是一段注釋 支持多行注釋 這部分內(nèi)容都不會執(zhí)行 ;;數(shù)據(jù)類型
空 ;空類型,表示不存在或者值為空 真 ;邏輯類型,表示邏輯真 假 ;邏輯類型,表示邏輯假 0xFF ;二進制類型,表示二進制數(shù)據(jù) 123 ;這是整數(shù) 4.56 ;這是小數(shù) “這是一段字符串” ;用中文雙引號括起來的部分是字符串賦值
#甲 :123 ;用冒號表示在當前語境給變量#甲綁定值123 #乙 = 4.56 ;用等于號表示順著語境鏈向上查找變量#乙并綁定值4.56取值
直接調(diào)用變量名,解釋器會根據(jù)當前語境向上查找變量對應的值,并將值返回,例如經(jīng)過上面的賦值之后,我們輸入
#甲
將會看到這樣的輸出
>> 123
這里,前面的 >> 是輸出提示符,后面的 123 是變量對應的值。
示例代碼
貪吃蛇。該示例是一個圖形界面程序,只能在青編輯器中運行。
@是墻 = @【#序】{
#序 小于 20
或
#序 大于等于 380
或
#序 模 20 等于 0
或
#序 模 20 等于 19
}
@隨機食物 = @【】{
#序:0
執(zhí)行 {
#序 = #數(shù)學庫@隨機數(shù)【400】
}直到
(取反 @是墻【#序】) 且 (@查找【#蛇集合,#序】 小于 0)
返回 #序
}
#運行狀態(tài) = 真
#蛇集合 = 【110,109,108】
#食物 = 275
#方向 = 2
#下一方向 = 2
#窗 = @生成圖形、《窗口 #寬=410,#高=440,#標題=“貪吃蛇”》
#單元集合=【】
當 #行=0,#行 小于 20,#行 加等 1 {
當 #列=0,#列 小于 20,#列 加等 1 {
#單元:@生成圖形、《面板 #寬=20,#高=20,#X=#列*20,#Y=#行*20》
@追加【#單元集合,#單元】
}
}
@初始化 = @【】{
當 #序:0,#序 小于 400,#序 加等 1 {
如果 @是墻【#序】{
#單元集合#序#邊框色 = “#009933”
#單元集合#序#邊框?qū)?= 2
} 否則 {
#單元集合#序#背景色 = “white”
}
}
遍歷 #蛇集合 為 #序 {
#單元集合#序#背景色 = “#333333”
}
#單元集合#食物#背景色 = “Red”
}
@初始化【】
#窗@加子集、#單元集合
#窗@鍵盤按下命令 = @【#按鍵】{
如果 #按鍵 等于 “Up”{
如果 #方向 不等于 3 {
#下一方向 = 1
}
}再則 #按鍵 等于 “Right”{
如果 #方向 不等于 4 {
#下一方向 = 2
}
}再則 #按鍵 等于 “Down”{
如果 #方向 不等于 1 {
#下一方向 = 3
}
}再則 #按鍵 等于 “Left” {
如果 #方向 不等于 2 {
#下一方向 = 4
}
}
如果 #運行狀態(tài) 等于 假 且 #按鍵 等于 “Space” {
#蛇集合 = 【110,109,108】
#方向 = 2
#下一方向 = 2
#食物 = @隨機食物【】
@初始化【】
#運行狀態(tài) = 真
}
}
@顯示窗口、#窗
#定時器 = @定時任務【300,元{
如果 取反 #運行狀態(tài) {返回 空}
#頭:#蛇集合#0
#方向 = #下一方向
如果 #方向 等于 1 {
#頭 = #頭 - 20
}再則 #方向 等于 2 {
#頭 = #頭 + 1
}再則 #方向 等于 3 {
#頭 = #頭 + 20
}再則 #方向 等于 4 {
#頭 = #頭 -1
}
如果 @是墻【#頭】 或 (@查找【#蛇集合,#頭】 大于等于 0){
#運行狀態(tài) = 假
返回 空
}
#單元集合#頭#背景色 = “#333333”
@插入【#蛇集合,0,#頭】
如果 #頭 等于 #食物 {
#食物 = @隨機食物【】
#單元集合#食物#背景色 = “Red”
}否則{
#尾 = @取出【#蛇集合,@取長度【#蛇集合】-1】
#單元集合#尾#背景色 = “white”
}
}】
@啟動定時任務、#定時器
運行效果:

九九乘法表:
當 #甲:1,#甲 小于等于 9,#甲 加等 1 {
#文本:“”
#乙:1
當 #乙 小于等于 #甲 {
#文本 = #文本 + #甲 + “x” + #乙 + “=” + (#甲 * #乙) + “ ”
#乙 加等 1
}
@顯示、#文本
}

上文提到青語言后端使用 .NET,因此它實現(xiàn)了跨平臺兼容,支持主流操作系統(tǒng)。本次開源發(fā)布即提供了各個主流平臺的可執(zhí)行程序,下載后可以直接運行使用。

除了桌面程序外,還提供了一個安卓端的 APP,能夠?qū)崿F(xiàn)手機上編程。

青語言項目地址:
https://www.oschina.net/p/qingyuyan https://gitee.com/NjinN/Qing https://qingyuyan.cn/
最后,如果你想了解更多中國人主導的編程語言,請查看: 《中國人主導編程語言列表》
原文標題:中文編程語言——青語言開源發(fā)布
文章出處:【微信公眾號:OSC開源社區(qū)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
-
編程語言
+關注
關注
10文章
1965瀏覽量
39846 -
開源
+關注
關注
3文章
4323瀏覽量
46422 -
代碼
+關注
關注
30文章
4975瀏覽量
74336
原文標題:中文編程語言——青語言開源發(fā)布
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
為什么單片機還在用C語言編程?
C語言的編程技巧
C語言特性
開源鴻蒙技術大會2025丨編譯器與編程語言分論壇:語言驅(qū)動系統(tǒng)創(chuàng)新,編譯賦能生態(tài)繁榮
2025年最佳的嵌入式編程語言有哪些呢?
C語言和單片機C語言有什么差異
一文了解Mojo編程語言
NVIDIA ACE現(xiàn)已支持開源Qwen3-8B小語言模型
發(fā)布元服務配置本地化基礎信息(應用名稱、圖標)
Windows環(huán)境下32位匯編語言中文資料
提高篇——C語言核心技術(中文版)
深入理解C語言:C語言循環(huán)控制
中文編程語言——青語言開源發(fā)布
評論