03.05 國內碼農為什麼那麼討厭中文編程?

冬季凱風


最近幾十年中國軟件取得了長足的進步,特別是現在大家中國互聯網迅猛的發展,中國的綜合國力也在穩步的上升,很多人覺得現在很多產業都打上中國的烙印,是不是也該有一種屬於自己的編程語言,於是在這種場景下有了易語言的,坦白講易語言的生態鏈還沒有真正的成形,一種編程語言的成型需要一個完整的成長期。短時間內指望這門語言有多大的影響力也不現實。

為啥國內很多老程序員對易語言表現的不是很感冒?

筆者作為從業十幾年的程序員嘗試分析下,一家之言不喜勿碰。

易語言還只是發展初期

易語言現在只是屬於發展的初期,而且現在發展的初期,有些方向性問題,很多人都拿易語言去搞外掛,在一定層面上有點變味了,這也是一個語言發展的必經之路,所以走一些彎路也是特別正常的事情。現在計算機是基於馮諾依曼的體系,由於歷史的原因英文和編程的語言聯繫的更加緊密,而且經過這麼多年的發展,已經形成非常成熟的編程語言生態鏈,現在加入中文體系,總是需要時間去驗證。

最簡單的一個道理,編程語言能不能發展起來靠的是能不能解決當前編程語言存在的一些問題,越來越被大眾接受,好的編程語言應該是越來越深入人心,越來越被大家接受。易語言誕生之初就是為了解決很多中國人不懂英文,但是又想方便學習編程語言,所以基於這個痛點一直朝著這個方向發展,一定會在軟件行業佔據一席之地。

凡是以支持國產為營銷手段的產品,都是耍流氓!一個語言的發展需要摒棄這種外來因素的干擾。

英文編程已經先入為主了

已經做了好多年程序員,已經習慣於現有的編程體系,使用起來已經的心應手了,從心裡上覺得沒必要切入到中文編程語言的學習,而且畢竟易語言在誕生初期,由於時間和技術上的限制存很多的問題,所以在心理上不接受也是特別正常的事情。

畢竟已經形成的多年的習慣,再加上工作上沒有直接切入的交集,因為現在絕大部分的程序員還是用英文編寫程序,習慣看英文的文檔,寫英文的註釋,這種不能簡單的理解成不愛國或者別的情懷,有更加合適的語言為啥不去使用,要想中文的編程語言大規模的普及,必須找到歷史的契機點,並且經過多個版本的疊加,慢慢形成自己的生態鏈。

很多人為了學習英文編程,當年也是廢了九牛二虎之力把四級過了,讓直接切換到新的語言,顯然不是很現實。

編程語言只是工具,編程思想才是核心

過分的糾結於用什麼語言進行編程,其實都是初級程序員在意的事情,編程真正的核心在於指導思想,在於對於事物整體的邏輯抽象能力,遇到不同場景的拿出最準確的解決問題的方案。編程語言差異只是語法細節的差異,本質上都是執行者。

這也就是為啥很多老程序員,切入到新的編程語言,只需要一週的時間直接切入到項目開發中,不是說這人有多聰明,根本原因是編程思想已經到位,而且新的語言的語法的使用不是所有的語法細節都掌握了才能去搞項目。基本上大致的語法明白了,在做的過程中遇到不懂得語法細節再去查閱資料就可以了。

成熟的程序員不會糾結於具體的編程語言或者編程的語法。

至於說是用什麼語言進行編程,用原則上講誰方便快捷就選擇誰。科技的發展跟國界和地域都沒有太直接的關係。

如果對編程感興趣,想了解更多的編程知識,可以加入進來一起討論


大學生編程指南


你去搞一套中文數學體系,就明白了為什麼程序員不喜歡所謂的中文編程。為什麼,阿拉伯數字(其實是印度人發明的,經由阿拉伯傳入西方,最終傳遍全球)體系能橫掃全球?大家最後都用它,而把各民族獨立發展的數字體系給淘汰了?就因為簡單方便易用!

0123456789

零壹貳叄肆伍陸柒捌玖(大寫數字)

零一二三四五六七八九(小寫數字)

中文漢字就是不如阿拉伯數字簡單方便,是不爭的事實。要說現在編書都是電腦上書寫,使用軟件的查找替換功能,我們可以瞬間把小學數學乃至所有阿拉伯數字,全部淘汰,換成中文漢字數字,為什麼沒有人提議這種事?因為,這太腦殘了。不要說改成大寫數字,就是改成小寫數字,估計都沒什麼人能接受。

那難道說中文漢字數字表示法,就沒有優點了?當然有,比如不容易被篡改,因此在銀行裡還常常使用它,實際上,漢語中的大寫數字,正是朱元璋他老人家推出的,以防止手下官吏通過篡改數字貪汙舞弊。本來就不是為了方便而設計的。

現在的編程語言,其實並非真正的英文編程語言,它早已發展成一門獨立學科的獨立語言,只不過借用了一些英文單詞來約定俗成如此而已。計算機編程語言,就是一門簡要的約定好的易用符號語言。

而漢字絕不是什麼易用的符號體系,實際上漢字是世界上最難的符號的體系,一方面我們對此感到驕傲,因為中國人學的是最難的東西,自然表示我們很聰明,但另一方面刻意的把簡單的東西變成難的東西,那就是故意設置門檻。

最後,你要知道,電腦硬件,不懂任何人類設計的符號語言,無論字母還是筆畫,對電腦來說都毫無意義,要想讓程序真的運轉起來,還得編譯成0和1的機器碼才行。

而要做中文編程語言,其實對於一個程序員來說毫無難度,只要寫好兩張映射表就行。大概花一個下午就能搞定。

首先將英文單詞或者任意約定的字母串,映射成中文字符,然後在編譯成0和1的機器碼之前,將中文字符映射回英文單詞或字母串即可。而支持utf-8大字符集的許多程序,早就支持用中文當變量了。

即你可以寫 張三的年齡 = 5 ,計算機也能識別。所謂的中文乃至火星文編程,伴隨著計算機對大字符集的支持,早就已經實現,或者只要需要很簡單就能實現。


裸猿的故事


首先不是討厭中文編程,只是人都有先入為主的的觀念,程序員一開始學的大多都是C語言之類的英文編程語言,所以英文編程語言的語法糖函數會讓他們覺得舒服自在,況且代碼當中中文也不是完全沒有,它存在於註釋當中也會有獨特的美感。當然如果一開始就接觸的易語言之類的中文編程語言,那自然也不會排斥了。還有就是現在很多編程語言都是支持類名方法名變量名中文的,數據庫表名字段名也是支持中文的,但是基本沒人這麼幹,因為大家約定俗成了取這些名字的規則,而且其實取來取去就那麼幾個,你用中文反倒成了異類


瑰麗傀儡


編程就是有些人(當前叫程序員)將一些數據業務流程做一個範式(當前叫程序,或一堆代碼),就如同小學生數學計算x+y*z^2=用戶要的結果,客戶有xyz123等東西,他需要一個結果,想讓機器幫忙出結果。

你用什麼語言,英文還是中文,還是甲骨文古希臘語,隨你便,都可以,中文上面算式就成了子醜寅卯甲乙丙丁得,恕我直言如果中文編程古漢語可能比英文好點,然後,機器開始編譯,比如x是010.子也是010.等等。機器算出來顯示結果。

現在問題出現了,英文編程這麼多年人類累計智慧做了很多編譯規範,開發規範,庫累規範,顯示規範,單就一個H5標準的規範,主流瀏覽器廠商協調等都花了多少年?中文這些都沒有。

中文編程有易語言,日文也有日語編程語言,有編譯規範就行。關鍵誰做?即便做好了,誰用?做這些事的人確定不說全球,單中國的程序員會用這個?開發過的人都知道,國內很多項目,連個技術文檔都寫不好,很多項目抄國外同行寫不好也不怪,不信看看百度搜狗地圖文檔,再看看谷歌地圖文檔,簡單比比就知道。有些項目的技術文檔連邏輯語句,上下文引用名稱都能不同。

基於英文跨語言的編程,是編程的未來

比如用智能機器通過語音識別和流程處理的大量機器學習來編程,可能會是方向,一旦成功,那麼也會是一個大變革,意義會比中文編程或各類非英文編程更大。

一個現實可行的開發方式是無代碼可視化開發,過去十多年有很多這類產品出現,比如來自科技創新發達國家以色列的TERSUS,很多企業ERP,MES,報告報表,看板管理系統,數據可視化系統等都實際開發成功且應用於500強企業。

畫畫一樣開發也是全人類共同的軟件開發語言。

程序語言和程序員並不重要,最有價值的是行業,業務,已有項目管理處理的經驗。


無代碼軟件開發


這是多麼大的一個腦洞。中國人似乎沒有發明任何編程語言,編譯器。中文編程或許不是編程。計算機總得先識別中文,才能做事。和中餐一樣,中文表意很難標準化。想法很好,但中文編程的下層還得是某種英文編程語言。類似於問為什麼上帝喜歡用細胞,基因製造生命。上帝說了,那用啥,直接用骨頭和肉?骨頭和肉怎麼來的?上帝也沒那麼大的腦洞啊。


morningfly


很多人就沒理解,編程序核心是什麼。程序和語言沒有半毛錢關係,你以為英國人或美國人就都是程序員?或者他們的小孩子都會編程?

編程需要的能力不是語言,而且把具體事物抽象化,用程序的思維來解決問題的能力。比如最基礎的排序問題,一堆隨意大小的數字排序,想用中文編程的可能就是以為一句話:按順序排列,就能自動排列了?我簡單說一下排序的方法吧,遞歸或冒泡法排序,至少要兩層嵌套循環,外循環和數字一樣多,內循環不斷比較相鄰的兩個數。或者先隨機取其中一個數,再取一個數,如果比這個數大的放前面,反之放後面,多次循環。還有很多排序方法,會中文的你,再給我說一種可以嗎?再說一個更簡單的,一般語言都有畫點和畫線的語句,多數也有畫曲線的語句。如果需要畫連續曲線,用什麼方法?還有面向對象的語言,感覺簡單了,其實更需要抽象思維。你沒有這種抽象具體事物為程序的能力,會什麼語言也沒用。所以說不是討厭中文編程,而是語言和程序根本沒關係。


—網而深


看看題目,很有意思,國內碼農為什麼那麼討厭中文編程?

首先,國內碼農討厭中文編程嗎?好像周圍的碼農一個也沒說過這話。百度搜索一下“討厭中文編程”,出現的結果中,沒有出現一個有“討厭中文編程”的內容,最多的是“最討厭的編程語言是什麼”。

然後看問題描述,母語是中文的碼農沒有出過一個世界大師。

從這句話來看,可以發現這題主在發洩怨氣。就是說中國人沒有一個世界級碼農大師。問題來了,什麼水平是世界碼農大師呢?這題主估計也不知道,估計連編程入門都沒有,怎麼可能知道啥是大師呢?

從問題來看,估計是個中二少年,高中還沒畢業,有強烈的愛國情懷,但是又不知道怎麼愛國,然後覺得這世界級碼農大師就跟小說中武林頂級高手一樣,對其充滿了幻想。


低配彭于晏版本


機器的最底層語言是開關,門電路,“與"門,“或”門,“非"門,是開關電路。

開關電路適合用0,1,“二進制”

十進制與二進制換算之後會有一長串1和0。人類很難記讀,可以把四位二進制,變成十六進制,這一系列換算可以用算珠算盤完成,上二下五的七珠算盤,可以用於二進,十進,十六進數的計算與換算。

平面直角座標,可用0,1,顯示黑白點組成字符,圖案,這就是“字符庫數串”,字符庫數串是顯示器屏幕顯示字母,漢字,字符,圖案的基礎數據。

有了計算器,有了數串字符庫,就可以用基礎函數計算,和在座標平面上定位位置了。

這時要用0,1機器語言定義幾個最基礎的函數名稱,

這事是外國搶先完成的。所以是用英文字母命名的函數名。

加,減,平方,開方,指數,對數,正弦,餘弦,正切,餘切,與,或,非,等等,這一層級因為歷史原因,用了英文字母,沒有用漢語拼音,後來人再發展就只能給英文字母交過路費。誰讓我天朝人笨呢。

有了字符庫,有了函數名,編各種程序都要給英文字母交過路費。畢境漢字字符庫是二級字符庫。

你看出來了,國人可以做字符庫,但搜索指針檢索字符庫好使不好使與打字撿字法有關。

八十年代末,九十年代中,中國各路英豪發明了各種漢字撿字法,有四角號碼,三角號碼,五筆,漢拼,雙拼,聯想拼,筆劃,和形聲天然碼,等多種撿字打字法。但函數名還是英文,還是要交過路費。

九鍵打字法,九鍵拼音。九宮格手機打字。也不例外。英語字母是線性排列的,也是線性計算的。對於堅式是要改成線性式的,這個底層邏輯長年沒變,

漢語編程交路費還繞遠道,編程工做量就有點大漢語軟件就有點慢。

同樣一個數學式邏輯式,漢語就繞遠了。

拼音鍵,和九宮數字鍵都有點累。

但是近年來平面九宮格有利於漢語漢字的二維邏輯。

有了計算器,有了字符庫數據串,有了搜索引擎,有了點陣格平面屏幕,為什麼一定非要交過路費呢?

把根函數名換成漢語拼字或漢拼字頭縮寫就不用這麼累了。對數量龐大的英語軟件,根函數名解決了,數學底層翻譯是沒難度的。

現在的漢語編程只差根函數名了。


星輝650


引入 ‘窗口庫.文件’;

引入 ‘公共配置.文件’;

引入 ‘數據庫連接類.文件’;

整型 函數 窗口(){

函數 窗口打開(){

輸出 ‘歡迎光臨’;

}

函數 窗口關閉(){

彈窗 ‘謝謝使用’;

}

}

一個簡單的中文程序窗口做好了,大家覺得這有優勢麼?傻了才這麼玩吧。


小小CTO


中文編程本來就是忽悠不會編程的小白的噱頭而已,懂編程的人都知道,編程和用那種需要根本沒什麼區別,編程代碼也和現實中的英文沒什麼關係,絕大多數更本就沒有現實中的意思,就像鍵盤上的標註回車,和標註英文一樣,對不會電腦的人有什麼區別,現實中回車是什麼鬼!!!


分享到:


相關文章: