要回答這個(gè)問(wèn)題,我們首先要從電腦程序運行基本說(shuō)起。電腦本身只能識別0和1組成的機器碼指令,為了方便對機器代碼的記憶,人們就用英文字符代替機器碼。例如x86的指令mov,對應的機器16位代碼0x88, 二進(jìn)制代碼10001000。這些英文字符的集合就是匯編語(yǔ)言。匯編語(yǔ)言是最接近機器語(yǔ)言的編程語(yǔ)言。高級語(yǔ)言,例如c,java等等,都需要用編譯軟件把他們的代碼編譯成匯編語(yǔ)言,或者用匯編語(yǔ)言來(lái)對代碼進(jìn)行解釋。前者叫做編譯型高級語(yǔ)言,后者叫做解釋型高級語(yǔ)言。無(wú)論那種高級語(yǔ)言,在機電腦上運行最終只能是機器碼。在電腦編程語(yǔ)言的發(fā)展中,大部分都是英美研發(fā)和設計的主力,所以都是英文作為基礎,所以編程語(yǔ)言都是英文的。
其次,電腦的發(fā)展都是英文系統先發(fā)展。中文系統相對比較落后。早期的電腦系統都沒(méi)有中文,還要專(zhuān)門(mén)的硬件和軟件來(lái)進(jìn)行漢化。早期有什么漢字卡,南極星、中文之星等漢化軟件。而且早期的電腦的內存小,按照k計算的,不像現在是按G計算的,英文就26個(gè)字符+符號就能解決輸入,而漢字系統一二級字庫就要200多k,極度不方便。所以一直未有漢字做為編程的語(yǔ)言出現。
其實(shí)中文是可以用來(lái)編程的。編程語(yǔ)言都是用關(guān)鍵字來(lái)做代碼的。關(guān)鍵字可以漢字來(lái)代替。例如if,就用如果,while就用當,函數printf就用打印,等等。不知道有多少人玩過(guò)中文的logo語(yǔ)言,我小時(shí)候玩過(guò),在apple ii電腦上,全部指令都用中文拼音代替了,例如repeat,變成了chongfu, 蠻有意思的。
我覺(jué)得用中文編程還是英文編程,就像用c還是java一樣。關(guān)鍵不是編程工具本身,而是要實(shí)現的功能和算法。