個人覺得,和雙字節(jié)并沒有太大的關(guān)系。
其實(shí)我們現(xiàn)在的編程語言中,你也可以做一些封裝,把所有的函數(shù)都定義為中文,變量也可以定義為中文,但是為什么沒有人這么做呢?根本的原因是不方便。
英文屬于是表音文字,也叫拼音文字或者字母文字,一共也就26個字母,音素文字的優(yōu)點(diǎn)就是,看到它大概率知道怎么讀,缺點(diǎn)是光看單詞可能不知道意思。剛好,程序員可以不用知道這個函數(shù)的翻譯,知道用來干嘛就好了。
對于編程來說,無外乎就是這26個字母的簡單組合(開發(fā)語言中也很少出現(xiàn)拼寫非常復(fù)雜函數(shù)),對于程序員來說,非常好記憶。還有另一個好處就是,即使我不認(rèn)識英文,只要認(rèn)識26個字母,我也可以別人交流。
例如:我們定義變量的時候常常會寫var,我不知道var怎么念,我可以說V-A-R,別人也能懂。
如果我們的編程語言是中文會有什么問題呢?
中文是表意文字,也或者說是象形文字,也就是說,看到這個字,我們可能知道含義,但是怎么讀?可能不清楚。
這就讓中文編程出現(xiàn)了第一個瓶頸,假設(shè)一個字我不認(rèn)識,我怎么和別人溝通呢?那相比英文的編程,中文編程的門款就會高很多。我不會英文,只是認(rèn)識26個字母,我可以編程,但是我不會中文,那么我就沒法編程,不管是拼音輸入法還是五筆輸入法,都要求我先認(rèn)識中文。
那么中文編程的第二個瓶頸也由此出現(xiàn)了,英文單詞是26個字母的組合,但是中文單詞是上萬個漢字的組合。如果哪天一個神神叨叨的同事用一個生僻字定義了一個函數(shù)或者變量,我如果其他同事想哭的心都有了。
當(dāng)然,中文也非常不適合快速編程,交互上不太友好。要知道我們的計算機(jī)鍵盤就那么大點(diǎn),裝不下上萬個中文字,那么中文輸入法就成為了中文編程的必須。而這個時候,我們用英文寫一段代碼可能是:
for(vari=0;i<10;i++){
if(obj[i]>0){
……
}
else{
……
}
}
算上去,我們就算不借助代碼提示,純手寫的方式也就大概敲40下左右的鍵盤。但是,換成中文以后就不一樣了。我們就用以前有人設(shè)計過的一種中文編程方式寫一下上面這段代碼吧:
循環(huán)(整數(shù)呀=0;呀<10;呀++){
假設(shè)(數(shù)組[呀]>0){
}
否則{
}
}
首先,我在輸入的時候,我需要來回的切換中文輸入法和半角的字符輸入,不然就會出現(xiàn)括號使用的中文括號的情況,當(dāng)然,這個可以通過設(shè)置輸入法來解決,我們先不看成一種困難。
其次,使用英文編程時,我們輸入for,三次按鍵,而循環(huán)兩字,全拼輸入需要7次按鍵加一次回車或空格,if兩次按鍵,而中文需要5次按鍵加一次空格,而且代碼提示在中文輸入時很難產(chǎn)生作用。
這也就讓中文編程語言的發(fā)展更加的困難了。因此,作為一個編程語言,簡單直白,上手方便才是最主要的,在這點(diǎn)上,表音文字有先天的優(yōu)勢,俄語、日語其實(shí)都有成為編程語言基礎(chǔ)文字的潛力,但是中文卻很有難度。這和中文是不是雙字節(jié)并沒有太大的關(guān)系,就算英文是雙字節(jié),也不會影響它使用的便利性。