一、概述
概述
漢編圖示
漢語程式設計語言引, 即沈志斌教授發明的一種電腦程式設計語言,簡稱“漢編”,或者“漢語言”。它是一種採用漢民族語言文字進行電腦編程的語言系統,支持基於漢語字、詞編程,符合計算機符號語言規範,並繼續向自然語言發展。它已經取得國家專利,國家發明專利號: ZL 94 1 07330.0 國際專利主分類號:G06F 17/00)。
中國是個多民族的國家,語種眾多,有:漢語,藏語,滿語等;中文字型也非常多,如篆書、金書、隸書、楷書等。嚴格來說稱“漢語編程”而不稱之為“中文編程”。因為,漢語是中國的官方語言,所以,但一般情況下,稱中文編程時,也特指漢語編程。
漢語程式設計語言,是中文程式語言的一個分支,但由於研發時間比較早,當時中國大陸少有其它中文程式語言面世,所以,發明者也稱其為“漢語編程”。
在當今中文程式語言發展多樣化的情況下,我們一般簡稱沈志斌教授在二十世紀九十年代實研發的漢語程式設計語言為“漢編”,簡稱吳濤先生在二十一世紀初研發的易語言漢語編程為“易語言”。
漢語程式設計語言概述
二、編譯原理
漢編編譯器 Ver 2.03
漢語程式設計語言中,詞典的建立過程,是一種動作的執行,認為是解釋,沒有歸為編譯過程中。只有“編” 和 “編。”之間程式的翻譯過程才稱為編譯。當碰到常數量時,在代碼空間空出匹配大小空間,調用常量調用子程式,變數和其他執行詞直接建立調用子程式,控制語句立即解釋執行,翻譯成為調用跳轉的子程式,其他程式定義的立即詞,立即解釋執行。
嚴格地說,漢語程式設計語言是解釋編譯性語言。
三、發展歷程
漢編的發展早於 1993 年,看起來像Forth,是中國人自己研發的完全以漢語為描述語言的電腦程式設計語言,它完全具有中國自主智慧財產權。作為一種計算機語言,它和現在流行的大部分計算機語言具有一些共同的特點,都是人機對話必須的工具語言。但該語言絕非曾流行過的任何一種計算機語言的簡單漢化,或是為某種軟體製造一個中文環境。這是一個完全由中國人自行開發,由中國人自我掌握全部原始碼,從形式到內容全面符合中國人的思維方式,使用漢文字表達的面向對象、面向問題電腦程式設計語言。“漢語編程”具有自成平台、面向對象、面向問題、所見即所得、高度安全性、強大的繁衍功能、高度兼容性以及資源占用少、速度快等特點,開闢了計算機語言發展的新紀元。1984年-1989年:漢語編程的基礎構想和基礎算法及其基本功能驗證階段九十年代,沈志斌的漢語編程初步推出。並申請了“漢語編程單片機”專利。1990年-1994年:漢語編程嵌入式系統的開發及套用的階段;1994年《漢語程式設計語言》一書由電子出版社出版,為漢語編程技術建立了基礎標識。1995年-1999年:漢語編程嵌入式系統,在多種行業中套用及windows平台,漢語編程系統發展階段;隨著世界信息技術的發展,漢語編程技術在與新技術的對接和兼容上的靈活性已獨具特點。2000年-今 :漢語編程嵌入式系統、漢語程式設計語言、漢語編程資料庫開發環境、軟體工程整體發展階段;這期間,用漢語編程開發出具有廣泛套用價值的民族計算機技術體系,在教育及軟硬體開發領域廣泛套用。
自2003年以後只見推廣,雖未見新版編譯器發布,但允許學習者自己向指令集(詞典)裡面,擴充更多的命令詞!
四、與 JAVA、C++ 的異同
漢語編程 | JAVA | C++ | |
編譯 | 編譯機器碼 | 編譯為位元組碼 | 編譯為機器碼 |
執行 | 可選擇CPU直接執行或虛擬機中執行 | 在虛擬機中執行 | 由CPU直接執行 |
面向對象 | 完全面向對象 | 完全面向對象 | 支持面向對象 |
結構 | 詞典結構,及標準類庫,可擴展第三方類庫 | 標準類庫 | 標準類庫較小, 但第三方類庫非常豐富 |
跨平台 多CPU | 支持同一個原始碼未經修改在其它平台下編譯生成多CPU運行目標 | 支持 同一個程式或類庫未經修改或經少量修改可在其它平台下運行 | 支持(但在多執行緒、網路、文本編碼轉換等領域需第三方類庫支持) |
多執行緒 | 支持 | 支持 | 第三方類庫支持 |
Unicode | 支持 | 支持 | 部分支持 |
網路 | 支持 | 支持 | 第三方類庫支持 |
語言複雜度 | 非常簡單 | 較簡單 | 較複雜 |
學習難度 | 容易 | 較容易 | 較難 |
IDE支持 | 自行開發,會支持很好 | 支持很好 | 支持較好 |
啟動方法 | 編: 進入() :編。 | public static void main(String[] args) | int main(int argc, char** argv) |
著作權費用 | 自主智慧財產權, 著作權費用低 | 美國智慧財產權, 著作權費用高 | 美國智慧財產權, 著作權費用高 |
五、編程實例
(一)、製作簡視窗
1、在編譯器上輸入如下(不包括實心五角星)代碼
2、運行結果如下:

3、上面程式代碼結構如下:
擴展對象 <用戶自定義視窗名稱>繼承自 視窗對象模板
對象。
啟動:<用戶自定義視窗名稱>
(二)、新詞編寫
漢語言的視窗編程還是好理解的,初學者往往對數摞不太容易理解,主要是 數據運算比較抽象了,傳統程式語言的參數都用變數來標識,而漢編語言的指令參數可以直接通過數摞來提供,這樣就造成了抽象性加強。當然,初學者,可以不使用數摞來傳遞參數,比如,平方的編寫。1、使用變數 來傳遞參數 如下:
編 平方
{ 底數 \ -- }
底數 底數 *
。
((雙括弧裡邊的內容為解釋
註: 平方 { 底數 \ -- } 相當於 傳統編程中的 平方(底數)
其中 { 這裡為輸入參數 \ 這裡為中間變數定義 -- 這裡為輸出結果 }
直接使用數摞傳遞參數,這些可以不定義
))
2、使用數摞直接傳遞參數如下:
編 平方
♂ *
。
(( 雙括弧裡邊的內容為解釋
平方的計算過程為:
數1 * 數1在漢編中,用後綴表示法表示 為:
數1 數1 *
簡化為:
數1 ♂ *
♂ 的功能是 複製數摞頂層的一個數,這裡即複製 數1
我們在編寫平方這個詞的時候,就要考慮到,平方的功能,平方,這個詞必須能計算所以數字的平方值,所以,底數不能放在 詞(指令 或 函式)裡邊,必須通過參數提供,因此,就有如下形式:
編 平方
♂ *
。
這樣,在初學才看來,就顯得抽象了,我們看到這個詞的時候,第一感覺就是要想到,這個詞,有一個參數,而 ♂ 複製的 數字正是參數,這樣才能理解 平方 這個詞的含義。
有人會說,假如,有些新詞參數有多個,非復複雜,用戶無法判斷參數的是什麼,有多少,又怎么辦呢,其實,漢編中,也有標準的參數 解釋法則,上面的平方 新詡編寫, 規範的形式如下:
編 平方 ( 數字1 --- )
♂ *
。
注 參數注釋採用 ( 輸入參數 --- 返回結果 ) 的形式,當然,這只是注釋而已,這裡產沒有定義任何變數、字元串之類的。
))
(三)、數摞操作
漢編與傳統程式語言的不同:引入了數摞概念;漢語言中,數摞可以用來存放數字,進行各種運算。示例代碼如下(下面是在編譯器上輸入的漢語言代碼,不含實心五角星和“看數摞”、“顯”後面的內容):

同義詞 複製 ♂ ★
看數摞 數摞已空! ★
5 ★.
看數摞 [1] 5 ★.
複製 ★..
看數摞 [2] 5 5 ★..
摞初始 ★
編 平方
複製 * 。 ★
2 平方 顯 4 ★
3 平方 顯 9 ★
((
從上面代碼可以看出,漢語言代碼和C語言在表達形式和編譯方式上是有本質的不同的,下面通過對上面發出的小代碼注釋,來體驗數摞操作:
示例代碼如下(下面是在編譯器上輸入的漢語言代碼,不含實心五角星和“看數摞”、“顯”後面的內容,斜槓後面為,為代碼解釋):
漢編語言中,用反斜槓來表示單行解釋,用雙括弧表示多行解釋。
漢編採用詞典式架構,因此,漢編指令,即漢編詞,漢編詞分為編譯器已有的系統詞和用戶新編的新詞。
在漢編編譯器上,輸入一條指令 按回車鍵後執行,★ 號表示執行成功。
))
同義詞 複製 ♂ ★
\ 解釋:通過 同義詞 這個系統詞將新詞 複製 定為與♂功能相同(同義)。
看數摞 數摞已空! ★
\ 系統詞:看數摞,是用來查看數摞上的數的,現在,查看結果:數摞已空,說明數摞上沒有數
5 ★.
\ 在數摞上放入一個數:5
看數摞 [1] 5 ★.
\ 用看數摞 系統詞查看數摞上的數,發現數摞上有一個數:5 (中括弧內的數為數摞上數的總個數,中括弧後面為數摞上所有數字的顯示
複製 ★..
\ 執行剛才定義的新詞:複製,試試看能不能將數摞上的數複製
看數摞 [2] 5 5 ★..
\ 查看結果表明,數摞上的數變為兩個,說明,複製 這個詞正確
摞初始 ★
\ 用 摞初始 這個系統詞 來清除數摞上的數,使數摞為空
編 平方
複製 * 。 ★
\ 編寫新詞:平方 在漢編中,一個指令(詞)的編寫以 編 開頭,以 。 結尾
2 平方 顯 4 ★
\ 測試新詞:平方 ,如上計算:2的平方(系統詞:顯,意思將數摞上的一個數顯示出來)
3 平方 顯 9 ★
\ 再次測試:平方,如上計算:3 的平方
\ 當然,我們也可以用 看數摞來查看計算結果
摞初始
2 平方 看數摞 [1] 4 ★.
\ 測試新詞:平方 ,如上計算:2的平方
3 平方 看數摞 [2] 4 9 ★..
\ 再次測試:平方,如上計算:3 的平方
((注意:顯 這個詞 僅僅是顯示數摞上的一個數,而看數摞,是查看數摞上的所有數;顯 這個系統詞顯示數摞上的數的時候,同時會清除在數摞上顯示的該數,而 看數摞 這個詞僅僅是查看數摞上的所有數字,而不會清除數摞上的數字。 ))