中文編程通常指的是使用中文字符和語法規(guī)則來編寫計算機程序的過程。中文編程在實際應(yīng)用中還處于起步階段。雖然有一些中文編程語言的嘗試和實驗性項目,但相對于英文編程語言,中文編程的普及程度還不夠高。中文編程作為一種實現(xiàn)用中文進(jìn)行編程的方式,具備一定的可行性。2
要實現(xiàn)中文編程的普及,需要解決語法和語義問題,建設(shè)完善的技術(shù)生態(tài)系統(tǒng),并借助自然語言處理和機器翻譯等技術(shù)的支持。只有這樣,中文編程才能真正成為一種應(yīng)用廣泛的編程方式,讓更多的人能夠用自己的母語進(jìn)行編程。2
基本介紹
中文編程(或者稱為中文編程語言)是指使用中文來書寫的程序設(shè)計語言,其目的是為了減少對英語的學(xué)習(xí),將精力集中在程序設(shè)計上,并且便于程序交流和代碼維護(hù)。
高級計算機語言程序中任何標(biāo)識都可使用中文字、詞、詞組和句子的語言文法,又有與中文相匹配的語言語法規(guī)則可稱為漢語編程語言,使用這種語言編寫的程序的過程就是中文編程。
中文編程技術(shù)關(guān)鍵不是簡單程序編寫漢字標(biāo)識使用,而是程序代碼的編譯技術(shù)必須自己掌握,編程與編譯必須互為統(tǒng)一發(fā)展。
歷史
最早出現(xiàn)的編程軟件大多為英語環(huán)境,對于習(xí)慣使用中文的人,為了編程不但需要學(xué)會編程規(guī)則,還要學(xué)會英語,這對不諳英文的人構(gòu)成了一個較大的障礙。相對于印度,由于有較好的英語環(huán)境,軟件外包發(fā)展較快,而中國則只是因為英語的問題造成軟件外包一直很難發(fā)展。使用中文編程語言,不需要記住大量的英文語句,中文用戶可以在自己母語的基礎(chǔ)上從更高方面入手。而且可以減少學(xué)習(xí)英語的成本,為漢語區(qū)的軟件產(chǎn)業(yè)發(fā)展提供幫助。
特點
用什么語言來表達(dá)編程思路其實是一回事,英語可以編程,漢語同樣可以編程,而且漢語編程作為計算機語言更符合自然語言。
1.打破了英文編程語言的壟斷,可以有效減少信息技術(shù)對英文的依賴,對形成全面的信息產(chǎn)業(yè)獨立體系有巨大推動作用。
2.中國人用自己的編程語言,才更有利于各種程序的編寫。不但簡化學(xué)習(xí)過程,而且提高了編程效率。
3.漢語編程從根本上可以解決信息技術(shù)化發(fā)展的問題,只要會寫漢字,就可以學(xué)習(xí)編程,而且漢語編程所編的軟件可以很好地解決方方面面的問題。
4 .用什么語言來表達(dá)編程思路其實是一回事,英語可以編程,漢語同樣可以編程,英語的關(guān)鍵字只是表意符號而已,漢語也可以作為表達(dá)編程的語言之一,只是有一些技術(shù)上的問題需要克服。我們可以看到,“易語言”戲劇般地將這個“漢字輸入比英文輸入慢”等問題解決了。
分類
據(jù)筆者所知,用漢語進(jìn)行編程是中國軟件界的一個新生事物,目前國內(nèi)的漢語編程大體分為五類:
一類是漢化了其他編程語言而形成的,如:“中蟒”,就是漢化了Python語言;“易樂谷”是漢化了的LOGO語言;“丙正正”是漢化了的C++,“EMS”就是漢化了的Visia Compiler。
第二類就是自主研發(fā)了漢語內(nèi)核的,如:“易語言”,“易語言.飛揚”等,漢語可被直接編譯為機器碼;“易腳本”、“世寶腳本”是自主開發(fā)的腳本語言。國產(chǎn)自主研發(fā)語言,還有其中的O語言,組合語言,習(xí)語言是C語言的漢化,支持漢語編寫。
另一類是以漢語為基礎(chǔ),搭建式或區(qū)別于傳統(tǒng)編程的工具。如:搭建之星,網(wǎng)站搭建者,華羅庚(MISD),雅奇990等。
第四類是中國人寫的英文編程,可以稱之為國產(chǎn)編程語言,嚴(yán)格的話不能劃為漢語編程,但漢語化應(yīng)該不成問題,也在這里給大家了解一下。
第五類是中國人編寫的程序語言翻譯軟件,包括正向翻譯(將中文代碼翻譯成標(biāo)準(zhǔn)英文代碼)反向翻譯(將標(biāo)準(zhǔn)英文代碼翻譯成中文代碼),屬于應(yīng)用級編程輔助軟件。是一款專門針對程序語言的翻譯軟件。如:十十視程序語言翻譯軟件。
發(fā)展需求
上世紀(jì)七十年代以來,中國開發(fā)了一個DOS下的中文編程語言,但由于WINDOWS的流行,還未等推廣,就被淘汰。
八十年代開始,臺灣已見到繁體中言語版本的LOGO語言。
九十年代,沈志斌的漢語編程初步推出。并申請了“漢語編程單片機”專利。
腳本語言很多軟件都是用漢語編程寫的,很多學(xué)校都在開展?jié)h語編程的教學(xué),漢語編程的需求越來越多。
應(yīng)用特點
漢語編程應(yīng)該具有以下特點:
易用性:一個易于使用的編程環(huán)境(IDE)提供前臺服務(wù),編譯器在后臺服務(wù)。語言成功的一半也應(yīng)歸功于IDE的易用性。編程環(huán)境較有特色的是易語言,其編程環(huán)境提供:記憶式中文語句快速輸入工具,名稱自動管理工具,可視化流程線工具,智能語法引導(dǎo)工具,參數(shù)引導(dǎo)工具等多種實用工具。易語言提供內(nèi)置快速的輸入法,即首拼、簡拼與英文的混合輸入法,綜合輸入速度平均比英文要快。
安全性:自主研發(fā)的編譯器,可保障國家安全,配合國產(chǎn)CPU和OS,實現(xiàn)全面的硬件、軟件安全。在特定的條件下,政府可以進(jìn)行檢查,或改造編譯器為我所用。
本地化:提供一些本地化特色的工具和命令,如:中文大小寫轉(zhuǎn)換、中文日期處理、漢字繁簡轉(zhuǎn)換、農(nóng)歷日期等工具。
國際化:多語種版本中語言可互相轉(zhuǎn)化。用漢語編程只是實現(xiàn)了母語化的第一步,反之漢語為國際化交流帶來了不方便。應(yīng)該提供機制,可以將漢語關(guān)鍵字自動轉(zhuǎn)換為其他語言,實現(xiàn)交流合作。易語言提供了多語種版本,可以用不同語種的版本打開同一源代碼,以最大限度的可能轉(zhuǎn)換為相應(yīng)語種的語言源代碼。
跨平臺:軟件的可移植性高,就可以節(jié)約大量的開發(fā)時間,是專業(yè)程序員需要考慮的首要問題之一。
融合性:與其它語言互融互通,通過學(xué)習(xí)漢語編程從而可繼續(xù)學(xué)習(xí)其他編程語言。
先進(jìn)性:更具現(xiàn)代性,可支持完全面向?qū)ο?,跨平臺,支持Unicode、多線程,垃圾自動回收,類型反射,靜態(tài)編譯,動態(tài)類型裝載等等。
自然性:語法更加接近自然語言?!耙渍Z言.飛揚”已提供自然語句規(guī)則。
無代碼編程:逐步向無代碼編程方向發(fā)展,最終實現(xiàn)智能化編程。
相關(guān)疑問
對漢語編程存在的一些疑問
1.中文輸入真的比英文慢嗎?
很多專家學(xué)者,認(rèn)為國外已有很多成熟的編程系統(tǒng)了,中國再搞漢語編程系統(tǒng)沒有必要。主要理由之一還在于:中文輸入比英文慢。在漢語編程中以大連易語言公司出品的“易語言”為最有特色的代表,也是漢語編程中的技術(shù)領(lǐng)先者。易語言解決了很多技術(shù)上的難題。例如:輸入“信息框”,易語言只要輸入“xxk”(xxk是“信息框”的首拼)即可,而不必要象英文“msgbox”這樣輸入6個字母。而且熟悉英語的編程者也可以用自己熟悉的英語輸入。因此我們作研究,不能以點概全,應(yīng)該親自使用一下,多去了解調(diào)查,才能有發(fā)言權(quán)。
2.學(xué)習(xí)英文編程只要了解十幾個關(guān)鍵字?
有人認(rèn)為英文編程的關(guān)鍵字只有那么十幾個,記憶量不大,而且僅僅是符號而已,編程人員不用花大力氣學(xué)習(xí)英文編程。但他們僅僅是想當(dāng)然,學(xué)習(xí)過編程的人都知道,隨著編程的深入,會越來越多地接觸到英文,很多資料都需要翻譯大量的英文資料。因此有很多職業(yè)培訓(xùn)學(xué)校一開始都是進(jìn)行外語方面的培訓(xùn),有的甚至職業(yè)學(xué)習(xí)的前一兩年都要進(jìn)行的相關(guān)英語的培訓(xùn),學(xué)校認(rèn)為如果語言不過關(guān),這些學(xué)生后繼的編程學(xué)習(xí)一定學(xué)不好,學(xué)不好就不能找到工作。學(xué)習(xí)成本高,也就意味著資源的浪費,要花更多的金錢進(jìn)行學(xué)習(xí)深化,與中國的“多、快、好、省”地培養(yǎng)人才創(chuàng)造節(jié)約型社會的目標(biāo)相去甚遠(yuǎn),如果能省去學(xué)習(xí)英語的第一步,直接用母語進(jìn)行思考,那么就更有可能在中國發(fā)展真正有創(chuàng)造能力的人才。
中國的“信息技術(shù)”教科書中,大多教現(xiàn)成的軟件如何使用,如WORD、FLASH、3DSMAX,PHOTOSHOP等,這些還不能稱之為信息技術(shù),這些只是學(xué)習(xí)了現(xiàn)成的流行軟件,學(xué)生不能成為這些固化軟件的學(xué)習(xí)工具,他們長大后可以用極短的時間學(xué)會,而我們信息技術(shù)教育工作者的任務(wù)是激發(fā)學(xué)生們的創(chuàng)造能力。
易語言漢語編程系統(tǒng)非常適合于在教育系統(tǒng)推廣,學(xué)生中不是每個孩子的學(xué)習(xí)外語資質(zhì)都好,每個人都有不同的學(xué)習(xí)興趣與能力,外語的環(huán)境也不是人人都可得,不能強求大家都學(xué)英語編程。易語言經(jīng)過多年的發(fā)展和成熟,已經(jīng)形成了自己的語編標(biāo)準(zhǔn),成為真正意義上的編程語言了,而不是一個簡單的工具,她就象礦石一樣,通過冶煉可以造出各種工具。學(xué)習(xí)編程可讓孩子們?nèi)ニ伎冀鉀Q問題的辦法,即算法,讓學(xué)生用自己的母語實現(xiàn)自己的想法,編程語言只是工具而已。筆者欣喜地看到,“易語言”已初步在國內(nèi)的教育系統(tǒng)中推廣了,老師與學(xué)生們的反饋都非常好。
一個漢語編程語言一定是博大的,是融合的,可以與其他語言互通互融,學(xué)習(xí)一種語言后,由于思想相通,因此可以很方便地轉(zhuǎn)而學(xué)習(xí)其他語言,不存在學(xué)習(xí)漢語編程后再學(xué)習(xí)其他語言不行的情況,因為上期文章也說了,就是關(guān)鍵字是類似的,僅是思想的符號而已。
3.其他國家怎么沒有法語編程、德語編程?
西方國家對東方國家的高科技是封鎖的,而歐洲國家卻可輕易得到。中國人學(xué)習(xí)英語要比西方國家付出更多成本,東西方文化是不同的。
印度模式確實已給了我們很大的啟示,印度的官方語言是英語,因此他們的這個優(yōu)勢只是表面現(xiàn)象。前兩年華為公司在印度建立分公司之后,深入調(diào)研才發(fā)現(xiàn),印度外包發(fā)展地好不僅是語言的問題,而在于印度人已普遍接受了西方的文化思想,他們的思維習(xí)慣都是西方的,因此能很好地寫出適合于西方的軟件作品,人力資源的成本也低,西方國家也更愿意與他們進(jìn)行合作。因此編程語言之爭的焦點還在于文化之爭,中國人有自己的思維習(xí)慣,因此大部分人都還在用中國的文化思想進(jìn)行思考問題。
4.嵌入式系統(tǒng)難以應(yīng)用漢語嗎?
嵌入式系統(tǒng)大多數(shù)人已接觸到了,打個現(xiàn)實的比方,手機功能已越來越接近電腦了,很多電腦有的功能,手機都有,而且上面所運行的可以是WINCE、Mobile、Linux系統(tǒng),有的甚至可以用英文寫段JAVA代碼直接運行了。因此,強求用指令集用漢語確實沒有什么優(yōu)勢,但從編程這點考慮,漢語實現(xiàn)嵌入式系統(tǒng)的編程不是沒有可能,既然英語可以直接轉(zhuǎn)換為機器碼,漢語也可以直接轉(zhuǎn)換為機器碼,可以通過漢語直接調(diào)用指令集的辦法實現(xiàn)。
總之,一個新生事物,可能會暫時存在一些缺點,普及和應(yīng)用漢語編程還有很長的路要走,中國要想成為軟件大國,就一定要普及大眾化,象打乒乓球一樣,人人都能寫程序,都可以用自己的母語編程,形成廣大的用戶基礎(chǔ),就不愁軟件行業(yè)不發(fā)展。筆者不會引用很資深的專家學(xué)者的話樹立權(quán)威,希望大家共同思考這個問題。我相信,在中國人的努力下,一定會開創(chuàng)一個更美好的未來。
現(xiàn)狀簡介
流行的一些漢語編程的簡介
由于有些語言已不再開發(fā)和推廣了,及篇幅關(guān)系,下文中以一些流行的語言進(jìn)行介紹。
漢語編程
它的發(fā)展早于 1993 年,看起來像Forth,“漢語編程”是中國人自己研發(fā)的完全以漢語為描述語言的計算機程序設(shè)計語言,它完全具有中國自主知識產(chǎn)權(quán)。作為一種計算機語言,它和現(xiàn)在流行的大部分計算機語言具有一些共同的特點,都是人機對話必須的工具語言。但該語言絕非曾流行過的任何一種計算機語言的簡單漢化,或是為某種軟件制造一個中文環(huán)境。這是一個完全由中國人自行開發(fā),由中國人自我掌握全部源代碼,從形式到內(nèi)容全面符合中國人的思維方式,使用漢文字表達(dá)的面向?qū)ο?、面向問題計算機程序設(shè)計語言?!皾h語編程”具有自成平臺、面向?qū)ο?、面向問題、所見即所得、高度安全性、強大的繁衍功能、高度兼容性以及資源占用少、速度快等特點,開辟了計算機語言發(fā)展的新紀(jì)元。自2003年以后只見推廣,雖未見新版編譯器發(fā)布,但允許學(xué)習(xí)者自己向指令集(詞典)里面,擴(kuò)充更多的命令詞!
易語言
于2000年開始開發(fā),是一款全中文、全可視、跨平臺的編程語言。易語言漢語編程環(huán)境由核心層、擴(kuò)展層、環(huán)境層和應(yīng)用層組成。核心層的易語言及其編譯器構(gòu)成了基礎(chǔ)編程平臺;擴(kuò)展層提供了專業(yè)編程人員的開發(fā)運行平臺;環(huán)境層提供了用戶集成開發(fā)環(huán)境;應(yīng)用層支持用戶創(chuàng)建本行業(yè)、領(lǐng)域的開發(fā)平臺的框架。易語言漢語編程環(huán)境是一個支持基于漢語字、詞編程的、全可視化的、跨主流操作系統(tǒng)平臺的編程環(huán)境;擁有簡、繁漢語以及英語、日語等多語種版本;能與常用的編程語言互相調(diào)用;具有充分利用API,COM、DLL、OCX組件,各種主流數(shù)據(jù)庫,各種實用程序等多種資源的接口和支撐工具。
更簡單易學(xué):繁瑣、晦澀、不常用的語言特性被盡量精簡,且補充了很多便于使用的語言特性,支持中英文雙語關(guān)鍵字,在語法格式和關(guān)鍵字方面,盡量與現(xiàn)有類似編程語言相同,減少了學(xué)習(xí)量。
對系統(tǒng)環(huán)境的適應(yīng)和控制能力更強:定義有語言無關(guān)的“EF對象模型”,從而允許使用其它各種編程語言來直接書寫“易語言.飛揚”本地類,和用“易語言.飛揚”本身書寫的類完全融合互補,沒有任何差別,可用作快速建立強大高效的本地應(yīng)用環(huán)境,同時可充分利用現(xiàn)有代碼資源。
習(xí)語言
習(xí)語言即中文版的C語言,由一套完備的編程語法和相配套的工具組成,旨在將計算機及軟件編程大眾化,普及化,中文化,提高程序的維護(hù)性而誕生。適合國人使用,尤其適合作為初學(xué)者的入門學(xué)習(xí)工具。
作為一種中文編程語言,習(xí)語言中所有的關(guān)鍵字和函數(shù)都為中文。習(xí)語言已經(jīng)完全支持匯編和C語言,并向windows圖形處理發(fā)展。
歷史經(jīng)驗證明,英文寫的代碼時間久了大部分都會遺忘的。而習(xí)語言則避免了這一點,中文瀏覽下就可以回憶起來,真正符合漢語言特色。而且支持全角標(biāo)點符號,編程時輸入符號類時不用頻繁切換中英文輸入。
中文C(習(xí))語言中文編程系統(tǒng)(簡稱:習(xí)語言):是一款主要用于教育和學(xué)習(xí)的中文編程軟件系統(tǒng)?;诂F(xiàn)有C語言系統(tǒng)實現(xiàn)并有擴(kuò)充。其特點如下:
1、完全兼容現(xiàn)有的C語言系統(tǒng),在設(shè)置好頭文件路徑的條件下,可以編譯現(xiàn)存大部分C代碼。
2、完全支持全中文編程,自帶大量中文函數(shù)。
3、綜合了PASCAL和C的優(yōu)點實現(xiàn),支持 “開始”“結(jié)束”擴(kuò)起語句塊。支持【】注釋方法,方便程序組織。
4、支持多字節(jié)字直觀表示。如 '我', 'abcd'都可以作為字符看待。
5、支持中文標(biāo)點符號,中文標(biāo)點符號和英文標(biāo)點符號可以混合使用。
6、支持文章式的程序組織,中文文章中嵌入程序,直接編譯。
7、支持中文運算符,支持全角,半角混合使用。
8、體積小巧,簡單使用情況下只需單一接口文件,降低使用難度。
用途:
1、開發(fā)底層軟件如操作系統(tǒng)等。
2、寫控制臺程序(俗稱DOS程序)。
3、寫純圖形界面程序(通常的WINDOWS程序 )。
4、寫控制臺和圖形界面同時存在的混合程序。
5、編寫游戲程序( opengl)。
O匯編語言
顧名思義O匯編語言也是一門匯編語言,它具有傳統(tǒng)匯編語言的基本特點,也有與它們諸多不同之處。O匯編語言一個最大顯著的特點是支持語言配置,使得它可以支持所有你想支持的語言,當(dāng)然,O匯編語言的初衷是為了支持中文,所以它可以非常好的支持中文匯編。如果你已經(jīng)習(xí)慣了其它英文的匯編模式,比如你喜歡用EAX、EBP類似這樣的方式來命名寄存器,不要緊,只需要修改一下語言配置文件,這可以輕松做到。O匯編語言另一個顯著的特點是指令使用非常直觀和人性化,在不缺失匯編語言靈活性的情況下,使匯編語句的語意可以很直觀地表現(xiàn)出來,這主要得益于用了一些象征性的符號,使得匯編語句不再是千篇一律的 (指令 寄存器,內(nèi)存操作數(shù)) 這樣的格式,而是更像 (寄存器 操作符 內(nèi)存操作數(shù))這樣的格式,不但容易理解,而且便于記憶,使匯編語言不再那么枯燥,使人一團(tuán)霧水。
搭建之星
原名“發(fā)燒積木”屬于搭建式的編程工具,完全可視化編程,有各種各樣的構(gòu)件,用拖放的方式拼成程式的流程。
特點:1.安裝簡單、迅速,純中文界面。構(gòu)件豐富,設(shè)計過程直觀、自由;無需掌握電腦語言,所有編程構(gòu)件化、命令化、可視化。2.交互式開發(fā),只需要四種類型的“命令”,便可建立各種構(gòu)件之間的聯(lián)系;象搭積木一樣簡單,并可快速的搭建出具有專業(yè)水平的軟件作品。3.微解釋執(zhí)行,命令解釋量小,執(zhí)行速度快??梢院途幾g后的可執(zhí)行文件相媲美。
基本功能:多媒體軟件制作,支持多種聲音、動畫、圖像、視頻文件格式。有關(guān)教學(xué)構(gòu)件,平面直角坐標(biāo)系、表達(dá)式、變量組、函數(shù)圖像、函數(shù)列表、樹形瀏覽等;另外還新了動態(tài)流程圖、瀏覽器構(gòu)件、軟件服務(wù)號等。提供打包工具,使您即刻將自制軟件安裝到其它機器上運行;自動對開發(fā)項目加密;使您的項目,在未經(jīng)授權(quán)下,別人無法“瀏覽、修改”項目的構(gòu)件關(guān)系與搭建方法。
雅奇MIS
無代碼編程的領(lǐng)先者。
該軟件采用“可視化語言”,實現(xiàn)了軟件開發(fā)的“無代碼圖示編程”。任何人只要會打字,就能在30分鐘內(nèi)學(xué)會編程??梢暬臒o代碼編程,使開發(fā)效率提高百倍。1小時完成的開發(fā),相當(dāng)于代碼編程方式 2個月的工作量總和。“窗體、報表、計算”等各種功能設(shè)計,可達(dá)到“秒級”的設(shè)計效率。適合于普通辦公人員開發(fā)“財務(wù)、人事、工資、進(jìn)銷存”等各行各業(yè)的管理信息系統(tǒng)。
創(chuàng)新LOGO
CX-LOGO語言是一種結(jié)構(gòu)化程序設(shè)計語言。它是交互式的,為少年兒童提供了良好的編程環(huán)境;它是模塊化的,便于程序的修改與擴(kuò)充;它是過程化的,包含了過程、參數(shù)、變量等重要概念,并允許遞歸調(diào)用;它有豐富的數(shù)據(jù)結(jié)構(gòu)類型,有生動的圖形處理功能。
CX-LOGO語言獨創(chuàng)的流程圖工作方式和過程庫的建立,可方便的使用“搭積木”的方法,構(gòu)建“知識”,使學(xué)習(xí)更容易、操作更簡便,學(xué)生只需簡單的學(xué)習(xí)就可以操作。
CX-LOGO語言不僅具備多種優(yōu)秀程序設(shè)計語言的優(yōu)點,而且更接近自然語言,生動有趣,簡單易學(xué),它能用直觀的運動來體現(xiàn)編程的結(jié)果,讓少年兒童在游戲中進(jìn)行思考,在趣味中學(xué)習(xí),深受少年兒童的歡迎。通過CX-LOGO語言的教學(xué),以學(xué)習(xí)一種“玩具”為出發(fā)點,可以培養(yǎng)學(xué)生學(xué)習(xí)計算機的興趣,使他們初步了解計算機是如何工作的,為他們今后學(xué)習(xí)其他高級程序語言設(shè)計鋪設(shè)道路。
CX-LOGO語言是專為我國少年兒童開發(fā)的創(chuàng)新平臺,孩子們可以在電腦上指揮七色瓢蟲移動、轉(zhuǎn)向、行走、發(fā)光、響應(yīng)外界刺激等。這些具有創(chuàng)造性的學(xué)習(xí)工具所倡導(dǎo)的“做中學(xué)”的學(xué)習(xí)理念,非常適合課堂教學(xué),極大地激發(fā)了孩子們學(xué)習(xí)的興趣。
計算機編程漢語字母表
本字母表的125個漢語字母對應(yīng)128進(jìn)制的125個數(shù)碼,空格和語句分割符(/)對應(yīng)128進(jìn)制的2個數(shù)碼。
聲母表(55個)
|| ||