如果代碼是中文,真的就會(huì)更簡(jiǎn)單嗎?
想必大家都知道咱們?nèi)A夏文化博大精深,隨著中國(guó)國(guó)力的逐漸強(qiáng)盛,中華文化也成功的向國(guó)際不斷蔓延,以前那群還在對(duì)中國(guó)制造嗤之以鼻的外國(guó)人,如今也不得不對(duì)咱們的產(chǎn)品質(zhì)量稱贊連連,一次又一次的中國(guó)速度更是讓中內(nèi)外所有人驚嘆不已!
而與此同時(shí),隨著互聯(lián)網(wǎng)和科技的蓬勃發(fā)展,在IT圈子里面突然出現(xiàn)了一個(gè)很有意思的問題,那就是“如果代碼是中文,編程會(huì)不會(huì)更容易?”,面對(duì)這個(gè)問題,程序員們都顯得畢竟冷靜,而非相關(guān)行業(yè)的網(wǎng)友們倒是爭(zhēng)論得比較厲害,其中有人就認(rèn)為,中文不適合用來(lái)編程,理由就是中文字符在計(jì)算機(jī)中占用的位置比英文更多,且中文能賦予的含義太多,比如以前有一句很火廣告詞“買房送女友!”,你以為你買房,開發(fā)商就送你一個(gè)女朋友?顯然,開發(fā)商解釋的是“你買房送給你的女朋友!”,一語(yǔ)雙關(guān)的文案在中文里并不少見,這也就成了網(wǎng)友認(rèn)為中文不適合用來(lái)編程的理由之一。
那么中文到底能不能用來(lái)編程?答案是肯定的,大家都知道的“易語(yǔ)言”就是典型的中文編程,雖然根本上還是英文,但在程序員手里是不用直接寫英文代碼的,不光是我們常用的,就連文言文也可以用來(lái)編程,國(guó)內(nèi)已經(jīng)有大神做了這個(gè)項(xiàng)目,感興趣的可以去搜一搜,具體的我就不多說(shuō)了,隨便一搜就能搜到。
內(nèi)行基本不用怎么解釋,只要知道如今的編程理念,有點(diǎn)基礎(chǔ)知識(shí)就都知道,編程和使用啥語(yǔ)言文字關(guān)系不大,重點(diǎn)在邏輯思維上,比如你拿一個(gè)蘋果給機(jī)器人,你得知道你接下來(lái)得讓機(jī)器人干什么,如果你給的不是蘋果,而是給了機(jī)器人一把香蕉,機(jī)器人這時(shí)候又得干什么,程序是特別死板的一個(gè)東西,你讓它往東,它絕不往西,如果沒往東,那就是BUG;而對(duì)于中文是否適合用來(lái)當(dāng)編程語(yǔ)言,就目前來(lái)說(shuō),確實(shí)不適合,你要問為什么,我只能告訴你,因?yàn)橛?jì)算機(jī)是外國(guó)人發(fā)明的,一開始人家就沒往你中國(guó)這上面考慮,所以對(duì)中文的優(yōu)化等方面,都遠(yuǎn)不如英文;你也許又會(huì)問,如果計(jì)算機(jī)一開始是中國(guó)發(fā)明的,那么中文是不是就適合了?我的回答是“不一定!”,因?yàn)楝F(xiàn)在的計(jì)算機(jī)理論各方面都是基于外國(guó)人的,如果計(jì)算機(jī)是咱們發(fā)明的,為了貼合我們的文化和文字,現(xiàn)在的一切計(jì)算機(jī)理論很有可能都會(huì)被推翻,一切就成了未知,只能說(shuō)一切皆有可能,別說(shuō)中文,指不定到時(shí)候咱們會(huì)單獨(dú)發(fā)明一種文字來(lái)作為計(jì)算機(jī)專用文字也不是不可能,現(xiàn)在的計(jì)算機(jī)進(jìn)制啥的都可能不復(fù)存在,這就好比換了一顆種子,長(zhǎng)出來(lái)的還會(huì)是原來(lái)那顆樹嗎?
再簡(jiǎn)單說(shuō)一下為什么中文可以用作為程序代碼的主要文字,因?yàn)楝F(xiàn)在我們所能用到的,都是別人給你封裝好的,就像是積木一樣,程序員只是在搭建積木,而這積木的形狀,顏色都是廠家給你弄好了的,你就搭就行了,所以別說(shuō)中文,你拿火星文都可以編程,只要?jiǎng)e人把一切都給你定義好了,你只管大展拳腳,剩下的交給廠家,廠家積木的啥形狀,啥顏色都有,你能搭建出什么那就是你的本事了。
那用中文編程就沒有任何好處嗎?對(duì)于我們來(lái)說(shuō)是有的,畢竟是母語(yǔ),從小接觸到大,學(xué)習(xí)起來(lái)只會(huì)事半功倍,對(duì)于國(guó)人來(lái)說(shuō),編程的門檻就會(huì)更低,雖然本身門檻也不高,到對(duì)于那些看見英語(yǔ)就頭大的同學(xué)來(lái)說(shuō),確實(shí)是個(gè)福利;但對(duì)于外國(guó)人來(lái)說(shuō)就不一樣了,本身中文就比較復(fù)雜,還同音字,多音字,一二三四五學(xué)完不算,還得知道壹貳叁肆伍,你讓他們接受中文代碼,還不如給他一刀痛快的,中文代碼還沒發(fā)展起來(lái),就得死在搖籃里。
綜上所述,就是俺對(duì)于中文代碼的一些解釋,主要讓非it行業(yè)人員了解到,中文可以作為代碼,但不提倡,也不適合,這里的不適合,并不是因?yàn)橹形牡囊辉~多義,和這完全沒有關(guān)系,人類才會(huì)思考,計(jì)算機(jī)可不會(huì),所以一詞多義啥的不是中文不適合作為計(jì)算機(jī)編程語(yǔ)言的原因,什么都是提前定義好的,如果我把“1+1”的結(jié)果定義為3,計(jì)算機(jī)是不會(huì)自己解出“2”的,我把“買房送女友!”定義為“買裝房子送給你的女朋友”,計(jì)算機(jī)就不會(huì)想到“開發(fā)商送女朋友”這層意思,故而不管你一詞多少意義,都和計(jì)算機(jī)沒半毛錢關(guān)系;中文之所以不適合,無(wú)非就是我上面說(shuō)的,計(jì)算機(jī)是外國(guó)人鼓搗出來(lái)的,對(duì)于中穩(wěn)的友好程度并不高,并且中文畢竟難學(xué),對(duì)于市場(chǎng)的推廣很不利,這兩個(gè)是最主要的原因。