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