據說漢語編程打破了西方對計算機語言的壟斷,使中國人擁有了完全自主知識產權的程序設計語言。據說隨著漢語編程的興起,將極大地推動中國信息化建設的進程。據說漢語編程已經得到了部分省市有關部門的大力支持,很快就會形成一門發展潛力巨大的產業。然而當不少人在了解到漢語編程后,卻懷疑它不過是某些別有用心之人泡制的謊言。那么漢語編程究竟是一項劃時代的技術呢,還是一則經不起任何推敲的的傳聞?
8月6日,《21世紀經濟報道》刊發的一篇標題為《漢語編程欲顛覆WINDOWS 是技術還是謊言?》的文章告訴我們,早在2002年3月,中國人民解放軍總參科技委常委副主任、中國工程院院士錢七虎,信息產業部電子第六研究所總工程師吳克忠、中國科學院計算機軟件研究所研究院員仲萃豪、中國軟件標準實驗室副主任王芳等十余位離退休專家以新華社內參的形式指出,中國人自己開發的漢語程序設計語言,是從根本上實現中文計算機系統的有效途徑,希望國家有關部門給予關注和扶植。此外,信息產業部教育中心總工程師沈林興還把五筆字型輸入法、漢字激光照排系統和漢語編程視為漢字在計算機應用中的三大里程碑,“而漢語編程更具革命性意義”。
也許,我們沒有絲毫理由去懷疑眾多專家對于漢語編程價值的肯定,畢竟計算機語言是整個軟件業的核心技術,是實現人機對話的工具,掌握了屬于自己的編程語言就意味著我們不再受制于人。但問題是我們能夠做到這一點嗎?從理論上講,漢語編程應當是一種以漢語為描述語言的計算機程序設計語言,在程序設計中體現了漢語語法和邏輯,符合中國人的語言習慣和思維方式,而不是英文程序設計語言的簡單漢化,或者是簡單地營造一個漢語編程環境。很遺憾的是,目前我們所能見到的漢語編程語言,就只不過停留這個層次上,并沒有取得任何實質性的突破。事實上,從2001年到2002年間,北京市科委對某公司的漢語編程項目進行了5次評審,評審的結果是超過50%的專家并不認可漢語編程的可行性。
經過幾十年的發展,編程語言超過了2000種,但真正常用的仍然不過寥寥數種。一款優秀的編程語言,需要長期的技術積累,需要提供大量的類庫,需要用戶的支持,這些都是發展漢語編程必須解決的問題。有人認為用戶肯定不是問題,因為中國人自然會首選漢語編程工具,不過僅僅有語言環境的優勢顯然不足以吸引用戶,如果它的技術不過關的話。再進一步假設,即便漢語編程達到了國外編程語言的水平,那么也未必能夠得到專業的軟件公司青睞,畢竟他們在選擇一種新的編程語言時,會更多地考慮開發平臺遷移帶來的高昂成本以及程序員的適應能力。求伯君在談到漢語編程時就曾經表示,漢字不同英文,同一個單詞有很大的差異性,所以漢語編程也需要你去記憶大量的語法,經常編程的程序員將很難去適應新的編程工具。由此可見,漢語編程要想得到專業軟件公司支持的可能性并不大,而一款無法得到專業應用的編程工具是難以取得真正成功的,最多只能成為電腦愛好者的娛樂工具。
學過編程的朋友都知道,程序中絕大部分都是邏輯和數學表達式,與采用英語還是漢語來描述的關系實質并不大。從編程語言的發展歷史來看,它經歷了從匯編到高級、從面向過程到面向對象的轉變,而沒有英語、德語、俄語等不同語種工具的說法。所以說把漢語編程與C++、Java之類的編程語言相提并論,未免顯得過于夸張。更何況,即便把C++、Java中上萬個用英文拼成的庫函數名用漢字來代替,對于編程語言本身的發展也沒有任何價值,充其量不過是一種 “漢化”工作。從軟件開發技術的發展歷史來看,歷經了算法技術、結構化軟件技術、面向對象技術、分布式面向對象、技術軟件構件技術幾個階段,一種編程語言的生命力在于它能夠不斷地適應新的開發技術特點,與它采用的語種沒有多大關系。漢語編程要想能夠生存和發展,必須吸收國外優秀編程工具的優點,把漢語編程應用到最新的軟件開發技術中去。以我國軟件產業的現狀來看,要達到這個目標都很不現實,還何談要在漢語編程中體現漢語語法和邏輯、符合中國人的語言習慣和思維方式?
筆者所知道的漢語編程工具主要有兩種:漢語程序語言和易語言。漢語程序語言是在1993年由北京百樂航天應用技術公司漢語工控部的沈志斌發布的,最初為PC1.0版,是一個16位版本,只能在MS-DOS環境下運行。2000年,沈志斌組建了北京元易達公司,專門從事漢語編程的產品開發。經過近十年的發展,漢語程序語言目前最新的版本為2.03,能夠在WINDOWS9X/NT環境下運行。易語言是曾經和朱崇君一起開發CCED的吳濤于 2000年初開始開發的,這是一款Windows下全中文可視化編程語言,最新版本為 3.0。易語言自發布后,以其類似于VB的風格和徹底中文化的特點贏得了不少電腦愛好者的青睞,雖然沒有具體的統計數字表明易語言的用戶有多少,但筆者在易語言網站論壇上發現有不少用戶提出了在使用易語言的過程中遇到的問題。不過就易語言和漢語程序語言這兩款漢語編程工具現狀而言,雖然它們都采用了漢語作為程序設計描述語言,但要與主流的程序開發工具相比,還有很大的距離,而且筆者估計這種差距在短期內難以得到改觀。
事實上,把漢語編程定位在針對普通用戶的編程語言更為恰當,畢竟對于專業程序員而言,漢語作為程序設計的描述語言并沒有什么實際意義。更何況以國內軟件公司的實力和水平,要想開發出達到微軟、Borland等國外公司的編程開發工具水平的產品,基本上是一項不可能完成的任務。開發易語言的吳濤在接受記者采訪時就表示,他開發易語言的初衷就為了想讓更多的電腦愛好者能夠加入到軟件開發的行列中來,因為他們中有很多人想學編程,但一看到滿屏都是英文,大多就放棄了。此外,對于廣大中小學生而言,因為計算機專業英語的水平相當有限,所以漢語編程應該是他們的學習編程知識的首選工具。
總之,我們應當正確認識到國內的軟件技術水平與國外的巨大差距,完全沒有必要片面地夸大漢語編程的重要性,為了眼前利益不切實際地炒作,畢竟這不過是一項既不成熟、前景也不甚光明的技術。當然,筆者還是衷心地希望漢語編程的倡導者和愛好者們能夠務實創新,為提升我國的軟件技術水平作出自己的貢獻。
【轉】
我們技術網站的留言板上有個留言,“我們是搞中文編程推廣的專業網站,最近獲悉,貴站在搞語言開發,為了推動中國中文編程的早日普及,特邀請貴站有管人員到我站做客,發布貴語言的開發情況,以及相關介紹和下載資源等。”
我們固然是開發了高級腳本語言Koodoo語言,卻并不是中文編程,說實在的,我對所謂中文編程還挺反感。
中文編程不是什么新鮮玩意,僅僅把編程語言中的關鍵字替換成中文,用C的宏替換就可以了:
#define 假如 if
#define 否則 else
#define 真 true
#define 假 false
壓根就沒啥意義。
在天涯社區有個弟兄對這個分析的很透徹,他認為在操作系統API接口及相關文檔都是還是以英文為主的情況下,僅僅是語法中文化是沒有意義的,他還取了個憤怒的標題,“漢語編程,在漢芯事件之后中國軟件界最大的騙局” ,跟帖也是一邊倒地對所謂中文編程口誅筆伐。
透視所謂的中文編程,背后的要害是“中國特色”。企圖在科學、技術甚至經濟政治領域搞出所謂的“中國特色”。中國特色后面的東西,是保守和落后。就像今天在群里面討論的,網友“可想而知”說:“所謂中國特色,就是落后而又不承認”,網友“東進語音板卡”也說,“中國特色太要命”,我最后的結論是:中國特色變成了遮羞布和擋箭牌,不和世界潮流合拍、不承認普世價值的擋箭牌。
編程的真正復雜度在于邏輯和對具體編程領域的熟悉,而不在語言,就那么幾個關鍵字都學不會,還編程!確實要中文,你文檔中文就行了。
比如3D編程,主要難度在于3D數學和圖形學,這兩個學精了,3D編程簡單的很。
不管是用C++,C,或者C#都一樣。
拿數學來說,都是用字母和數字的,包括希臘字母的采用,而不是用象形字。
現實證明了字母比象形字在科學研究方面具有更大的表示意義,象形字可以用來表達語言含義,但不適合科學領域。
再說讓老頭老太太之類的學編程實在沒意義,這種專業性的活就有專業人士來做,其他人只要會用軟件就可以了。
計算機編程歷來是入門容易精通難,你用中文編程讓一些根本沒必要學編程的人學習編程,其結果不過是浪費別人的時間罷了,如果他想學編程,那幾個英文關鍵字難不了他,真正對他有幫助的就是文檔的中文化。
數學沒有什么中國數學,美國數學,法國數學的區別,這些知識都是全人類共享的,實在沒有必要搞什么中國特色。