放開你們的腦洞大膽的想想,如果有一天代碼全部變成了中文會怎樣?
首先我們可以大致了解一下把英文程序員換成中文編碼會是什么樣子:
你以為會寫中文就會編程嗎?這就像你以為會寫漢字就會寫出好文章一樣。編程是和機器溝通,因此要用機器的語言而不是人類的語言。最早的程序就是0和1的數(shù)字,不是中文也不是英文。以前的程序員,每天寫程序就是在一條長長的紙帶上打孔表示0和1。后來發(fā)現(xiàn)0和1的二進制太麻煩了,就把0和1壓縮一下,用16進制表示,比如數(shù)字10,用二進制表示是1010,用16進制表示就是0A,這樣表達起來就更簡潔,但是輸入電腦后,仍然要轉換為二進制電腦才能明白。
后來,科學家們用簡單的英文單詞表示某些功能,比如加法,就用add表示,減法就用dec表示。程序員輸入add或dec后,系統(tǒng)會轉換為對應的算法。就這樣不斷的給不同的代碼段起名字。編程語言就是從數(shù)字編碼不斷壓縮提高層次,最后形成了當今的各種風格的編程語言。為什么碼農會討厭中文編程?我用最流行的易語言說明。
所謂全中文的易語言,其實就是把Visual Basic語言中每個英文單詞換成了對應的中文詞,其他都不變。比如Visual Basic的代碼是這樣:
if True thenPrint "OK"endif
換成了易語言,就是這樣了:
如果 真 那么打印 “OK"結束如果
其實也看得出來,英文寫的程序更為簡潔明了。
其次從語言學的角度來說,英文是線性的一維語言,而中文是平面的二維語言。
而程序恰恰是線性的一維的。也就是說,線性的英文正好能契合線性的程序。所以,中文并不適合現(xiàn)有的編程方式。(很大程度是因為計算機是由國外發(fā)明興起的,所以為了省去麻煩,中國也一直沿用的是英文編程。雖然如今也有易語言編程,但終究不是主流。)
不過隨著IT行業(yè)的發(fā)展,未來的變化可能會超出你的想象。未來可能會有多維度的量子計算,也許二維的中文反而會比一維的英文更適合。
眾所周知,目前主流的程序員編程都是用英文編程,這也是由時代發(fā)展趨勢決定的。