那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

中文編程語言——青語言開源發布

OSC開源社區 ? 來源:OSC開源社區 ? 2023-06-06 16:25 ? 次閱讀

長久以來,中文編程一直是開發者社區中爭議不斷的熱點問題。一部分人認為,編程語言是符號化的語言,沒有中英文之分,所以中文編程沒有意義。

而另一部分人則認為跨語種學習編程,存在事實上的困難,提高了學習門檻。這樣的討論在社區中一直熱度不減,成為經久不衰的話題

雖然關于中文編程有諸多爭議,但這并沒影響大家對其投入熱情。最近又出現了一款新的開源中文編程語言——青語言

cd0c37f4-0415-11ee-90ce-dac502259ad0.png

據介紹,青語言是一門面向青少年、兒童和非專業人士的中文編程語言。它完全從零開始實現了代碼文本到語法樹的構建,語言內核參考了 Lisp語法上主要參考了 JavaScriptC# 實現運行在.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”
    }
    
    
    
}】

@啟動定時任務、#定時器

運行效果:

cd21fba2-0415-11ee-90ce-dac502259ad0.gif

九九乘法表:


	

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

#文本:“”

#乙:1

當 #乙 小于等于 #甲 {

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

#乙 加等 1

@顯示、#文本

cd2fb6e8-0415-11ee-90ce-dac502259ad0.png

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

cd3a7b28-0415-11ee-90ce-dac502259ad0.png

除了桌面程序外,還提供了一個安卓端的 APP,能夠實現手機上編程。

cd45c88e-0415-11ee-90ce-dac502259ad0.png

青語言項目地址:

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

最后,如果你想了解更多中國人主導的編程語言,請查看: 《中國人主導編程語言列表


原文標題:中文編程語言——青語言開源發布

文章出處:【微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編程語言
    +關注

    關注

    10

    文章

    1950

    瀏覽量

    34988
  • 開源
    +關注

    關注

    3

    文章

    3408

    瀏覽量

    42714
  • 代碼
    +關注

    關注

    30

    文章

    4828

    瀏覽量

    69058

原文標題:中文編程語言——青語言開源發布

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    數字電路編程語言介紹

    數字電路編程語言是專門為描述和模擬數字電路而設計的編程語言。它們通常具有以下特點: 硬件描述語言(HDL) :大多數數字電路
    的頭像 發表于 01-24 09:39 ?163次閱讀

    gitee 支持的編程語言有哪些

    Gitee(碼云)是一個基于 Git 的代碼托管和研發協作平臺,類似于 GitHub 和 GitLab。它支持多種編程語言,允許開發者托管和管理代碼,進行版本控制,以及協作開發。以下是一些
    的頭像 發表于 01-06 09:50 ?136次閱讀

    Triton編譯器支持的編程語言

    Triton編譯器支持的編程語言主要包括以下幾種: 一、主要編程語言 Python :Triton編譯器通過Python接口提供了對Triton語言
    的頭像 發表于 12-24 17:33 ?461次閱讀

    編程語言的誤區與常見問題

    誤區一:編程語言的選擇 常見問題: 初學者在選擇編程語言時,往往會被市場上的熱門語言所吸引,而忽視了自己的實際需求和興趣。 一些開發者認為某
    的頭像 發表于 11-15 09:35 ?379次閱讀

    MCU編程語言和開發環境介紹

    微控制器單元(Microcontroller Unit,簡稱MCU)是嵌入式系統的核心,廣泛應用于各種電子產品中。隨著技術的發展,MCU編程語言和開發環境也在不斷進步,以適應不同的應用需求。 1.
    的頭像 發表于 11-01 11:51 ?1082次閱讀

    C語言與其他編程語言的比較

    C語言作為一種歷史悠久的編程語言,自其誕生以來,一直在軟件開發領域扮演著重要角色。它以其高效、靈活和可移植性強的特點,成為了系統級編程的首選語言
    的頭像 發表于 10-29 17:30 ?369次閱讀

    plc編程語言編程相關技巧有哪些

    PLC(可編程邏輯控制器)編程語言及相關編程技巧是工業自動化領域中不可或缺的知識。 一、PLC編程語言
    的頭像 發表于 10-21 16:56 ?441次閱讀

    labview是什么編程語言寫的

    的一種圖形化編程語言。它并不是用傳統的文本編程語言(如C++、Python等)編寫的,而是采用了一種獨特的圖形化編程
    的頭像 發表于 09-04 16:00 ?1153次閱讀

    plc編程st語言怎么編

    PLC(可編程邏輯控制器)編程中的ST(Structured Text)語言是一種高級編程語言,它類似于Pascal或C
    的頭像 發表于 08-25 10:05 ?1514次閱讀

    PLC的編程方式及編程語言

    在工業自動化領域,PLC(Programmable Logic Controller,可編程邏輯控制器)因其強大的控制功能和靈活的編程方式而得到了廣泛應用。PLC的編程方式和編程
    的頭像 發表于 06-27 14:08 ?936次閱讀

    abb工業機器人的編程語言是什么

    ABB工業機器人的編程語言主要是RAPID(Robot Application Programming Interface for Development),它是一種高級編程語言,專門
    的頭像 發表于 06-16 16:49 ?2813次閱讀

    PLC編程語言和C語言的區別

    在工業自動化和計算機編程領域中,PLC(可編程邏輯控制器)編程語言和C語言各自扮演著重要的角色。盡管兩者都是
    的頭像 發表于 06-14 17:11 ?3242次閱讀

    PLC常用編程語言有哪些

    在工業自動化領域,PLC(Programmable Logic Controller,可編程邏輯控制器)作為一種核心控制設備,其編程語言的選擇對于控制系統的設計、開發和維護具有重要影響。PLC的
    的頭像 發表于 06-14 16:58 ?1751次閱讀

    fpga用的是什么編程語言 fpga用什么語言開發

    fpga用的是什么編程語言 FPGA(現場可編程邏輯門陣列)主要使用的編程語言是硬件描述語言(H
    的頭像 發表于 03-14 17:09 ?3635次閱讀

    fpga芯片用什么編程語言

    FPGA芯片主要使用的編程語言包括Verilog HDL和VHDL。這兩種語言都是硬件描述語言,用于描述數字系統的結構和行為。
    的頭像 發表于 03-14 16:07 ?1625次閱讀
    百家乐闲庄和| 真钱百家乐注册送| 百家乐官网视频百家乐官网| 立博足球投注网| 云顶娱乐| 大发888娱乐客户端真钱| 大发888官方指定| 97玩棋牌游戏中心| 网上老虎机游戏| 大发888娱乐城真人视讯服务| 休闲百家乐的玩法技巧和规则| 百家乐娱乐场真人娱乐场| 百家乐2万| 百家乐大轮转| 百家乐园首选去澳| 丽都百家乐的玩法技巧和规则| 水果机榨汁机| bet365体育在线投注 jxhymp| 网络棋牌室| e世博线上娱乐| 千阳县| 赌场风云| 百家乐官网概率怎么算| 百家乐官网网上赌博| 建昌县| 百家乐官网咨询网址| 中华百家乐官网娱乐城| 百家乐官网游戏源码手机| 康莱德百家乐官网的玩法技巧和规则| 百家乐官网丽| 玩百家乐输了| 现金网开户送彩金| 博彩网| 谷城县| 百家乐官网常用公式| 百家乐招商用语| 百家乐视频游戏冲值| 大发888娱乐城网站| 百家乐官网赢得秘诀| 金钱豹百家乐官网的玩法技巧和规则| 百家乐官网影院|