⑴ 為什麼程序員不能用中文來編程
編程不用中文的原因:
現在的編程軟體全部都是英文的是因為計算機技術最先產生於美國,我們使用的操作系統基本是國外的,編程軟體大都基與他們的操作系統.另外英文字元也有其自身的優勢(在計算機系統信息識別上)當有一天我國有擁有自己知識產權的豐富的計算機軟.硬體核心技術的時候,就能實現這一點!
編程的語言目錄:
* 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,之前變數名就是用的中文,可見這里不是不能換成中文,而是我實在不想再寫中文變數名了!
⑵ 在 Java 中使用中文作為變數名和函數名稱有什麼缺點
我覺得技術上使用中文編程是沒什麼問題的,亂碼、英文關鍵詞,切輸入法等都可以通過插件轉碼、替換等技術手段解決。實際上全中文開發的易語言早就做出來了。
差別就是語言本身,利的一面:
1,母語易於理解,可以極大的提高代碼可讀性,這是顯然的。
2,降低英文門檻,普及編程。
3,對於長變數名,英文要麼非常長,要麼縮寫,這類變數名用中文較簡潔。
4,英文起名其實有一個中譯英再譯中翻譯過程,兩次翻譯會有理解誤差導致代碼可讀性變差。
不利的一面:
1,源碼不國際化,如果開源或者有外國同事會看不懂。
2,對於不支持中文的、利用反射的軟體的控制台會出現亂碼。
3,在完全支持中文開發的IDE出現以前,切換輸入法是個挺麻煩的事情。
目前軟體是一個非常國際化的行業,源碼可以無國界交流,所以還是用英文作為規范比較好,但自己做點小項目用中文還是沒問題的。
⑶ 在VS C++中,變數名,函數名能否使用中文
版本較高的VS中,因為支持UNICODE文件編碼,類名、函數名等理論上可以使用中文,但不推薦!因為無法預知編譯器解析可能產生的問題,以及代碼文件的文本編碼、C++標準的自適應等問題,可能造成編譯或運行錯誤。在VC中,變數名、函數名、對象名,甚至文件名和路徑都推薦使用英文。
⑷ 編程小菜的一個問題:是不是在源程序中用拼音作類名、函數名、變數名、標號等很被鄙視
我都是用
拼音首字母+中文
作為變數名的,
比如要定義一個變數,用來記錄人數
int rs人數 = 0;
我就這么定義。
鄙視?他們敢,等他們程序寫大了,想改一下自己都找不到變數怎麼定義的那時候就輪到你鄙視他們了
⑸ C語言能不能使用中文變數名啊
C語言可以使用中文變數名。
c語言變數名規則是:
1、變數名以英文字母開頭;
2、變數名中的字母是區分大小寫的;
3、變數名不能是關鍵字;
4、變數名中不能包含空格、標點符號和類型說明符。
(5)編程函數用中文命名有什麼問題擴展閱讀
C語言中定義的關鍵字有:
由ANSI標準定義的C語言關鍵字共32個:auto、 double、 int、 struct、 break 、else、 long、 switch、case、 enum、 register 、typedef、 char 、extern 、return、 union 、const、 float 、short、 unsigned、 continue、 for、 signed 、void、default 、goto、 sizeof 、volatile、 do 、if 、while、 static。
這32個關鍵字就是已經被C語言本身使用,不能作為其他用途使用,比如不能定義成變數名、函數名。
⑹ c++為什麼不能用漢字作為變數名但是為什麼卻可以輸出漢字
C++開發者是丹麥人,他自己的母語也不是英語,為了使它能普及化而且當時他也在美國生活和工作,必須把C++全部用英文,款且當年全世界開發一種新的編程語言都是用英文,大部分都是在美國開發的,當時好像有400多種語言了,已經是百家爭鳴的戰國時代了,所以用英文開發已經是一種標准了,至於不能漢化,是在設計之初的上個世紀80年代初期,那個時候歐美和中國接觸少,根本沒人會漢語,所以就沒有支持漢語的變數名了函數名了。還有就是現在已經定義好了,如果要改還得必須找C++標准委員會,要知道他們都是老外,他們以全世界都使用英文為自豪,接收漢語是很難的,一個是瞧不起,沒把中國人放在眼裡,狠不得把中國人都西化了,沒看到歐洲人每當佔領一個地方就把當地人都西化了嗎,最喜歡做的就是要同化別人,強制人家學他們的語言,強制人家必須信他們的信仰,怎麼可能會通過在C++里把漢語變數名函數名放進去,不放進去每位學編程的中國人都必須學英語了。除非有一天垮了,感覺到就要垮了.
現在我們國家出來了個習語言,他雖然還在嬰兒期,但是是百分百的中文編程,就像漢化版的C語言,還有個叫習佳佳,C++開發伴侶,它是和VS編譯器一起使用的,能把普通的VS在開發C++的時候全部漢化,不需要安裝,只要用VS找到習佳佳的路徑就可以,它包括變數名,函數名。。。。。。。
⑺ 在C#中能否用中文命名項目
項目和解決方案名稱當然可以用中文。但命名空間名稱不能用中文。
⑻ C++函數名可用漢字
是可以的,c++是支持unicode的,因此可以用中文定義變數以及函數名等,不過作為一種好的編程習慣應該盡量避免這種做法。
⑼ JS中能用中文當函數名和變數名稱嗎
有中文就必定會發生編程問題,比如說頁面是 utf-8 的,而你的腳本是 gb2312 的,那可好,你的腳本就會出錯。還有比如通過 xmlhttp 取 responseText 的時候,多少人為編碼問題頭疼得要死,避之為恐不及,哪裡還會主動使用中文??
⑽ 學習編程就一定需要學會英語嗎
原則上是不需要的,但學英語絕對能提高更多的高度。原因如下:
1.雖然用拼音命名變數和函數是沒有問題的,甚至現在很多語言用中文命名都可以,但遠沒有用英文命名方便,這里有兩個原因:
a.由於大多數基本的庫是用英文命名,你如果用中文命名自己的函數和變數,又引用庫裡面的英文命名,那麼就會搞得很亂。別說兩種語言了,就是同一種語言英文,下劃線、駱駝、帕斯卡三種常見分詞方法混在一起都要逼瘋人(最後嚴重鄙視下匈牙利命名法)。那麼你可以想像你調著英文的庫寫著自己的拼音,其他人看了是什麼感受。別說其他人了,你過幾天自己來看都要瘋掉。
b.中文不是拼音語言,拼音只能注音,就算我們英語再差,我們看過的英文文章都比拼音文章要多得多,再加上聲調沒法標,同音詞又多,拼音命名是非常讓人不舒服的,還不如有機會直接漢字,當然漢字的打字效率問題,以及運算符不親和性(原因當然來自於我們數學公式里也都是英文字母),讓表達式看上去很奇怪。
2.理解庫的方便性。因為庫的命名必定是英文的,那麼你不懂英文就必須要有這個庫的中文手冊,但是往往不一定有,就算有,也很拖慢速度。而懂英文的人往往看了某個函數的名字,和他形參的名字就能把這個函數的作用猜個八九不離十。當然並不是說懂英文就不需要查手冊了,但是請問連名字都不知道,怎麼從一堆函數中搜索出來,就算你搜索出來了,難道靠拼寫而不是詞義能記住?沒錯能記幾個,比如我小時候不懂英文就能強記FDISK分區FORMAT格式化,但DOS/WINDOWS的命令又不多,能和一個庫裡面那麼多類和函數相比?
3.學習最專業最深度的資料的必要性。中文的教材永遠只能保證你入門,當你遇到專業的問題時,首先必須面對的就是英文材料。這些問題面對的人非常少,沒有人會去翻譯成中文的,就連中文支持我覺得最良心的MSDN,好多關鍵信息都是機翻沒法看,只能看英文原版。