為什麼有這麼多人執著於中文編程,但並不被大家看好呢?

​之前寫過的文章有提到就是國內的一些系統,然後當時有人在評論區說真正的國產還需要是中文編程才可以。甚至還說出我們國家的電子科技和軟件方面趕不上國外也是和編程語言基本都是以英語為主的原因有關。所以我們要利用漢語為基礎研發屬於自己的編程語言。

我也問過一些小夥伴,就是為什麼有一些人執念於中文編程呢?小夥伴也給我的答案有很多,其中比較多的就是認為編程是英文的,所以學習起來難度高等。也有說自己英語底子不好的,所以編程學起來比較的難。

為什麼有這麼多人執著於中文編程,但並不被大家看好呢?

編程

那麼為什麼編程語言會採用主流的“英語”呢?還有一個問題,就是“英語”編程是否會對我們學習編程有很大的影響?最後一個問題就是為什麼有人會執念“中文編程”?
第一個問題計算機講究的是生態圈,這個我想不需要多少。目前計算機生態圈已經是構建的差不多了,我們使用的電子產品基本都是這個圈子中的一環,不管是手機產品還是其他的產品。因此如果要做出一件東西,那麼就是需要和這個生態圈兼容,技術人員的技術框架也是在現有的條件下的。另外在現有的條件下,設計一個程序語言並不是很難,但是最關鍵的是誰會用。所以說和趕不上國外沒有任何關係,畢竟我們也是參與建設的一環。不知道大家聽說過一個語言叫做易語言沒有,號稱中文編程,但是基本是沒有什麼市場的。目前我們的生態圈最開始建立的時候是西方國家建立的,所以這個是歷史的原因的,使用“英語”編程,另外我這裡的這個“英語”是打雙引號的,在後面我會講為什麼。

為什麼有這麼多人執著於中文編程,但並不被大家看好呢?

編程界面

第二個問題,我之認為中文編程始終是一個偽命題。這裡我也說為什麼我上面的“英語”是雙引號的。比如上面提到的易語言,就是再關鍵字上做了改變,把if寫成“如果”,把return寫成“返回”,把print寫成“顯示”而已,這樣做的意義是沒有的。比如說:

英文編程語言:

if (i>0)

cout << x.answer;

漢語編程語言:

如果 (變量1 > 0)

輸出 << 變量2.答案

但是這樣做的意義是什麼?並沒有任何的意義,只不過是成了“漢化”編程語言而已。其實編程用到的英語也不過是幾十個關鍵字,編程也是一樣的,一個編程語言自帶的部分也不過就是那一批關鍵詞而已:if then else class struct auto var while ......就算你做一個漢語編程語言,關鍵詞編程中文,無非也就是:如果 那麼 不然 類 結構體 自動 變量 當……

如果覺得我說的還不是很明白,如果上過高中的學過邏輯學這門課,裡面都是中文,那麼你明白裡面的邏輯嗎?寫程序,最重要的還是邏輯思維、數據結構這些,你用那些語言都無所謂。學過編程或者計算機的都瞭解一個名詞叫做二叉樹,英語的二叉樹和中文的二叉樹有區別嗎?英語裡面的面向對象是這個思想,漢語裡面的面向對象也還是這個思想。

為什麼有這麼多人執著於中文編程,但並不被大家看好呢?

去 ASCII

第三個問題,基本上我上面的也說的很清楚了。很多人執念除了不瞭解的人以外,絕大數的都是覺得學習編程太難了。其實學習編程太難,並不是因為英語的原因,只不過是沒有編程思維的原因。就算是把那些關鍵詞都換了,也是不行的。另外就是除了那些關鍵詞,一些變量、標識符你都可以用中文或者漢語拼音。現在一些編程語言也在去ASCII化。

為什麼有這麼多人執著於中文編程,但並不被大家看好呢?

標識符中文

學習阿拉伯數字的時候,沒有說因為這個是印度語所以說難學。說到底,有時候學不會,真的不能怪是不是“英語”編程,畢竟你還會寫Holle,world。


分享到:


相關文章: