㈠ 為什麼程序員不用中文來編程
雖說我國語言博大精深,但很明顯在編程這件事上,英文看起來更簡潔,而且他們可以用26個字母隨意拼湊。但是我們不行,我們筆畫可不能亂塗亂畫,什麼筆畫特指什麼語義的字都是規定好了的。漢語一語雙關的現象很平常,但是計算機聽不懂,所以只能把話按長了說,避免語句重復。其實現在,
編程對國人不友好的其實是好的教材、資料、說明都是英文的,閱讀起來困難一些。程序員編程、然後編譯、處理器執行,這就是程序,這裡面編譯器還是老外寫的呢,操作系統底層還是C語言。說到底,因為C語言是人家外國人發明的,它的一套格式已經固定了。我們中國人發明了算盤,你看看它的口訣,完全是按照中文的語言環境編寫的。如果換到英文,你看看能不能用啊,那肯定不能用。
㈡ 為什麼很多人反對中文在編程中的使用
首先我要聲明:排斥使用中文編程和愛國不能混為一談,堅決抵制不使用中文編程等同於不愛國的道德綁架。不使用中文編程的主觀因素和客觀現實存在有很多,個人使用習慣、開發效率、開發所使用的ide工具不支持等因素,都會讓程序員更偏向使用英語編程。
先來說說歷史原因,編程起源於外國,編程語言,計算機,甚至上層的開發工具,基本上都是外國人使用英語來開發的,這些最大的問題就在於,外國人並不會給中文來做適配,就算適配了,也無法使用中文來編程測試,因此遇到了bug也無法修復。這大概是中文編程目前最大的制約。很多碼農說現在的主流編程語言都是Unicode編碼都支持中文,這很正確,舉例java,但是我想他們根本呢沒有用過中文來寫代碼,完全沒有考慮過ide工具是否支持,編程語言並不是編程的全部,雖然脫離ide工具我們也能夠編譯代碼,但是脫離了ide工具我們的開發效率會降低很多倍,於是乎現在企業開發基本不可能脫離ide工具,沒有的可能都要專門自己開發一套。
再來說說很多碼農對於中文編程的真實內心獨白:用中文寫代碼會很垃圾,很廉價?懂英文比較厲害?中文寫的代碼不行?要便於給外國人看?認為中文編程很多餘?習慣了英文編程了不想改變?雖然有些直抒心意,但是也在一定程度上直觀反映了排斥使用中文編程的碼農心態。
我認為制約國內程序員使用中文編程的最大因素是完善框架的缺失,諸如易語言之類的其實都不過是偽中文編程,很多底層的東西也還是用到的英文,而底層的英文又限制了上層框架的編寫,語法框架無法的限制導致了上層編寫程序的時候並不適配中文,這樣的編程不僅不能提高效率,反而增加了理解難度。
所以我認為中文編程最大的難點是怎麼去編寫一套適合中文的編程框架,而不僅僅是把英文翻譯成中文,這樣的中文編程其實真的沒有多大意義。
㈢ 為什麼程序員不能用中文來編程
編程不用中文的原因:
現在的編程軟體全部都是英文的是因為計算機技術最先產生於美國,我們使用的操作系統基本是國外的,編程軟體大都基與他們的操作系統.另外英文字元也有其自身的優勢(在計算機系統信息識別上)當有一天我國有擁有自己知識產權的豐富的計算機軟.硬體核心技術的時候,就能實現這一點!
編程的語言目錄:
* CSS Cascading Style Sheets 層疊樣式表
*.NET是微軟2002年,為開發應用程序創建的一個富有革命性的新平台
*ActionScriptActionScript是Flash的腳本語言,與JavaScript相似,ActionScript是一種面向對象編程語言。
*APL、A+和J
*AdaAda是一種表現能力很強的通用程序設計語言
*匯編語言 匯編語言(Assembly Language)是面向機器的程序設計語言
*易語言是全中文語言編程中最為強大的一個編程語言
*AWKAWK是一種優良的文本處理工具
*Basic是一種設計給初學者使用的程序設計語言
oQBasicQBASIC是BASIC(Beginner's All-purpose Symbolic Instruction Code,初學者通用指令代碼)語言的一個變種,由美國微軟公司開發
oVisual BasicVisual Basic(VB)是一種由微軟公司開發的包含協助開發環境的事件驅動編程語言
*VBScriptVBScript是Visual Basic Script的簡稱,即 Visual Basic 腳本語言
*BrainfuckBrainfuck是一種極小化的計算機語言
*C、C++ 、C# C語言是一種面向過程的計算機程序設計語言; C++是一種靜態數據類型檢查的,支持多重編程範式的通用程序設計語言。它支持過程化程序設計、數據抽象、面向對象程序設計、製作圖標等等泛型程序設計等多種程序設計風格。C#是微軟公司發布的一種面向對象的、運行於.NET Framework之上的高級程序設計語言。
oObjective-C通常寫作ObjC和較少用的Objective C或Obj-C,是擴充C的面向對象編程語言
*ClipperClipper晶元主要用於商業活動的計算機通信網
*COBOL一種適合於商業及數據處理的類似英語的程序設計語言
*dBasedBASE是第一個在微型計算機上被廣泛使用的資料庫管理系統(DBMS
E語言以簡體中文作為程序代碼進行編程操作。
*PASCAL、DelphiPascal是一種計算機通用的高級程序設計語言 ;Delphi是全新的可視化編程環境,是一種方便、快捷的Windows應用程序開發工具
*Forth由Charles H. Moore發展出來在天文台使用的電腦自動控制系統及程序設計語言,允許使用者很容易組合系統已有的簡單指令,定義成為功能較復雜的高階指令。
* Fortran 譯為「公式翻譯器」,它是世界上最早出現的計算機高級程序設計語言,廣泛應用於科學和工程計算領域。
*FoxPro是由美國Fox Software公司於1988年推出的資料庫產品
*F#F#是由微軟發展的為微軟.NET語言提供運行環境的程序設計語言
*FavaFava語言是一個小型的解釋語言,它主要面向於系統測試領域及小型嵌入式設備。
*IDLIDL 是一種數據分析和圖像化應用程序及編程語言
*GoGo語言是谷歌2009發布的第二款開源編程語言。Go語言專門針對多處理器系統應用程序的編程進行了優化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持並行進程。
*JavaJava是由Sun Microsystems公司於1995年5月推出的Java程序設計語言,他是一種面向對象的跨平台語言,可以在多種平台上運行。支持開源。大量的類庫。大量的開源項目。是一種非常強大的編程語言!
*JavaScriptJavascript是一種由Netscape的LiveScript發展而來的腳本語言
*J#Visual J# 是一種工具,供 Java 語言程序員用於構建在 .NET Framework 上運行的應用程序和服務
*LISP一種基於λ演算的函數式編程語言。
*LuaLua 是一個小巧的腳本語言
*LOGO是一種早期的編程語言,也是一種與自然語言非常接近的編程語言,它通過「繪圖」的方式來學習編程
*Mole在軟體工程中,指較高一級程序或模塊使用的一個單元或模塊
*NuvaNuva語言是一種面向對象的動態腳本語言 Nuva語言的設計目的是用於基於模板的代碼生成
*PerlPerl 一般被稱為「實用報表提取語言」(PracticalExtraction andReportLanguage),也做「病態折中垃圾列表器」(PathologicallyEclectic Rubbish Lister
*PHPPHP 是一種 HTML 內嵌式的語言
*PL/IPL/I是Programming Language One的簡寫。當中的「I」其實是羅馬數字的「一」。它是一隻IBM公司在1950年代發明的第三代高級編程語言
*PrologProlog(Programming in Logic的縮寫)是一種邏輯編程語言
*Python是一種面向對象的解釋性的計算機程序設計語言,也是一種功能強大而完善的通用型語言
*RR是用於統計分析、繪圖的語言和操作環境
*RubyRuby,一種為簡單快捷面向對象編程(面向對象程序設計)而創的腳本語言
*SchemeScheme,一種系統設計語言,由LISP語言發展而來,屬於lisp的一種方言。與其他lisp不同的是,scheme是可以編譯成機器碼的。Scheme的一個主要特性是可以像操作數據一樣操作函數調用
* Smalltalk 一種面向對象的程序設計語言 一種程序設計環境 一個應用開發環境(ADE)
* Tcl/Tk 是一種 腳本語言
*Visual FoxProVisual FoxPro原名FoxBase,是美國Fox Software公司推出的資料庫產品
*快手(AAuto Quicker) AAuto是專用於桌面軟體快速開發的新一代混合型編程語言, 兼具動態、靜態語言優勢,語法更可兼容大部分流行語言,學習成本低,開發速度快,並永久免費.
編程的相關語言:
機器語言
在計算機系統中,一條機器指令規定了計算機系統的一個特定動作。一個系列的計算機在硬體設計製造時就用了若干指令規定了該系列計算機能夠進行的基本操作,這些指令一起構成了該系列計算機的指令系統。在計算機應用的初期,程序員使用機器的指令系統來編寫計算機應用程序,這種程序稱為機器語言程序。使用機器語言編寫的程序,由於每條指令都對應計算機一個特定的基本動作,所以程序佔用內存少、執行效率高。缺點也很明顯,如:編程工作量大,容易出錯;依賴具體的計算機體系,因而程序的通用性、移植性都很差。
匯編語言
為了解決使用機器語言編寫應用程序所帶來的一系列問題,人們首先想到了使用助記符號來代替不容易記憶的機器指令。這種助記符號來表示計算機指令的語言稱為符號語言,也稱匯編語言。在匯編語言中,每一條用符號來表示的匯編指令與計算機機器指令一一對應;記憶難度大大減少了,不僅易於檢查和修改程序錯誤,而且指令、數據的存放位置可以有計算機自動分配。用匯編語言編寫的程序稱為源程序,計算機不能直接識別和處理源程序,必須通過某種方法將它翻譯成為計算機能夠理解並執行的機器語言,執行這個翻譯工作的程序稱為匯編程序。
使用匯編語言編寫計算機程序,程序員仍然需要十分熟悉計算機系統的硬體結構,所以從程序設計本身上來看仍然是低效率的、煩瑣的。但正是由於匯編語言與計算機硬體系統關系密切,在某些特定的場合,如對時空效率要求很高的系統核心程序以及實時控製程序等,迄今為止匯編語言仍然是十分有效的程序設計工具。
高級語言
高級語言是一類接近於人類自然語言和數學語言的程序設計語言的統稱。按照其程序設計的出發點和方式不同,高級語言分為了面向過程的語言和面向對象的語言,如Fortran語言、C語言等都是面向過程的語言;而以C++、JAVA、C# 、Smalltalk等為代表的面向對象的語言與面向過程語言有著許多不同,這些語言支持「程序是相互聯系的離散對象集合」,這樣一種新的程序設計思維方式,具有封裝性、繼承性和多態性等特徵。
高級語言按照一定的語法規則,由表達各種意義的運算對象和運算方法構成。使用高級語言編寫程序的優點是:編程相對簡單、直觀、易理解、不容易出錯;高級語言是獨立於計算機的,因而用高級語言編寫的計算機程序通用性好,具有較好的移植性。
用高級語言編寫的程序稱為源程序,計算機系統不能直接理解和執行,必須通過一個語言處理系統將其轉換為計算機系統能夠認識、理解的目標程序才能成為計算機系統執行。
易語言編程也還可以。
編程的執行原理:
源程序
不能直接識別、理解和執行,都必須通過某種方式轉換為計算機能夠直接執行的
機器語言
這種將高級程序設計語言編寫的源程序轉換到機器目標程序的方式有兩種:解釋方式和編譯方式。
解釋方式下,計算機對高級語言書寫的源程序一邊解釋一邊執行,不能形成目標文件和執行文件。
編譯方式下,首先通過一個對應於所用程序設計語言的編譯程序對源程序進行處理,經過對源程序的詞法分析、語法分析、語意分析、代碼生成和代碼優化等階段將所處理的源程序轉換為用二進制代碼表示的目標程序,然後通過連接程序處理將程序中所用的函數調用、系統功能調用等嵌入到目標程序中,構成一個可以連續執行的二進制執行文件。調用這個執行文件就可以實現程序員在對應源程序文件中所指定的相應功能。
294評論
LeonardoSun 10小時前
81贊
踩
當然可以用漢字編程,我在大一的時候就自定義了語言,可以完全使用漢字和標點符號,沒有任何英文單詞,包括關鍵字!
而且這非常簡單,有什麼難的呢?有人提易語言,那我就呵呵,不解釋。
只不過不知道編碼格式的人使用容易出現編碼問題,而且學霸英文也不會太差,為什麼要費勁轉成中文呢?現有的庫大部分好用的都是老外寫的,突然變成一堆中文出來,感覺很別扭。而且表達一個變數幾個字母縮寫就可以了(英語實在太差的可以用漢語拼音縮寫),這么一比用中文感覺實在太啰嗦。
多說無用,來幾張圖用事實說話:
發個圖還得加水印,好麻煩,草草加上了事,其實應該加全部,現在個別區域沒加上
從圖中可以看出我實在不想用中文了,循環里的變數名用的字母i,之前變數名就是用的中文,可見這里不是不能換成中文,而是我實在不想再寫中文變數名了!
㈣ 編程為什麼不用中文
其實是有中文的編程語言的,最出名的是易語言,此外還有cpython之類的。都是中文的編程語言。
但之所以大部分編程不用中文,其實是有他的道理的。
1. 中文打字效率太低,任何一個字最少也要兩次擊鍵,效率上不如英文。
2. 中文符號不規范,存在全形和半形的問題。
3. 大部分編程語言在一開始就是以英語做為母語的(即使日本人開發的ruby,母語也是採用的英語)。這主要是為了交流的需要。
4. 英語能夠被所有的操作系統和編譯器支持,而操作系統與編譯器要想支持中文,則需要付出額外的努力。
5. 很多亞洲語言都屬於」曖昧「的語言,即語法中存在太多不確定因素,所以天生不適合做為編程語言使用。(不相信么?那麼解釋一下,為什麼 」中國人大勝日本人「和」中國人大敗日本人「居然是一個意思)
6. 最後,其實中文程序語言並不比英文的好學,而且可讀性也比不上英文程序。
㈤ 為什麼不能用中文做編程基礎語言的編程程序
首先從位元組上面來看的的話,我們的一個漢字就等於英文的兩個字元,這樣一來的話就容易造成不符,而已我們的漢字有很多,而英文雖然能夠組成的也很多,但是基本字母只有26個,相對來說會比較好編譯。我們的中文有很多外國人經常都覺得很難書寫,而英文相對來說學起來比較容易。這個和先入為主其實也有點關系,我們都知道美國矽谷有著一批程序精英,能夠在美國矽谷的話,相信是很多程序員的夢想。
我們一旦程序跑起來,如果發現有中文進行編譯就會發生亂碼,這是一隻一來都沒有辦法處理的事情。看完這三點,大家是不是明白了,為什麼不用中文進行編譯,而使用的是英文了吧。使用中文會出現亂碼現象,這個是目前還沒有辦法規避的事情。
㈥ 編程語言為什麼是英文,而不是漢字
因為最初的編程語言是英語。
用漢字編程也不是不行,現在也有一個編程平台,就是用漢字編程。但用漢字編程遠不如用英文編程方便。中文博大精深,除了正式場合外,一般很少有人會嚴格按照語法來說話,很多時候都會省略主語、還會倒裝,還有很多方言、多音字,甚至語調語氣的不同也會造成意思不同。
讓電腦搞明白這中間的區別是很不容易的,一個漢字占兩個字元,a只需要到一個字母就能出來,而一個漢字就要打兩三個位元組。英文字母連上大小寫一共不過52個字母,而中文漢字是以萬計的,這么多文字的存儲也是一個很大的問題。
所以,從速度和空間上來說,用中文編程不如英文編程占優勢。此外,中文的一個詞語在英文中往往對應了多個單詞,而這些單詞又有獨特的語境,所以用英文來表達也會更簡便一些。
(6)中文為什麼不適合編程語言擴展閱讀
中文編程語言
1、安全性自主研發的編譯器,可保障國家安全,配合國產CPU和OS,實現全面的硬體、軟體安全。
2、國際化多語種版本中語言可互相轉化。用漢語編程只是實現了母語化的第一步,反之漢語為國際化交流帶來了不方便。應該提供機制,可以將漢語關鍵字自動轉換為其他語言,實現交流合作。
3、融合性與其它語言互融互通,通過學習漢語編程從而可繼續學習其他編程語言。
㈦ 為什麼電腦編程都是英語,中文就不能用來編
中文可以啊,易語言,易安卓,編寫點程序沒問題。
其實中文不適合編程,中文佔用兩個字元,英文是一個,現在會導致程序性能不佳,小程序還好,大型程序直接完蛋。
其次最開始的編程語言都是英文的,但本質上就是對計算機語言的解析,中國現在並沒有人創造類似於C這類的語言,基本全部是衍生於C。況且中文語法多樣性太高,那麼弄出編程語言的復雜性也遠遠高於英文。
最後我個人認為還有一個編碼問題,基本上英語在各類編碼下都可以正常顯示,比如gbk,utf-8,而中文不行還需要額外的轉碼,否則會導致直接成亂碼文字。
本質的原因在於,很多和編程相關的東西,協議等等,都是外國人定義的,那麼也就是針對著「適合英語」,沒有管中文。