現(xiàn)在的編程代碼全部都是英文,有沒有可能有一天編程代碼全是中文呢?而且如果當(dāng)年計算機由中國人發(fā)明,編程代碼是否就是以中文為主呢?
觀點1:其實什么語言都能編程,發(fā)明一門編程語言也不是難事,很多編程語言只是創(chuàng)造者花了十天半月發(fā)明出來的,每一門語言都是在特定的環(huán)境中運行,必須經(jīng)過編譯器編譯成0和1。
中文編程占的字符太多,編譯出來后太臃腫,執(zhí)行效率太低。 說用中文編程的人都是不會編程的人,其實編程語言和英語關(guān)系不大,我不會英語,但是現(xiàn)在會html JavaScript php Python 而且學(xué)會的時間并不長,php學(xué)了半個月,JavaScript 學(xué)了幾天基礎(chǔ)語法,Python 也是十來天, 學(xué)一門語言并不難,但要深入就難了,像我寫程序大部分時間是在思考實現(xiàn)邏輯和方法,寫代碼的時間是很少的,簡單的代碼自己記住,復(fù)雜的函數(shù)做筆記,后面用時復(fù)制粘貼。
到現(xiàn)在我能開發(fā)出只要想得到的任何功能,但依然有很多單詞我讀不出,函數(shù)記不住。說起來別人還不信。 其實我只要知道有這么一個函數(shù),這么一個公式,這么一個方法能實現(xiàn)這么一個功能,具體代碼怎么寫,單詞怎么拼,一是筆記,二是百度,三是以前寫過的項目。
觀點2:我想說用中文編程并不是一種好的解決方案,鍵盤上用26個按鍵能代表26個英文字母,用26個字母能組合出成千上萬個單詞,這是字母編程的優(yōu)勢,你不可能組一個幾平方的鍵盤陣把所有中文字都一一對應(yīng)一個按鍵,別說制作成本,單是你要在這么大的鍵盤上找到你想要的那個字就不可能,那么剩下的就是用目前的解決方案——拼音來進行漢字輸入,可是歸根結(jié)底拼音也還是字母,既然能用字母編程,那為何還要先講字母拼音轉(zhuǎn)換為漢子再進行編程。
即使中國人想要開發(fā)一門計算機語言,用漢字明顯是不合適的,漢字太多,單字節(jié)無法表示出所有的漢字。別跟我提易語言,來做arm開發(fā)試試?易語言就是對C的封裝,卻做不了C能做的事。簡單來說我在C中添加個宏#define 整形 int我也一樣用漢語編程。最后說字母是個有限的集合,漢字幾乎是無限的,一直不斷的有新的漢字被發(fā)明或者被發(fā)現(xiàn),除非有人每年花大量的時間維護漢字集,否則搞不好哪天你寫個偏僻字計算機都不認(rèn)識,如果真實這樣了,誰來做編譯優(yōu)化?這里所說的字母只是一只有限的符號集合,并非一定是英文字母還是希臘字母。
觀點3:計算機底層語言為什么是英語呢,我們在打開電腦進入自檢程序時,屏幕上顯示的為什么是英語而不是漢語或其他語言呢,這個問題的確和計算機是美國人發(fā)明的有關(guān)系,因為美國人使用的字符集叫acsii碼,全稱是“美國國家信息交換用標(biāo)準(zhǔn)字符集”這個字符集包含26個英文字母大小寫和10個阿拉伯?dāng)?shù)字,還有一些標(biāo)點符號和一些轉(zhuǎn)義字符(如空格,回車等),我們中國也有類似的字符集,叫“國家漢字信息交換用標(biāo)準(zhǔn)字符集”,好像簡稱“國標(biāo)碼”吧。
當(dāng)然其所包含的漢字符號個數(shù)要比acsii碼多得多,acsii碼只需一個字節(jié)就能表示完所有字符,而國標(biāo)碼卻要兩個字節(jié),如果要表示完所有漢字則還需要更多,這樣導(dǎo)致漢字比英語需要更多的存儲容量,(不過在存儲技術(shù)飛速發(fā)展的今天,這已不成問題)如果計算機是中國人發(fā)明,那肯定會理所當(dāng)然將“國標(biāo)碼作為基本字符集啦”。如果是這樣的話,那么童鞋們打開電腦進入自檢程序時,在屏幕上看到的很可能是漢語的提示,這樣電腦有問題也能很快知道問題出在哪里了,而不會因為不懂英語而苦惱。
如果計算機是中國人發(fā)明的,那么像c語言這類的計算機語言的關(guān)鍵字和程序的注釋也有可能會換成漢字,那么我們學(xué)習(xí)程序設(shè)計自然會感到親切一些,還有各種計算機術(shù)語,文獻(xiàn)都是漢語,這樣對國民計算機知識的普及也會有一些作用。竊以為,如果不是美國人發(fā)明了計算機那么中國人再過一千年也不會發(fā)明計算機,這不是說中國人智商不如老外,而是因為我們的文化的原因。話說回來,既然老外發(fā)明計算機再先已是既定事實,我們也不必為此而感到沮喪,也不必為計算機里充斥著英語而感到懊惱。如果童鞋們立志要搞懂計算機,其實所需要搞懂的單詞是有限的,就拿c語言來說,其關(guān)鍵字也才30多個,用點心很容易記住。我也鼓勵大家學(xué)好英語,畢竟計算機是老外發(fā)明的,各種標(biāo)注都是人家制定的,如果中國想推翻從來,不但要從頭開始推翻人家的技術(shù),還要推翻人家的市場,這是不現(xiàn)實的。一句話,學(xué)人所長,補己之短吧。
觀點4:肯定的,可能很多人想當(dāng)然的認(rèn)為學(xué)編程與語言關(guān)系不大,我想說,學(xué)的速度關(guān)系大了去了。 比如通用的matlab,你遇到一個新的函數(shù),想看看這個函數(shù)到底怎么用的,打開函數(shù)瀏覽器,突然發(fā)現(xiàn),全是英文,看不懂,看的懂得也是猜了一些,英語大神的咱不說了。 還有上面有人說,英文if while等等比如果簡單方便,那是你想當(dāng)然,先入為主,如果是中國發(fā)明的,你會發(fā)現(xiàn)中文編程也是如此方便,最起碼,遇到一些函數(shù),比如求平均數(shù)的函數(shù),你會首先查“平均”,但是英文,你就得上網(wǎng)查查,而不能直接想到求平均的函數(shù)名是什么,這只是簡單的,如果你用到matlab3d仿真功能,更加復(fù)雜的編程,你就會發(fā)現(xiàn),區(qū)別大了。 很多單詞,你看程序的第一眼,首先不知道是什么意思,但是如果人家外國人,看一眼,可能就猜到意思了,幾個單詞縮寫,大概意思一目了然。 如果是中文編程,你看一遍,下次你在用,你就可以很熟練的作用,寫出來,可是英文,你就可能就不得單詞怎么寫,甚至忘了這么個函數(shù)。 編程,與語言無關(guān)。 但是編程語言會極大的影響你學(xué)習(xí)編程的速度與深度。 也會影響你寫程序的思路。
-
計算機
+關(guān)注
關(guān)注
19文章
7366瀏覽量
87633 -
C語言
+關(guān)注
關(guān)注
180文章
7594瀏覽量
135864 -
編程語言
+關(guān)注
關(guān)注
10文章
1929瀏覽量
34540
原文標(biāo)題:如果電腦技術(shù)最初是中國人發(fā)明的,那現(xiàn)在編程是不是就是中文的?
文章出處:【微信號:gh_dae0718828df,微信公眾號:gh_dae0718828df】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論