提倡中文編程為什麼總遭到程序員嘲諷?

陽光空靈


個人感覺吧,可以用lol做例子。新手剛開始玩的時候,人物總是在左下角這邊的。熟練了以後,進入正軌了,就會把你匹配到右上角。一開始那是相當的不爽啊,感覺鼠標走完都走不利索了。但是玩多了以後,感覺也就那樣,匹配到那邊都沒關係。

我們學編程都是英文起步的,冷的突然要換成中文,這不是強行逼我走出舒適區嘛...所以被噴很正常,換位思考下就能理解了


biybiu


這個“五加二等於七”的例子,完全沒有說服力。如你所言,英文編程同樣使用阿拉伯數字和通用數學運算符號,而不是用英文自然語言的“five plus two equals seven”。

噴中文編程的聲音雖然很嘈雜,但仔細總結下來不過幾種套路。之前寫過一篇專門進行針對性回應的文章,有興趣的話可以整理後再發表出來。

關注本號“用中文編程”,敬請期待。

這裡要科普一下,多半開發者還不知道絕大多數常用英文編程語言早已支持中文命名標識符,比如 Python3 的開發團隊在2008年開始就從用戶社區反饋中意識到,非英語母語的開發者希望用母語命名,因為這樣可以提高代碼清晰度,更易於理解和編寫。

所以那些否定母語命名意義的,請先去這些語言的開發者社區嚷一聲“Unicode命名沒有用啊,刪去這個特性吧”,就等著其他非英語母語的開發者們出來打臉吧。

或者,試試把下面這些用中文命名標識符的代碼改成英文命名。代碼可讀性不比不知道,用過中文命名的就知好處。

Java

SQL

TypeScript


用中文編程


提倡中文編程,和想要一門中文編程語言的人,9成都是菜,以為把英文換成中文就容易編程了。認為喜歡英文環境編程的人是怕用了中午之後大家都會編程了。 有這種思想的人,連為什麼自己水平差都不知道,這根本就不是一個語言問題能解決的。。

計算機的經典教材,名著都是國外的,前沿的資料都是英文的,最火熱的開源社區也全是英文環境的。

如果一個人從菜鳥變成一個計算機行業的大神,必然是看了無數英文資料慢慢成長來的,這種人早就悟透了想要變強,英語就是一個必經之路,而編程語言裡面那幾個單詞都能成為絆腳石的話,這種人最多也就是個培訓班水平。 看再多的國內教材國內資料也只能算是吃別人剩下的東西,質量不僅差而且舊。

編程講究生態,就算有中文編程語言,一堆菜鳥在用,能產生什麼生態,本來中國的優秀開源軟件就沒多少,更別說用了中文把整個外國開發者全都拒之門外的閉關鎖國式開發了。別做夢了,就算中國的大神寫的開源項目,參與的開源項目,也是在github上全英文的。

有了中文編程語言,有第三方庫可用嗎?

openssl boost dpdk 等等這些庫是不可能再造一遍輪子的,因為菜鳥寫不出來,大神不屑於再發明一遍這種輪子。

所以鼓吹中文編程語言的人,多提升一下自己吧,真正有實力做一款優秀編程語言的人,如果知道自己的潛在用戶只是一些英文變量名都是障礙的人,那他一定不會費力做這麼一個東西出來的。


冰封灬飛飛


作為程序從業者,說點個人見解。

1,用英文是歷史原因;

2,編程環境生產使用的都是英文的,包括運行系統。

3,程序生態是英文的。

4,程序上語言只是符號,因此,不論你用什麼自然語言來表達,只要編譯器能轉換,都是可以的。

5,為什麼中文編譯只有小部分應用(如已知易語言基本用在做外掛,不算行業內): 編程要的是無二義性,這方面這些年全世界花了很大代價才形成目前狀態。如果是中文,同樣一個‘花’,在不同語調,語境下有豐富的含義,這時就需要其它東西來輔助表述,從而帶來更多複雜度。一般程序需要用的是不到100個關鍵字,越少就越易形成生產力,當然前提是無二義性。這符合中國傳統哲學,陰陽可涵蓋一切,電信號本身0和1是陰陽理論在電相關領域的實際應用,這個是發明人本身承認的,道理是相通的,原理是自然的。

6,從實用角度來看,不管白貓黑貓,能抓到老鼠就是好貓。從現階段程序領域看,目前英文佔據優勢。因此,用何種自然語言,這是自然選擇的結果。在合適的地方用合適的材料,並不是因為材料非得用最貴的,最貴的不見得合適。或許將來有一天,程序會用中文來寫,但一定不是因為符號本身,而可能是因為社會發展,思維的需要了。英文背後是線性思維,中文背後是立體思維。其實,現在很多項目已經在用中文思維來解決更加複雜的問題了,只是表面用字母符號來表達而已,這也是當前甚至以後各領域中國影響力越來越大的原因。按照三體孫介紹的,是降維打擊,我們不用妄自菲薄。

7,看盡千帆過,跳出此山中。不用太糾結於表面形式,尋找更深本質,或許會更好。

與各位討論。


原語奮鬥


提倡中文編程的都是不懂計算機的人,因為在編程時用到英語主要不是用到語言本身,而是26個字母,換成其它語言的字母也可以,數字、字母、符號這些是編程的基礎,對應ascii碼,在編碼時比漢字方便,但最終都要轉換為0和1機器才認識。你設置密碼用1,2,3,a,b,c是不是比壹貳叄方便,數字和字母在鍵盤上按一個鍵就出來了,漢字要好幾個健,就是編碼的原因。


取名不符規範


不知道提倡中文編程的人,到底弄清楚了自己實際訴求了沒有。

中文不能編程,同樣,英文也不能編程。計算機語言是獨立於中文和英語等自然語言之外的“語言”體系,有自己的規則和語法,只是這個語言體系的符號用的是英語字母,就有如日語裡面也會有漢字一樣。

回到這個問題上,所謂的中文編程,是希望用漢字符號替換掉字母符號嗎?能提升民族自豪感?必要性在哪裡?作為一個程序員每天熬夜加班頭都禿了,當然希望計算機語言所使用的符號用鍵盤輸入越簡單,越快速越好!


awded


1、 語言機制擺在那,漢語我們的母語使用起來自然方便,但是作為編程語言,可能沒那麼方便,這裡的編程指的是寫代碼,不不是拖控件那種GUI開發,比如"if()...else..."語句,用英文單詞不會產生歧義,漢語博大精深,“意思”的意思不用說了吧,就比如說代替前面的"if()...else..."語句,可以用“如果……那麼”,亦或是“假如……就”,反正怎麼都能翻譯,但是高級語言寫的代碼是給計算機理解的,不允許產生歧義。而且用英文寫代碼更簡潔不是麼;

2、寫過代碼的人亦或是瞭解計算機基礎的人,大概瞭解操作系統,編譯原理等知識,操作系統內核沒有中文寫的吧,當然可以封裝接口調用庫函數,你不損失性能麼?

3、用中文編程不是不可以,而是沒必要,你去利用利用計算機是解決問題,怎麼方便怎麼來,什麼順手什麼來,包括編程語言的選擇這些,工作中不可能一門語言你就能走向人生巔峰,做C++的項目中會遇到Java代碼,做Java的做到高級工程師你不還得了解內存管理和指針傳參麼,Python也是一樣,只不過有各自的適用場景和生態體系,沒有好壞之分,做到後期,還是回到了操作系統,計算機網絡等基礎知識以及相應領域的技術體系。再說了,現在小孩幼兒園就已經開始學習英文了,有必要糾結單詞麼,畢竟英語還是國際語言,就算有理想封裝一套漢語編程語言,怎麼推廣了?現在全球化,甚至就算用漢語寫操作系統寫出來了,大廠會用麼。什麼東西都有他自己各自的適用場景,主體是人,我們眼光不能太侷限!


柚子樹plus


因為中文編程本來就是個偽命題。會編程的人都懂,語言從來不是關鍵,思路,算法才是核心,如何用自己的思路將計算機調教好,才是王道。就跟老師教你二元一次方程,x+y=3,中文編程者只是想改成甲加乙等於三。難道換成甲乙丙丁解答起來就更順滑?只是表象上換了個表達罷了。毫無價值。就跟討論為什麼沒有中國的西餐一樣,滑稽。


鹿見車


一堆回答,都是長篇大論。真的不想看你們發那麼長的。大多都是門外漢在裝高深。

中文編程,不是不能編,它可以。你要看它用在什麼地方,用什麼語言去編。比如寫外掛,很多人用漢語言,誰能嘲笑它用的不對呢。再比如你用java,你用中文編程。首先人家的關鍵詞都是英文,你又寫英文又寫中文,結構看起來就很亂。其次,JAVA是運行在虛擬機上的。每個變量都存在虛擬機裡。一箇中文2-4個字節,一個英文就一個字節。你全定義中文變量,就等於浪費內存。怎能不惹人嘲笑。最基礎的都不懂。


BonjourBo


雖然我是個只會寫if,else的小辣雞,但我也嘗試回答下吧:

1.好好搞懂計算機原理就不會問這個問題了,底層都是英文國家的人搭建好的,從一出生開始就是為英文在服務,連鍵盤都是英文的

2.基於1,導致使用中文編程,中間仍然要先轉化為英文,若不是,參考3

3.if兩個字節,如果四個字節,浪費儲存空間

真一天叫囂著要中文編程的話,不如重新建立一套計算機體系去?


分享到:


相關文章: