為什麼很多人不喜歡甚至排斥用中文編程?

CC宅漫周邊


個人理解排斥中文編程的原因:

  1. 一開始接觸的就是英文的編程,我們所知道的語言,基本都是英語的編程語言。

  2. 中文的編程,(生態方面)支持庫無法和流行的語言相提並論,英文的太多、太豐富啦。

  3. 所謂的要世界推廣或者說要和非漢語人士交流代碼,也是個偽命題。

下面是具體解釋了。

第一條:

  • 這個是有目共睹的,煩是你能說出名字的編程語言,幾乎都是英文的。看看這個排行榜,都是英語的。之所以都是英語的,大家應該都清楚原因,一個是使用英語的國家的強大,一個是使用它的人是真的多。不要拿漢語使用人數的絕對數量來抬槓使用英語人的數量。漢語用的人再多,也只侷限於中國領土範圍內!

  • 上述表格裡的語言,就編程語言本身來說,使用到的英文單詞確實不多,這也是一些人噴主張漢字編程的一個理由。確實,幾個單詞小學、初中的水平足夠用了。但,會編程裡的那幾個單詞,你是無法編程的。最簡單的,比如我想看下幫助,這個我是真看不懂啊。更別提這些語言的那些個文章了。雖然也有中文的,基本也是使用英語的方式來寫。比如這個函數幫助文檔,

    比如這本中文化的書《Python基礎教程》,這本書還是很有名氣的,作為一個使用漢語的人,雖然我那點英語還能看懂上面的代碼,但看著真的眼花頭暈呀!

第二條:

生態方面,這個更沒法和英文編程語言比。因為用的人多,因為他們足夠強大,所以他們越來越強大。按“我們”的尿性,學好英語就可以了,根本不需要自己的編程語言,即便是有,也弄個英文的就行了,沒必要使用漢語。

  • 一個語言,是不可能你每個步驟都自己去寫實現方法的。比如輸出一個消息“你好”,我想沒有誰會去重新寫如何輸出“你好”的所有代碼。你會直接print(“你好”),至於print是如何實現的,不是編程的人需要關心的。所以就有很多的函數、很多的庫來供我們使用。這些個輔助基本都是英文的,😭看不懂啊。

  • 特別是對於一個新手來說,中文、或者說能看懂是最好的幫助。如果你英文很厲害,當我沒說。

  • 就拿最基本的,windows的API來說,都是字母,真心看著眼花,有人說,你可以搜索翻譯呀,也有一部分是翻譯好的呀,是呀,你說的都對,我無言以對。說多了都是給自己找藉口,誰讓咱英語差呢。


第三條:

有些朋友說漢語不利於世界推廣,不利於和非漢語的認識交流。你說的對,但只是一方面而已。

  • 你完全可以使用中文的編程寫出英文的代碼。上圖是易語言的輸入,你可以使用if來創建,這個大家都知道if是啥。你也可以使用rg(拼音)來創建,你也可以使用“如果”來創建,對於關鍵字來說,不存在什麼英語、漢語,或者說納美人語,這些都可以隨意的翻譯,或者說可以軟件自動替換的。中國人看,可以給你替換成“如果”;外國人看,可以給你顯示“if”。這個是很容易實現的。

  • 你若想交流,你可以連註釋都用英語呀,你還可以說英語、日語和外籍同事交流。這和使用英語或者漢語編程語言沒有關係好不好。

總結:

個人觀點:還是需要有個中文的編程會比較好。目前像樣的中文編程也就是易語言比較有名,但也是個無人關心的過氣網紅了。有些人噴易語言都用來寫外掛了,呵呵,還不是因為易語言容易上手、好學!Python也這麼容易看懂,誰學易語言!!易語言可以全程中文,沒有任何門檻,認識漢字就可以。像Python這樣的,可以有公益組織(我指的是某部門)給中文化一下,不會有人又讓我好好學習英語吧😄


有不同意見的歡迎來走走,只要有道理


葉紅筆記


從事軟件開發多年主要在瀏覽器內核,安卓框架,多媒體等領域研究的比較多,主要編程語言是C/C++ java等三種編程語言,對於易語言簡單做了幾個小功能,做了下嘗試,從本質上講差異不是很大,都是需要遵循一些語法細節,可能是用的時間短的緣故整體感覺還是怪怪的,主要是長期在英文編程環境下已經養成習慣,至於是不是中文倒是沒有太大的感觸。

說到對易語言接觸時間也不短了,剛入行不久喜歡寫一些技術博客,也算是結實了一些粉絲,和有些粉絲聊得比較多,其中一個人在研究易語言想通過易語言做註冊機,從技術上角度不太喜歡玩這些看似很無聊的東西,架不住三番五次的勸說就多少了解一下易語言,然後看看如何實現,弄了沒多久覺得實在無聊,就果斷放棄了,純正的程序員一般不太喜歡搞什麼遊戲外掛或者黑產之類的東西,但現在很多學歷不高的人通過易語言在鼓搗這些東西,想從中謀取暴利,國家已經有明確的法律規定對於非法的遊戲收益真要有人較真到底,還真是違法犯罪的事情。

有個同事講過一個故事,有個人專門研究騰訊的一款遊戲,然後從中獲取了幾百萬的收益後來被發現並報警,由於但是立法還不太完善,在裡面呆了幾個月罰了點錢又放出來了,易語言誕生的年份已經不短了,當初帶著極好的愛國主義情懷,喜歡有一個屬於中國人自己的編程語言,雖然在內部實現上可能就做了一次轉化而已,起碼讓一些英文不好的人能上手寫代碼了,這算是易語言最大的貢獻了。

任何一種編程語言的誕生或者存在都是為了解決當時非常棘手的問題,然後慢慢的被大家接受,通過時間的積累慢慢培養了生態鏈,也就是大家常說的各種編程社區,然後一群志同道合的人在裡面討論這種編程語言如何來使用,如何來改進,如果是深層次的參與者慢慢加入到核心修改小組,不停的對編程語言的版本以及未來的發展趨勢做貢獻,現在主流的編程語言都是這麼衍生而來的,社區力量的強大與否代表著當前這種編程語言的受歡迎程度,目前就國內的編程語言而言無疑java屬於老大,在開源社區裡面java方面的開源項目最多,這就是生態鏈,生態鏈的建立不是一天兩天的事情,需要具備很多因素,還要跟上時代的潮流。

為什麼很多正牌的程序員對於易語言不感冒?

1.編程習慣,絕大部分程序員已經習慣於英文字符的編程模式,切換成中文有諸多的不習慣,而且就編程語言的本質而言最終還是0,1的轉化,中間做了一些轉化而已,在執行效率上還不如英文轉化效率高

2.生態鏈不夠成熟,對於編程語言的使用者來講什麼編程語言最能解決實際的問題就採用誰,這也是生產力發展的需要,不可能為了追求狹義的愛國主義情懷就是採用一種編程語言,易語言的生態鏈體系哈有待繼續的加強發展,畢竟任何一種編程語言都需要來自五湖四海的程序員來共同托起。

3.易語言在某些場景下還是受限,舉個例子在服務端的併發性處理上就有點捉襟見肘了,不可能一種編程語言就一統天下了,這種需要強大的生態鏈支持,就目前狀態而言易語言要走的路還是很長。

對於一個技術人員來講,在合適的場景選擇合適的編程語言,選擇最佳的實現方式,畢竟對於企業來講首先要考慮最短的時間內出成品,所有的企業的程序員都是遵從現實環境,真能解決實際問題的編程語言,本身就自帶推廣特性。

希望能幫到你。


大學生編程指南


需求:某個變量循環十次,每次的值都加1

java:for(int i=0;i<10;i++){}

易語言:循環體(整形 變量 等於 零 ;變量 小於 十;自增 變量)

首先我們來分析閱讀性,假如一個外行人來閱讀這兩份代碼,雖然不知道for什麼意思,int什麼意思,但我相信正常人至少都能看懂第一份代碼i=0這一行吧;但是再來看易語言寫出來的代碼,循環體啥意思,我只聽過循環,循環體是幹啥用的?整形?整形變量?還是整形變量等於?都說漢語博大精深,在不使用逗號的前提下漢語的可讀性理解起來就可以有很多種意思了。

我們再來看二者的格式,容易看出來其實易語言不過是相當於把英語全部翻譯了一遍,翻譯後的代碼僅限於我能讀得懂而非看得懂。再看一下,易語言的代碼量比英語多了多少?

漢語是我們的母語,如果能開發一門易懂的漢語編程語言,那麼我想這無非會大大降低我們的開發門檻。但是我們需要強調的是,漢語編程語言不是簡單的“翻譯”,我理解中的漢語編程應該是可讀性高、理解容易。例如上面的例子,如果要我“開發”的編程語言來寫,我會寫成這樣

條件循環(變量初始值等於零;假如變量的值小於十;那麼變量的值每次加一”){};

這樣的寫法我相信任何人都能看懂讀懂知道他的用法理解這個代碼是用於做什麼的。這才是真正的漢語編程。如果要只是翻譯英文編程語言,那麼我為何不直接學英文編程語言,我學會了英文編程語言也就意味著我的編程能力拓展性更高,畢竟現在市面上無論是已有技術還是新的技術都是英文寫出來的


啊康看數碼


java程序猿一名,關於為什麼不建議用中文編程的主要原因有以下幾點

1.首先要從電腦程序運行基本說起。電腦本身只能識別0和1組成的機器碼指令,為了方便對機器代碼的記憶,人們就用英文字符代替機器碼。

例如x86的指令mov,對應的機器16位代碼0x88,二進制代碼10001000。這些英文字符的集合就是彙編語言。彙編語言是最接近機器語言的編程語言。

高級語言,例如c,java等等,都需要用編譯軟件把他們的代碼編譯成彙編語言,或者用匯編語言來對代碼進行解釋。前者叫做編譯型高級語言,後者叫做解釋型高級語言。

無論那種高級語言,在機電腦上運行最終只能是機器碼。在電腦編程語言的發展中,大部分都是英美研發和設計的主力,所以都是英文作為基礎,所以編程語言都是英文的

2.因為編程最初就是用英文編輯的,而我們發現用中文編程,至少得敲兩個鍵才能編輯,所以比起英文來說,中文編程就顯得複雜了,也有很多不方便。在電腦的發展過程中,電腦首先是在英國和美國發展的,所以,電腦編程也是用英文的

重複造輪子的意義不大


驚蟄ins


這個問題,本人比較合適來解答一下。我的文化水平高中,英語非常爛。10年做自動外掛遊戲工作室,苦於沒有合適的外掛輔助,自己從零開始研究編程。起初學習了按鍵精靈和易語言,可以做一些小程序小遊戲,又做了一些操作模擬腳本。後來學習了彙編,才可以做真正意義上的外掛。用易語言做了3年多中文編程,後來為了去上班學習了php,c,python,java,sql這些英語編程,開發過大型網站前後臺,手機app,小程序微商城。其實編程用什麼語言都是大同小異,除了個別語言之外用法都差不多。唯一的區別是用處不同、編譯環境和編譯器不同。可能和人先入為主的觀念相關,幾乎每個人學習的第一個編程語言都是英文編程,所以都很傾向英文編程,用易語言自然不習慣!而我,第一個接觸的編程語言是易語言,自然對中文編程更有感覺!


月色朦朧141786949


我寫了20年C++,一直都用英文。還從沒覺得不方便。現在仔細想想,這確實是個外行的提問!

1)首先得從教學說起。現在學校教的都是國外發明的編程語言,什麼語言是中文呢?孩子學習時用的語言和編程思維方式決定了他們未來使用的思維方式。

2)其次工作以後編程一定是做產品,試問試問什麼公司是用中文編程?

有人馬上就會質問: 為什麼大家不致力打造中文編程語言呢?我們來看看中文編程語言存活需要什麼。

1)語言本身。機器需要識別,需要有中文編譯器,開發環境,要能調試。語言需要有關鍵字,語法之類的,包括彙編支持。大家如果對硬件有了解的話,底層跟硬件打交道的仍然是英文。我們看彙編,顯示出來的內容也都是英文。如果這從頭到尾都搞一套中文的話,那我可以說你比比爾蓋茨還要牛!比爾蓋茨也只是做了這個鏈中間的一個環節的事情。我們都要做到的話,那基本上也就別整天糾結美國技術封鎖的事情了。

2)庫。這個多少人想過?語言不是獨立存在的,必須有標準庫。這個說起來就無邊無際了。做標準庫就得涉及到做的人,用的人,還有最重要的社區。說白了就是人氣。也就是你沒這個環境的話,庫是活不下去的。中文庫註定了是隻能在華人圈裡流行,也就是與世隔絕的。就今天科技發展的趨勢來看,與世隔絕的能活下去麼?

3)對接。編程不是為了自娛自樂,是要做出產品服務於終端設備的。說到設備有個人電腦,手機,穿戴設備,醫療,機床等等數以億計。是都全搞成中文的?

也許有人非要抬槓說,我只是搞個表面開發環境中文的,其它一切的一切還是英文。那你搞它幹嘛?譁眾取寵?自娛自樂?非常荒繆!

最重要的是這個問題不像是回會寫代碼的人問的。大家如果平常在寫代碼,你會發現工作中的思維是英文的,中文編程環境反而會影響效率。不停的切來切去幾乎不可能!


一頓大師


大家好,我從97年開始學習編程,到今年20餘年了吧,代碼是寫過不少。

看到這個話題我也來湊個熱鬧。

1、從語言的角度來說中文編程和英文,沒有區別,無非一個用“如果”,英文用“if”罷了,其本質沒有變化,還是用著老外的編譯器,算不得中文編程,頂多算個漢化版的開發語言而已。

2、如果你每天真的要寫上千行的代碼的話,你會覺得頻繁的中英文切換實在是太麻煩了,英文if只是兩個鍵,中文要敲幾個鍵呢。我最高英文打字速度是300,中文是120,說實話,我願意用英文寫代碼。

3、現在的語言都是Unicode編碼的,你可以用中文做變量名,編譯器不會攔著你,但是同行會笑死你,鄙視你的。

4、目前所有語言大多都是老外開發的。所以你想查的資料,文檔基本上都是英文的。

5、我希望有哪麼一天咱們國家也能真能開發出自己的操作系統,數據庫,編程語言,咱們自己的標準,大家一起努力吧。

希望大家不要再為語言而糾結了。


牧碼人1981


既然覺得要用中文來編程,是不是連編程語言裡的符合、數字也要換掉?用“大於”代替“>”,用“壹”代替“1”?

所以說凡是提出這種論點的人都是不懂編程的人,這種外行人瞎胡鬧的舉動很令人厭惡與噁心!

首先,我們要知道計算機技術國外是領先於中國的,他們有著最新的技術,也有著第一手的文獻資料,也有著最牛的程序員。

而這些資料大多都是英文編寫的,這些程序員對於技術上的交流也都是英文。所以英語對於編程來說僅僅只是為了讓程序員能更好更快的接受第一手資料,與編程本身其實並無太大關係。

其次,編程語言是一門同自然語言完全無關的語言!它不是漢語,同樣也不是英語!

計算機本身只能識別0和1,最初的程序員紙片打孔編程其實就是在模擬這種0和1的輸入,可想而知這種編程的方式有多麻煩,多難記憶,多難推廣。

於是科學家發展出彙編、c語言,繼而各種高級語言來簡化編程。可以說,編程語言越高級就越接近自然語言,也越便於理解、記憶、推廣,但它本質上依然不是自然語言。

說白了,編程語言就是用特定的字符代替特定的0與1組成的串。例如,假設if代表00001101,那用“如果”代替00001101也行,哪怕你用“劉德華”這三個字代替也行!只是說計算機源於西方,所以就剛好使用if代替了00001101。

而像if這樣的字符,也就是關鍵字在一門編程語言裡並沒有多少。假如一個人說他因為記不住或理解不了這些關鍵字而無法學會編程,那很抱歉,他也真的不適合編程,因為智商絕對有問題。

最後,我想說的是編程的真正實質其實是數學,是邏輯!


請叫我樹先生


問些問題只有3種人,易語言使用或推廣者,對編程狗屁不懂,披著‘’愛國‘’皮的噴子,其實在大多數程序員眼裡,易語言可以說是垃圾。打個比方,如果把阿拉伯數字都換成中文大寫,那你就是微積分高手了?其實易語言根本解決不了編程的語言障礙,反而因為中文字節遠大於英文字符,造成程序莫名增大,編譯變慢,語無法跨平臺,兼容性奇差。除此之外,沒有帶來半點好處。另外對程序員來說,到底是打if else for 快。還是假如 否則,循環快,只要不是睜眼說瞎話,大家都知道


偶爾來逛逛隨便來瞧瞧


1.電子計算機的基層理論是英文的,這是由於電子的特性決定的,電子只有正負,所以只能認識0/1,英文字母較少,作為基層理論支撐很方便,漢語字體結構複雜不便用於基層理論。

2.量子計算機是由於量子糾纏的特性產生的高辨識度機器,這時漢字的偏旁部首就用上了,原來一眼只能看到0/1,現在可以看到橫豎撇折捺,機器的辨識度提高,基層理論知識更豐富,漢字偏旁具有天然優勢,直接省去二進制過程,量子計算機是由模擬數字到量子漢字過渡階段產生的機器。

3.光子計算機是由光媒作為媒介傳播的計算機,光子的天然優勢是效率高、保密性強,形態穩定,光子認識的範圍更廣,由於光子計算機是從量子計算機發展起來的,他的基層理論依然是漢字體系,他一眼可以看一句話,理解能力更強,幾組光子數據即可完成所有編程任務,光子計算機基於量子計算機的特性,光子還具有還原性,因此計算能力更強,利用光子這一特性可以衍生出光子裂變,使光子具有自我學習意識,是未來世界,最安全最可靠的人工智能,從光子計算機誕生的那一刻起,人類就踏上新紀元!

所有條友為證,鄙人所說的話句句屬實,未來還有超鐵、磁車等等新東西誕生!



分享到:


相關文章: