❶ 為什麼我們不發明一種漢字編程語言
編程語言,本質上是一種符號語言。類似於數學符號,它的特點還是以簡單為主,盡量使用筆畫少的符號來表示特殊的語義,而不是使用母語。它看上去類似英語只是巧合,因為英語單詞的縮寫已經足夠簡化,正好符合要求罷了。
漢語是象形文字,單個字的信息含量很大,在閱讀速度上有很大的優勢,但在打字上就成了一種弱點,因為鍵盤空間放不下常用的漢字。就算放得下,人眼也沒法從幾千個按鍵上迅速找到所需的字。常用的字越多,人眼查找常用字所花的時間越長。打字與寫字是不一樣的。寫字是拿筆直接在紙上寫,心到,眼到,手到,不存在查找的問題,但打字存在查找的問題。想加快打字速度,就只能減少按鍵數量,也就是從幾千個漢字里提煉出幾十個偏旁部首來,也就成了字母。
字母,偏旁,部首,只是同一類東西的不同稱呼罷了。都是從最初誕生的母語象形文字里簡化出來的一部分,目的都是為了讓文字更簡單。編程和數學,因為本身在邏輯推理上對人腦的消耗很大,就會更注重在符號的圖像識別上節省腦力,所以它們的符號相比起人類的母語來說,都很簡單。
❷ 為什麼很多人反對中文在編程中的使用
首先我要聲明:排斥使用中文編程和愛國不能混為一談,堅決抵制不使用中文編程等同於不愛國的道德綁架。不使用中文編程的主觀因素和客觀現實存在有很多,個人使用習慣、開發效率、開發所使用的ide工具不支持等因素,都會讓程序員更偏向使用英語編程。
先來說說歷史原因,編程起源於外國,編程語言,計算機,甚至上層的開發工具,基本上都是外國人使用英語來開發的,這些最大的問題就在於,外國人並不會給中文來做適配,就算適配了,也無法使用中文來編程測試,因此遇到了bug也無法修復。這大概是中文編程目前最大的制約。很多碼農說現在的主流編程語言都是Unicode編碼都支持中文,這很正確,舉例java,但是我想他們根本呢沒有用過中文來寫代碼,完全沒有考慮過ide工具是否支持,編程語言並不是編程的全部,雖然脫離ide工具我們也能夠編譯代碼,但是脫離了ide工具我們的開發效率會降低很多倍,於是乎現在企業開發基本不可能脫離ide工具,沒有的可能都要專門自己開發一套。
再來說說很多碼農對於中文編程的真實內心獨白:用中文寫代碼會很垃圾,很廉價?懂英文比較厲害?中文寫的代碼不行?要便於給外國人看?認為中文編程很多餘?習慣了英文編程了不想改變?雖然有些直抒心意,但是也在一定程度上直觀反映了排斥使用中文編程的碼農心態。
我認為制約國內程序員使用中文編程的最大因素是完善框架的缺失,諸如易語言之類的其實都不過是偽中文編程,很多底層的東西也還是用到的英文,而底層的英文又限制了上層框架的編寫,語法框架無法的限制導致了上層編寫程序的時候並不適配中文,這樣的編程不僅不能提高效率,反而增加了理解難度。
所以我認為中文編程最大的難點是怎麼去編寫一套適合中文的編程框架,而不僅僅是把英文翻譯成中文,這樣的中文編程其實真的沒有多大意義。
❸ 為什麼編程都是英文為什麼中文不能編程序
編程都是英文,中文不能編程序的原因:
1、編程的起源不在中國 : 計算機的起源在美國,自然而然的優先使用了英文。而漢字太多,多音字也很多,用命令的時候會變得很慢。
2、流通性差 : 英語目前還是全世界最通用的語言(雖然現在全世界都在學中文,但還需要個周期),幾乎也成為了不同語種國度之間的共同語言,那中文相對來說流通性還是要差上許多,所以程序員們在互相交流的時候會難達成共識,就無法共同進步。
3、體系不夠成熟 : 盡管機器只有0和1那麼簡單,但要用一種語言通過0和1表達人類的所有想法,設計這樣一個龐大的體系談何容易。現在匯聚的全人類智慧發展了幾十年的高級語言,依然還是存在很多問題的。
4、成本高 : 想用中文編程,只能有兩種方式,一是在原有硬體基礎上,將中文編程轉成英文編程再轉成機器語言;二是要重新定義硬體,重新設計製作符合中文編程的硬體。那這兩種方式的成本是相當高的。
(3)程序員為什麼不用中文編程擴展閱讀
編程語言的起源和發展
第一代語言:機器語言
機器語言(machine language)是一種指令集的體系。這種指令集,稱機器碼(machine code),是電腦的CPU可直接解讀的數據。
第二代語言: 匯編語言
匯編語言(assembly language)是一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符代替機器指令的操作碼,用地址符號或標號代替指令或操作數的地址。
在不同的設備中,匯編語言對應著不同的機器語言指令集,通過匯編過程轉換成機器指令。特定的匯編語言和特定的機器語言指令集是一一對應的,不同平台之間不可直接移植。
第三代語言:
結構化語言、面向對象語言。
❹ 為什麼沒有中文寫的編程語言
編程語言是一種程序員與機器溝通的工具,程序員的UI(用戶介面),用於定義業務邏輯與指揮計算機工作,作為工具首先就是上手效率要高,不要因為為了打幾個中文而中斷思路。無論你用拼音輸入法還是五筆或者是直接拼音字母,你告訴我要表達「如果」這個含義,哪個詞敲鍵盤次數少,次數少的效率就高:「if」「ruguo」。
其次,編程的瓶頸是在指令的語言嗎?在如今網路時代誰還不懂幾個英文,再則,計算機語言不是人類語言,它只是借用了人類語言中20-30個關鍵詞作為基礎指令,方便記憶而已,業務邏輯才是程序要考慮的,以滿足最終客戶需求完成任務。用「如果」或是「if」,只要約定好,計算機都會翻譯成二進制,那麼對於計算機它是無所謂你用什麼「語言」,編譯器能編譯就行,而為了視覺上親切一些,犧牲可讀性、輸入效率,源代碼長度,以及潛在的代碼安全問題,而得不償失。當你代碼量上千行後,看著滿屏中文你也許會突然忘了你接下來要干什麼。所以專業人員是不會考慮用中文的。
編程的核心是業務邏輯,其本質是演算法,其基礎是初中數學,當然有高數基礎最好,因為某些業務邏輯,如果有高數基礎,代碼量會大大降低,代碼會更簡潔明了。而中文還有個嚴重問題就是代碼安全性。中文輸入法中存在各種特殊字元,有些是不可顯字元,有些是視覺特徵不明顯容易造成歧義,比如你要隨時注意全形半形,因為計算機認為全形空格和半形空格是兩個不同的字元。試想你本來正被程序中嵌套循環或者各種邏輯錯誤而煩惱,又被中文帶來的字元不明確造成困惑,如果你還能堅持下去學習我是很敬佩你的。
當然作為行為藝術,玩玩是沒有問題的,寫個小程序給小夥伴展視一下娛樂娛樂完全沒問題,但正經程序員看到了會斜眼看你,當然你只是學著玩,可以考慮易語言,不過它只是VB的馬甲,語言規則遵循VB的語法。