-
1 # 吳烜
-
2 # ACME63610374577
不能...
你有這種想法...
是因為你誤以為0123456789是中文...
其實中文是零一二三四五六七八九...
0123456789是古印度文...
...
所以...
中文有其劣勢...也有一定的優勢...
不是什麼場合都適用的...
...
-
3 # 犍為真人
先給出結論:中文程式設計一定能開發出來,而且會逐步在國內達到普及程度,但是一定不會是專業程式設計師的首選,而是成為其他人員在生活、學習、研究、工作上的強有力輔助工具。
習慣限制了我們的想象力。全世界主流程式語言都是用的英語,才讓我們認為英語過去、現在、未來都是程式語言的不二選擇。
以前,人們認為作業系統不可能用中文,直到簡體中文版的Windows出現,甚至連主機板介面都是中文的。以前,人們認為打字就是英文世界的強項,認為中文天生不適合計算機,永遠沒有英文速度快,直到五筆的出現以及後來的智慧拼音、中文語音輸入法的普及。以前,人們認為計算機只有高階知識分子才能玩,直到智慧手機的普及,連老太太都玩的不亦樂乎,甚至不用鍵盤和滑鼠,就用手指劃來劃去。以前,人們認為只有學會了Photoshop才能處理、美化照片,直到美圖秀秀、大眼瘦臉軟體的出現,隨便一個人都可以輕鬆美化手機拍的照片。以前,安卓系統剛出來時,人們認為國外的APP(特別是遊戲)比國內的好用太多,而後來,大家發現手機上竟然95%以上的APP(包括遊戲)都是中國產的。
例子舉得有點多,但都與本問題有相通之處。中國文化的影響力逐步提高,華人在各方面的水平也在逐年提升,很多高階玩法逐步平民化、大眾化。
我們再回到中文程式設計這個專業技術上來。計算機高階語言大致分為兩大類。一種叫編譯型語言,一種叫解釋型語言。
編譯型語言,最終都會編譯成計算機能理解的二進位制形式,機器指令。也就是說,編譯是將人類能看懂的語言翻譯成計算機能看懂的指令。不論計算機語言是什麼,最後編譯出來的東西都是幾乎無差別的。這個計算機語言,可以是英文形式的,也可以中文形式的,可以是語音形式的,也可以是框圖形式的。形式不重要,因為有了編譯過程,最終都會變成機器語言。
解釋型語言是將計算機高階語言就地解釋執行,由宿主程式負責執行。指令碼語言通常就是解釋型語言。大家見得最多的就是網頁上的JavaScript指令碼了,這個指令碼必須依賴於瀏覽器這個宿主才能執行。瀏覽器負責解釋JavaScript指令碼。宿主(直譯器)即可以解釋英文形式的指令碼,也可以解釋中文形式的,哪怕是語音也照樣可解釋。解釋很多時候都是一句一句地解釋。你對著一個機器人用普通話或粵語說“過來”,它就乖乖地過來,這就是最簡單的指令碼解釋。你還可以對著一個空調,按一堆按鈕,讓它解釋成“如果凌晨3點室外溫度低於25度,就關空調,否則凌晨5點再關空調”。連說話和按按鈕都能程式設計,還擔心中文文字編不了程式?
有的人說,中文一個漢字佔用2位元組,英文只佔用1位元組,所以中文極端低效。這裡姑且不討論到底漢字佔用2個還是3個位元組,也別考慮聯合國的檔案到底是中文的薄還是英文的薄。就算中文打字更多、更長,又有什麼關係呢?很多業內人士都明白,語言不是重點,重點是演算法、思想。寫過C++或JAVA的人,去寫Python,就會覺得同樣一個功能,Python的程式碼真的好短很短。JAVA這樣寫
Map<String, String> map = new HashMap<String, String>();map.put("key1", "value1");Python這樣寫
map={}map["key1"]="value1"但仔細想想,這個簡單或複雜的形式真的那麼重要嗎?這個差別,難道比中英文的差別還要大嗎?如果能忍受C++和JAVA等冗長語法,難道就忍受不了中文?
我們還可以藉助先進的IDE自動補全,藉助先進的輸入法。所以別再糾結來回切換輸入法這些細節問題了。 習慣限制了我們的想象力。以前,我們用慣了滑鼠和鍵盤,誰能想到會有手機上的多點觸控和手勢輸入呢?同樣,我們也無法想象未來的輸入法會進化到什麼程度。所以不要用輸入法的暫時的侷限性,去限制中文程式設計的可能性。
而至於認為編譯出來的程式碼,中文佔用更多的硬碟空間,更多的記憶體,那就完全是外行了,完全是大錯特錯。之前已經說過了,如果是編譯型語言,編譯出來的東西都是無差別的,程式碼裡的中文私有函式,中文註釋,中文區域性變數名統統都消失了,最後全部成為了機器指令,記憶體地址,堆疊操作。
總結一下,中文程式設計,在技術上沒有任何問題,不論是開發效率,還是執行效率,都沒有明顯弱於英語程式設計的地方。
技術上的可能性說完,再討論一個繞不開的話題,叫做“生態”。目前中文程式設計一直沒有火起來,主要就是生態問題。也就是說使用中文的國家很少,很多程式設計大牛都來自歐美、日本、印度等非中文國家。而使用的人少,大家貢獻的庫函式,框架,攻略,教材等就少。這就稱為生態差。生態差,意味著寫個程式,找不到現成的程式碼庫,得自己從頭開始寫。生態好,則網上一堆現成的,開箱即用。比如像訓練個神經網路,如果用Python,直接就有類似tensorflow這類成熟穩定久經考驗的開源庫,而如果是中文程式設計,若生態差,那沒辦法,自己寫。這工作量…………
中文程式設計的生態差,意味著,中文程式設計短期之內不可能成為職業程式設計師的首選語言。職業程式設計師是靠程式設計吃飯的,程式碼複雜性很高,體量大,效率、穩定性非常重要。所以會盡量選擇成熟的,生態環境好的語言。
絕大多數人學英語不是為了當職業翻譯,學籃球不是為了進職業球隊,學office辦公軟體不是為了當文員。
很好理解了,未來,更多的人學程式設計,不是為了當職業程式設計師。程式設計就像是英語、office辦公軟體一樣屬於必備技能。
可以預測,非職業玩家,會更喜歡用指令碼語言。指令碼語言會在大眾中大量普及。比方說未來,在公有云上購買一個服務,需要使用一段簡單指令碼進行高度定製化,從而可以快速實現一個個人網站,可以實現一個深度學習的訓練任務。
那麼,這些非職業程式玩家,就會更多地選擇中文程式語言。對於他們來說,不需要高深的,最新的技術,只要夠用就行。這一條規律,對於職業程式設計師同樣適用。行業分工只會越來越細,比如現代的多數程式設計師已經不像過去那樣去關注演算法,關注彙編了,他們比過去更關注的是選擇什麼框架以及學會該框架,更加關注需求。因為高深的技術細節有更專業的人員去實現。再強調一下,這是由社會分工引起的。分工沒有高低貴賤之分。做演算法的,做晶片的,做基礎框架的不見得就比做業務程式設計的更厲害。再比如在很多遊戲公司,寫程式看似難度最高,實際上工資不一定有做美工和做策劃的高。而美工和策劃甚至完全不會程式設計。同樣,只會中文程式設計,只會呼叫現成框架(可能是英語寫的)的人,也絕對不會低人一等。
-
4 # 學通訊搞汽車做軟體的
牛逼的思維 不是靠語言來承載的
語言只是個工具 哪個方便 哪個好用 用哪個
不是漢語不好
也不是英語牛逼
程式設計只是需要一套符號系統,再加上相應的語法。
發明者套系統的人們,他們大多是拉丁語系的,而且還有幾百年的數學物理裡面用到的符號代數系統,用的是拉丁字母和阿拉伯數字。
他們只能用他們自己的語言,挑了幾十個英文單詞來作為語法的關鍵字,設計了用拉丁字母加數字加符號的方式來命名,剛好他們有了ascii這套東西可以用。
題主是隻針對這幾個英文單詞和命名用的字母嗎?
那簡單替換很容易的。
但是如果一定要出一套自己的程式設計系統(不只是程式語言),可以參考一下現在的少兒程式設計吧,圖形介面的,比這種簡單替換的,意義更大。
-
5 # ZBLiu
先要回答一個問題:開發以以中文為基礎的程式語言,有什麼必要性?以中文為基礎的程式語言,與現有的程式語言相比有什麼優越性?
如果僅僅是以中文為基礎的程式語言,華人看起來方便,或者可以昭顯中國文化的博大精深。那就免談。因為這個建議昭顯了一小部分人的沒出息,又暴露了他們太小看中國的理科生。
-
6 # 七兩清風
有可能,但是沒有意義,主要兩點,第一,中文是表意文字,適合於寫文章等,中文可以極大提高閱讀速度和易於理解文字含義,認識中文的人,相信看到的文字一定是含義,而不是一個符號,而英文是符號化的表音語言,而計算機正好是符號化,所以英文更適合計算機程式。
-
7 # 一個人的演說
你說的已經有人回答了:“易語言”,他其實用VC編寫,無非是用中文加了一個外衣,沒什麼實際用處,裡面呼叫的都是VC的庫。
另外,千萬不要有中文編寫程式碼的想法,這個不實際,而且加大了程式的編寫難度和儲存空間,還有多國語言的相容性。
而且英文編寫程式碼是最快的,不管是輸入還是函式定義上!
回覆列表
當然能!我能,你也能。
全部業餘完成。先做了一個月,出了雛形之後擱置了一年,又拿起來斷續做了一個月做些效能最佳化。
實現時,在JavaScript程式碼中儘量用了中文命名識別符號,因為JavaScript本身支援:
市面上也有不少從零開始實現程式語言的書,我參考了之後用Java實現了一個通用中文程式語言,效果如下:
當然Java原始碼裡也儘量用了中文命名識別符號:
這是在那本書自帶的現成程式碼上修改後實現的,前後大概用了十天。
你當然也可以,如果願意學的話。