為什么不能用漢字編程?
看到現(xiàn)在的程序,都是英文,如果在一年之內(nèi)中國(guó)不能只用自己的文字來(lái)編程,則中國(guó)在可以業(yè)界就完全是一棵小草,必須從技術(shù)上徹底根除
還記得這是曾經(jīng)一個(gè)網(wǎng)友在百度知道里說(shuō)的話(huà)。看到當(dāng)時(shí)就笑了。
如今已經(jīng)2017了,這種問(wèn)題應(yīng)該不會(huì)再有了吧,但是搜了搜,仍然遍地都是。
今天徹底說(shuō)清楚,為什么編程不能用中文?
原因只有一個(gè)~編程里有英文詞,但不是英文。這是最想說(shuō)明白的。
有人在知乎上這么說(shuō):"我用Python、C++、Java編程,而不是用英文編程。""「別人都是用英文編程的」這個(gè)概念是錯(cuò)誤的,程序語(yǔ)言就是程序語(yǔ)言。"
即使你精通英語(yǔ),也看不懂程序員寫(xiě)的程序。因?yàn)?,英文是英文,程序碼是程序碼。即使是一個(gè)世界語(yǔ)言學(xué)專(zhuān)家,你給他一段C++語(yǔ)言寫(xiě)的程序,他也是看不懂。
示例:
#include "iostream.h"
using namespace std;
class A{public:int inside_A;};
void main(){A *obja=new A;A **addr=&obja;cout<<**addr<
好,我們翻譯成中文:
#包含 "輸出輸入流.頭"
使用 命名空間 斯他的;
類(lèi) 一{
共:整形 其一;};
沒(méi)有 主(){一 *物一=新 一;一 **其位=&物;出<<**其位<<結(jié)束行;}
看看翻譯成中文的這個(gè)程序,這就是你讓一個(gè)精通英文的英文大師去看一段程序碼,他所看到的。
有人說(shuō),其實(shí)還有一個(gè)原因就是:漢字輸入太麻煩。這個(gè)我反對(duì),現(xiàn)在有五筆和二逼輸入法,鍵盤(pán)錄入速度應(yīng)該是不難了。只是編碼問(wèn)題(比如老板qt creator里只要輸入漢字就會(huì)編譯不通過(guò)..)
現(xiàn)在倒是有中文編程。但那是 中·文·編·程,不是漢語(yǔ)編程,就是說(shuō),還是編程語(yǔ)言,不是人說(shuō)的,不過(guò)用的詞是中國(guó)的文字而已。E語(yǔ)言,TC都是,并且C++/C語(yǔ)言只要加上一些中文詞語(yǔ)的宏定義,也可以使用中文編程。
其實(shí)有漢語(yǔ)編程的,但是但是并不實(shí)際。編程的語(yǔ)言知識(shí)一種代碼,最終還是轉(zhuǎn)成2進(jìn)制,所以理論上用什么語(yǔ)言編程都是一樣的。問(wèn)題在于,編程語(yǔ)言要有嚴(yán)格的規(guī)定,并且不能重復(fù)。對(duì)此,英文比中文更有優(yōu)勢(shì)。
其一、中國(guó)人講中文,都有嚴(yán)格按語(yǔ)法來(lái)說(shuō)嗎,中文有倒裝,省略,但是這些,電腦是看不懂的。
其二、漢字太多,多音字也很多,用命令的時(shí)候不能很快。
其三、參數(shù)問(wèn)題,幾乎通用的參數(shù)都是字母加字符,用中文,畫(huà)蛇添足了。
其四、一個(gè)漢字占用二個(gè)字符,這樣寫(xiě)的程序顯得臃腫,并且影響編輯。