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

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

3天內不再提示

中文編程語言——青語言開源發(fā)布

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

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

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

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

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

據介紹,青語言是一門面向青少年、兒童和非專業(yè)人士的中文編程語言。它完全從零開始實現了代碼文本到語法樹的構建,語言內核參考了 Lisp語法上主要參考了 JavaScript,C# 實現,運行在.NET 平臺上,并使用動態(tài)鏈接庫 DLL 的方式擴展功能。

青語言基礎語法概覽

第一個程序

@顯示、“你好,編程世界”

注釋

從分號到行末的都是注釋,注釋的內容不會作為代碼執(zhí)行,以兩個;;開頭是多行注釋,直到另一個;;

;這是一行注釋,這里的內容作為對代碼的說明,不會被執(zhí)行

;;
    這是一段注釋
    支持多行注釋
    這部分內容都不會執(zhí)行
;;
數據類型
     ;空類型,表示不存在或者值為空


     ;邏輯類型,表示邏輯真


     ;邏輯類型,表示邏輯假


0xFF   ;二進制類型,表示二進制數據


123    ;這是整數


4.56   ;這是小數


“這是一段字符串”    ;用中文雙引號括起來的部分是字符串
賦值
#甲 :123      ;用冒號表示在當前語境給變量#甲綁定值123 


#乙 = 4.56      ;用等于號表示順著語境鏈向上查找變量#乙并綁定值4.56
取值

直接調用變量名,解釋器會根據當前語境向上查找變量對應的值,并將值返回,例如經過上面的賦值之后,我們輸入

#甲

將會看到這樣的輸出

>> 123

這里,前面的 >> 是輸出提示符,后面的 123 是變量對應的值。

示例代碼

貪吃蛇。該示例是一個圖形界面程序,只能在青編輯器中運行。

@是墻 = @【#序】{
    #序 小于 20#序 大于等于 380#序 模 20 等于 0#序 模 20 等于 19  @隨機食物 = @【】{
    #序:0
    執(zhí)行 {
         #序 = #數學庫@隨機數【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” 
            #單元集合#序#邊框寬 = 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”
    }
    
    
    
}】

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

運行效果:

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

九九乘法表:


	

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

#文本:“”

#乙:1

當 #乙 小于等于 #甲 {

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

#乙 加等 1

@顯示、#文本

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

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

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/

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


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

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


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

    關注

    10

    文章

    1931

    瀏覽量

    34551
  • 開源
    +關注

    關注

    3

    文章

    3227

    瀏覽量

    42343
  • 代碼
    +關注

    關注

    30

    文章

    4728

    瀏覽量

    68248

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

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

收藏 人收藏

    評論

    相關推薦

    MCU編程語言和開發(fā)環(huán)境介紹

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

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

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

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

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

    labview是什么編程語言寫的

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

    plc編程st語言怎么編

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

    PLC的編程方式及編程語言

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

    abb工業(yè)機器人的編程語言是什么

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

    PLC編程語言和C語言的區(qū)別

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

    PLC常用編程語言有哪些

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

    fpga用的是什么編程語言 fpga用什么語言開發(fā)

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

    fpga芯片用什么編程語言

    FPGA芯片主要使用的編程語言包括Verilog HDL和VHDL。這兩種語言都是硬件描述語言,用于描述數字系統(tǒng)的結構和行為。
    的頭像 發(fā)表于 03-14 16:07 ?1427次閱讀

    plc編程語言與c語言的聯系 c語言和PLC有什么區(qū)別

    PLC編程語言與C語言的聯系 PLC(可編程邏輯控制器)是一種針對自動化控制系統(tǒng)的特殊計算機。PLC編程
    的頭像 發(fā)表于 02-05 14:21 ?3774次閱讀

    腳本語言編程語言的區(qū)別

    腳本語言編程語言是計算機語言的兩個主要分類。盡管兩者都是用于編寫計算機程序的工具,但它們在設計和運行方式上存在一些顯著的區(qū)別。下面將詳細探討腳本
    的頭像 發(fā)表于 11-22 14:33 ?2824次閱讀

    Python編程語言屬于什么語言

    Python編程語言屬于高級編程語言中的一種。它是一種通用、面向對象、解釋型編程語言。Pytho
    的頭像 發(fā)表于 11-22 14:31 ?1341次閱讀

    基于Rust開發(fā)的編程語言

    Move 是一門由 Rust 語言開發(fā)的一門面向資產的編程語言,最早由 Facebook (現 Meta )投入大量的人力物力開發(fā),用于 Libra (現 Dime )項目,處理全球性大規(guī)模支付系統(tǒng)的
    的頭像 發(fā)表于 11-17 12:30 ?642次閱讀