為什么很多人不喜歡甚至排斥用中文編程?如下圖,中文編程看起來清爽一目了然基本不需要寫注釋都看得懂,而英語編程一眼望去有點(diǎn)不知所措要是沒注釋十幾行代碼都
從事軟件開發(fā)多年主要在瀏覽器內(nèi)核,安卓框架,多媒體等領(lǐng)域研究的比較多,主要編程語言是C/C++ java等三種編程語言,對于易語言簡單做了幾個(gè)小功能,做了下嘗試,從本質(zhì)上講差異不是很大,都是需要遵循一些語法細(xì)節(jié),可能是用的時(shí)間短的緣故整體感覺還是怪怪的,主要是長期在英文編程環(huán)境下已經(jīng)養(yǎng)成習(xí)慣,至于是不是中文倒是沒有太大的感觸。
說到對易語言接觸時(shí)間也不短了,剛?cè)胄胁痪孟矚g寫一些技術(shù)博客,也算是結(jié)實(shí)了一些粉絲,和有些粉絲聊得比較多,其中一個(gè)人在研究易語言想通過易語言做注冊機(jī),從技術(shù)上角度不太喜歡玩這些看似很無聊的東西,架不住三番五次的勸說就多少了解一下易語言,然后看看如何實(shí)現(xiàn),弄了沒多久覺得實(shí)在無聊,就果斷放棄了,純正的程序員一般不太喜歡搞什么游戲外掛或者黑產(chǎn)之類的東西,但現(xiàn)在很多學(xué)歷不高的人通過易語言在鼓搗這些東西,想從中謀取暴利,國家已經(jīng)有明確的法律規(guī)定對于非法的游戲收益真要有人較真到底,還真是違法犯罪的事情。
有個(gè)同事講過一個(gè)故事,有個(gè)人專門研究騰訊的一款游戲,然后從中獲取了幾百萬的收益后來被發(fā)現(xiàn)并報(bào)警,由于但是立法還不太完善,在里面呆了幾個(gè)月罰了點(diǎn)錢又放出來了,易語言誕生的年份已經(jīng)不短了,當(dāng)初帶著極好的愛國主義情懷,喜歡有一個(gè)屬于中國人自己的編程語言,雖然在內(nèi)部實(shí)現(xiàn)上可能就做了一次轉(zhuǎn)化而已,起碼讓一些英文不好的人能上手寫代碼了,這算是易語言最大的貢獻(xiàn)了。
任何一種編程語言的誕生或者存在都是為了解決當(dāng)時(shí)非常棘手的問題,然后慢慢的被大家接受,通過時(shí)間的積累慢慢培養(yǎng)了生態(tài)鏈,也就是大家常說的各種編程社區(qū),然后一群志同道合的人在里面討論這種編程語言如何來使用,如何來改進(jìn),如果是深層次的參與者慢慢加入到核心修改小組,不停的對編程語言的版本以及未來的發(fā)展趨勢做貢獻(xiàn),現(xiàn)在主流的編程語言都是這么衍生而來的,社區(qū)力量的強(qiáng)大與否代表著當(dāng)前這種編程語言的受歡迎程度,目前就國內(nèi)的編程語言而言無疑java屬于老大,在開源社區(qū)里面java方面的開源項(xiàng)目最多,這就是生態(tài)鏈,生態(tài)鏈的建立不是一天兩天的事情,需要具備很多因素,還要跟上時(shí)代的潮流。
1.編程習(xí)慣,絕大部分程序員已經(jīng)習(xí)慣于英文字符的編程模式,切換成中文有諸多的不習(xí)慣,而且就編程語言的本質(zhì)而言最終還是0,1的轉(zhuǎn)化,中間做了一些轉(zhuǎn)化而已,在執(zhí)行效率上還不如英文轉(zhuǎn)化效率高
2.生態(tài)鏈不夠成熟,對于編程語言的使用者來講什么編程語言最能解決實(shí)際的問題就采用誰,這也是生產(chǎn)力發(fā)展的需要,不可能為了追求狹義的愛國主義情懷就是采用一種編程語言,易語言的生態(tài)鏈體系哈有待繼續(xù)的加強(qiáng)發(fā)展,畢竟任何一種編程語言都需要來自五湖四海的程序員來共同托起。
3.易語言在某些場景下還是受限,舉個(gè)例子在服務(wù)端的并發(fā)性處理上就有點(diǎn)捉襟見肘了,不可能一種編程語言就一統(tǒng)天下了,這種需要強(qiáng)大的生態(tài)鏈支持,就目前狀態(tài)而言易語言要走的路還是很長。
對于一個(gè)技術(shù)人員來講,在合適的場景選擇合適的編程語言,選擇最佳的實(shí)現(xiàn)方式,畢竟對于企業(yè)來講首先要考慮最短的時(shí)間內(nèi)出成品,所有的企業(yè)的程序員都是遵從現(xiàn)實(shí)環(huán)境,真能解決實(shí)際問題的編程語言,本身就自帶推廣特性。
希望能幫到你。
for(int i=0;i<10;++i),用中文幫我寫一下
需求:某個(gè)變量循環(huán)十次,每次的值都加1
java:for(int i=0;i<10;i++){}
易語言:循環(huán)體(整形 變量 等于 零 ;變量 小于 十;自增 變量)
首先我們來分析閱讀性,假如一個(gè)外行人來閱讀這兩份代碼,雖然不知道for什么意思,int什么意思,但我相信正常人至少都能看懂第一份代碼i=0這一行吧;但是再來看易語言寫出來的代碼,循環(huán)體啥意思,我只聽過循環(huán),循環(huán)體是干啥用的?整形?整形變量?還是整形變量等于?都說漢語博大精深,在不使用逗號(hào)的前提下漢語的可讀性理解起來就可以有很多種意思了。
我們再來看二者的格式,容易看出來其實(shí)易語言不過是相當(dāng)于把英語全部翻譯了一遍,翻譯后的代碼僅限于我能讀得懂而非看得懂。再看一下,易語言的代碼量比英語多了多少?
漢語是我們的母語,如果能開發(fā)一門易懂的漢語編程語言,那么我想這無非會(huì)大大降低我們的開發(fā)門檻。但是我們需要強(qiáng)調(diào)的是,漢語編程語言不是簡單的“翻譯”,我理解中的漢語編程應(yīng)該是可讀性高、理解容易。例如上面的例子,如果要我“開發(fā)”的編程語言來寫,我會(huì)寫成這樣
條件循環(huán)(變量初始值等于零;假如變量的值小于十;那么變量的值每次加一”){};
這樣的寫法我相信任何人都能看懂讀懂知道他的用法理解這個(gè)代碼是用于做什么的。這才是真正的漢語編程。如果要只是翻譯英文編程語言,那么我為何不直接學(xué)英文編程語言,我學(xué)會(huì)了英文編程語言也就意味著我的編程能力拓展性更高,畢竟現(xiàn)在市面上無論是已有技術(shù)還是新的技術(shù)都是英文寫出來的
java程序猿一名,關(guān)于為什么不建議用中文編程的主要原因有以下幾點(diǎn)
1.首先要從電腦程序運(yùn)行基本說起。電腦本身只能識(shí)別0和1組成的機(jī)器碼指令,為了方便對機(jī)器代碼的記憶,人們就用英文字符代替機(jī)器碼。
例如x86的指令mov,對應(yīng)的機(jī)器16位代碼0x88,二進(jìn)制代碼10001000。這些英文字符的集合就是匯編語言。匯編語言是最接近機(jī)器語言的編程語言。
高級(jí)語言,例如c,java等等,都需要用編譯軟件把他們的代碼編譯成匯編語言,或者用匯編語言來對代碼進(jìn)行解釋。前者叫做編譯型高級(jí)語言,后者叫做解釋型高級(jí)語言。
無論那種高級(jí)語言,在機(jī)電腦上運(yùn)行最終只能是機(jī)器碼。在電腦編程語言的發(fā)展中,大部分都是英美研發(fā)和設(shè)計(jì)的主力,所以都是英文作為基礎(chǔ),所以編程語言都是英文的
2.因?yàn)榫幊套畛蹙褪怯糜⑽木庉嫷,而我們發(fā)現(xiàn)用中文編程,至少得敲兩個(gè)鍵才能編輯,所以比起英文來說,中文編程就顯得復(fù)雜了,也有很多不方便。在電腦的發(fā)展過程中,電腦首先是在英國和美國發(fā)展的,所以,電腦編程也是用英文的
重復(fù)造輪子的意義不大
這個(gè)問題,本人比較合適來解答一下。我的文化水平高中,英語非常爛。10年做自動(dòng)外掛游戲工作室,苦于沒有合適的外掛輔助,自己從零開始研究編程。起初學(xué)習(xí)了按鍵精靈和易語言,可以做一些小程序小游戲,又做了一些操作模擬腳本。后來學(xué)習(xí)了匯編,才可以做真正意義上的外掛。用易語言做了3年多中文編程,后來為了去上班學(xué)習(xí)了php,c,python,java,sql這些英語編程,開發(fā)過大型網(wǎng)站前后臺(tái),手機(jī)app,小程序微商城。其實(shí)編程用什么語言都是大同小異,除了個(gè)別語言之外用法都差不多。唯一的區(qū)別是用處不同、編譯環(huán)境和編譯器不同?赡芎腿讼热霝橹鞯挠^念相關(guān),幾乎每個(gè)人學(xué)習(xí)的第一個(gè)編程語言都是英文編程,所以都很傾向英文編程,用易語言自然不習(xí)慣!而我,第一個(gè)接觸的編程語言是易語言,自然對中文編程更有感覺!
大家好,我從97年開始學(xué)習(xí)編程,到今年20余年了吧,代碼是寫過不少。
看到這個(gè)話題我也來湊個(gè)熱鬧。
1、從語言的角度來說中文編程和英文,沒有區(qū)別,無非一個(gè)用“如果”,英文用“if”罷了,其本質(zhì)沒有變化,還是用著老外的編譯器,算不得中文編程,頂多算個(gè)漢化版的開發(fā)語言而已。
2、如果你每天真的要寫上千行的代碼的話,你會(huì)覺得頻繁的中英文切換實(shí)在是太麻煩了,英文if只是兩個(gè)鍵,中文要敲幾個(gè)鍵呢。我最高英文打字速度是300,中文是120,說實(shí)話,我愿意用英文寫代碼。
3、現(xiàn)在的語言都是Unicode編碼的,你可以用中文做變量名,編譯器不會(huì)攔著你,但是同行會(huì)笑死你,鄙視你的。
4、目前所有語言大多都是老外開發(fā)的。所以你想查的資料,文檔基本上都是英文的。
5、我希望有哪么一天咱們國家也能真能開發(fā)出自己的操作系統(tǒng),數(shù)據(jù)庫,編程語言,咱們自己的標(biāo)準(zhǔn),大家一起努力吧。
希望大家不要再為語言而糾結(jié)了。
我寫了20年C++,一直都用英文。還從沒覺得不方便。現(xiàn)在仔細(xì)想想,這確實(shí)是個(gè)外行的提問!
1)首先得從教學(xué)說起,F(xiàn)在學(xué)校教的都是國外發(fā)明的編程語言,什么語言是中文呢?孩子學(xué)習(xí)時(shí)用的語言和編程思維方式?jīng)Q定了他們未來使用的思維方式。
2)其次工作以后編程一定是做產(chǎn)品,試問試問什么公司是用中文編程?
有人馬上就會(huì)質(zhì)問: 為什么大家不致力打造中文編程語言呢?我們來看看中文編程語言存活需要什么。
1)語言本身。機(jī)器需要識(shí)別,需要有中文編譯器,開發(fā)環(huán)境,要能調(diào)試。語言需要有關(guān)鍵字,語法之類的,包括匯編支持。大家如果對硬件有了解的話,底層跟硬件打交道的仍然是英文。我們看匯編,顯示出來的內(nèi)容也都是英文。如果這從頭到尾都搞一套中文的話,那我可以說你比比爾蓋茨還要牛!比爾蓋茨也只是做了這個(gè)鏈中間的一個(gè)環(huán)節(jié)的事情。我們都要做到的話,那基本上也就別整天糾結(jié)美國技術(shù)封鎖的事情了。
2)庫。這個(gè)多少人想過?語言不是獨(dú)立存在的,必須有標(biāo)準(zhǔn)庫。這個(gè)說起來就無邊無際了。做標(biāo)準(zhǔn)庫就得涉及到做的人,用的人,還有最重要的社區(qū)。說白了就是人氣。也就是你沒這個(gè)環(huán)境的話,庫是活不下去的。中文庫注定了是只能在華人圈里流行,也就是與世隔絕的。就今天科技發(fā)展的趨勢來看,與世隔絕的能活下去么?
3)對接。編程不是為了自娛自樂,是要做出產(chǎn)品服務(wù)于終端設(shè)備的。說到設(shè)備有個(gè)人電腦,手機(jī),穿戴設(shè)備,醫(yī)療,機(jī)床等等數(shù)以億計(jì)。是都全搞成中文的?
也許有人非要抬杠說,我只是搞個(gè)表面開發(fā)環(huán)境中文的,其它一切的一切還是英文。那你搞它干嘛?嘩眾取寵?自娛自樂?非常荒繆!
最重要的是這個(gè)問題不像是回會(huì)寫代碼的人問的。大家如果平常在寫代碼,你會(huì)發(fā)現(xiàn)工作中的思維是英文的,中文編程環(huán)境反而會(huì)影響效率。不停的切來切去幾乎不可能!
問些問題只有3種人,易語言使用或推廣者,對編程狗屁不懂,披著‘’愛國‘’皮的噴子,其實(shí)在大多數(shù)程序員眼里,易語言可以說是垃圾。打個(gè)比方,如果把阿拉伯?dāng)?shù)字都換成中文大寫,那你就是微積分高手了?其實(shí)易語言根本解決不了編程的語言障礙,反而因?yàn)橹形淖止?jié)遠(yuǎn)大于英文字符,造成程序莫名增大,編譯變慢,語無法跨平臺(tái),兼容性奇差。除此之外,沒有帶來半點(diǎn)好處。另外對程序員來說,到底是打if else for 快。還是假如 否則,循環(huán)快,只要不是睜眼說瞎話,大家都知道
實(shí)話實(shí)說,我是沒有接觸過中文編程的,對中文編程屆名氣最大的“易語言”,也只是聽說過但是沒用過。雖然我本身是對中文編程是比較排斥的,但是出于“想評(píng)判什么,就要先了解它”的考慮,我還是決心體會(huì)一下中文之后,再來回答這個(gè)問題。
然后我找到了“易語言”的官網(wǎng),看了一眼首頁我就放棄了這個(gè)想法,本人對美丑的要求很嚴(yán)格。
對于中文編程,我就強(qiáng)答一下,說說我的看法。
首先,中文編程還是發(fā)展初期,語言生態(tài)不好。不可否認(rèn)中文編程確實(shí)降低了編程的門檻,易語言在中文編程做出了值得鼓勵(lì)的嘗試。易語言目前的前景不是很明朗,易語言好像是2000年就出現(xiàn)了,差不多快20年了,我翻了翻官網(wǎng),感覺很久沒有更新了,而且社區(qū)支持并不強(qiáng)大,所以并不看好。順便說一下【生態(tài)】這個(gè)問題,很多人理解這個(gè)詞有一些困難,舉個(gè)例子:比如安卓和Window phone,大部分APP都有安卓版本,不一定有Window版本,這就是生態(tài)的好壞。
第二,英文編程已經(jīng)先入為主了,就好像我,做Java開發(fā)已經(jīng)12年了,自學(xué)Python3年,這么長時(shí)間已經(jīng)習(xí)慣現(xiàn)有的編程體系了,要切換成中文環(huán)境感覺完全沒有必要。而且現(xiàn)在中文編程的生態(tài)又不成熟,所以不接受甚至排斥中文編程,也是很正常的事情。
第三,編程思想的重要性要遠(yuǎn)遠(yuǎn)大于編程語言。其實(shí)不用過分糾結(jié)于使用什么語言,編程最重要的是對事務(wù)的抽象能力,邏輯思維能力,和對不同的業(yè)務(wù)場景,可以采用最優(yōu)方案的能力。如果有一天老板說:“從今天開始,咱們公司要用中文編程了,工資增加一位數(shù)”,我相信我很快就能學(xué)會(huì)的。
最后,每一種語言的興起,都是因?yàn)榭梢院芎玫慕鉀Q行業(yè)的某些痛點(diǎn)。比如PHP的興起是因?yàn)榛ヂ?lián)網(wǎng)需要快速的編寫動(dòng)態(tài)Web服務(wù);Java的興起是適應(yīng)企業(yè)級(jí)信息化,Java屏蔽了指針、內(nèi)存、垃圾回收等等,可以在短時(shí)間內(nèi)寫出大規(guī)模的程序;而易語言,好像解決的是“想編程但是不會(huì)英文”的問題,至少在編程行業(yè)內(nèi),我們是不存在這個(gè)痛點(diǎn)的。
總結(jié)一下:
中文編程的生態(tài)圈不好,短期內(nèi)不看好。
聽說很多外掛都是用易語言開發(fā)的,終于知道為什么熟練掌握易語言的人掙錢都多了(不提倡,犯法的)。
不要打著愛國的旗號(hào)去推廣產(chǎn)品,把東西做好了才是真正的愛國。
既然覺得要用中文來編程,是不是連編程語言里的符合、數(shù)字也要換掉?用“大于”代替“>”,用“壹”代替“1”?
所以說凡是提出這種論點(diǎn)的人都是不懂編程的人,這種外行人瞎胡鬧的舉動(dòng)很令人厭惡與惡心!
首先,我們要知道計(jì)算機(jī)技術(shù)國外是領(lǐng)先于中國的,他們有著最新的技術(shù),也有著第一手的文獻(xiàn)資料,也有著最牛的程序員。
而這些資料大多都是英文編寫的,這些程序員對于技術(shù)上的交流也都是英文。所以英語對于編程來說僅僅只是為了讓程序員能更好更快的接受第一手資料,與編程本身其實(shí)并無太大關(guān)系。
其次,編程語言是一門同自然語言完全無關(guān)的語言!它不是漢語,同樣也不是英語!
計(jì)算機(jī)本身只能識(shí)別0和1,最初的程序員紙片打孔編程其實(shí)就是在模擬這種0和1的輸入,可想而知這種編程的方式有多麻煩,多難記憶,多難推廣。
于是科學(xué)家發(fā)展出匯編、c語言,繼而各種高級(jí)語言來簡化編程。可以說,編程語言越高級(jí)就越接近自然語言,也越便于理解、記憶、推廣,但它本質(zhì)上依然不是自然語言。
說白了,編程語言就是用特定的字符代替特定的0與1組成的串。例如,假設(shè)if代表00001101,那用“如果”代替00001101也行,哪怕你用“劉德華”這三個(gè)字代替也行!只是說計(jì)算機(jī)源于西方,所以就剛好使用if代替了00001101。
而像if這樣的字符,也就是關(guān)鍵字在一門編程語言里并沒有多少。假如一個(gè)人說他因?yàn)橛洸蛔』蚶斫獠涣诉@些關(guān)鍵字而無法學(xué)會(huì)編程,那很抱歉,他也真的不適合編程,因?yàn)橹巧探^對有問題。
最后,我想說的是編程的真正實(shí)質(zhì)其實(shí)是數(shù)學(xué),是邏輯!
華裔女賭王就此沒落,生前讓所有 濃情端午粽飄香,青浦邀你“云體 上海:“云端”展現(xiàn)端午節(jié)文化內(nèi) “甜咸大戰(zhàn)”!明星藝人們喜歡什 如何做一個(gè)男人喜歡的情人(如何 當(dāng)你和你同時(shí)出現(xiàn)在同一個(gè)場景中 如何在昏暗的光線下設(shè)置快門速度 教育在生活中的價(jià)值是什么? 世上做壞事的人死后會(huì)面臨什么因 拜登就任總統(tǒng)后的第一步是什么? 同意/不同意:人生最重要的目標(biāo) 二戰(zhàn)后,德國在調(diào)和分歧方面做得 亞伯·林肯恨白人嗎? 一個(gè)編輯能把你的故事毀得有多嚴(yán) 現(xiàn)在的iPhone6還能堅(jiān)持再用一年 曹操為什么不殺司馬懿? 現(xiàn)在買房是不是最便宜的時(shí)候,現(xiàn) 我身邊的農(nóng)業(yè)銀行營業(yè)廳關(guān)了,AT 歐洲媒體評(píng)選CBA最有實(shí)力球員, 榮耀play的6+128和榮耀8X的6+128 螞蟻集團(tuán)是科技公司還是金融公司 請問機(jī)友華為mate30P與華為mate3 聽說老詹修剪一次指甲需要5小時(shí) 為什么說寶寶“一月睡二月哭三月 戴笠人稱戴老板,這個(gè)是怎么叫出 沒有工作能一次性補(bǔ)繳社保么? 我想知道定向師范生和免費(fèi)師范生 肺癌引起的咳嗽是怎樣的呢? 5000mAh電池的5G手機(jī)推薦嗎?要 恒大亞冠表現(xiàn)“差強(qiáng)人意”,你覺