『壹』 為什麼很多人反對中文在編程中的使用
首先我要聲明:排斥使用中文編程和愛國不能混為一談,堅決抵制不使用中文編程等同於不愛國的道德綁架。不使用中文編程的主觀因素和客觀現實存在有很多,個人使用習慣、開發效率、開發所使用的ide工具不支持等因素,都會讓程序員更偏向使用英語編程。
先來說說歷史原因,編程起源於外國,編程語言,計算機,甚至上層的開發工具,基本上都是外國人使用英語來開發的,這些最大的問題就在於,外國人並不會給中文來做適配,就算適配了,也無法使用中文來編程測試,因此遇到了bug也無法修復。這大概是中文編程目前最大的制約。很多碼農說現在的主流編程語言都是Unicode編碼都支持中文,這很正確,舉例java,但是我想他們根本呢沒有用過中文來寫代碼,完全沒有考慮過ide工具是否支持,編程語言並不是編程的全部,雖然脫離ide工具我們也能夠編譯代碼,但是脫離了ide工具我們的開發效率會降低很多倍,於是乎現在企業開發基本不可能脫離ide工具,沒有的可能都要專門自己開發一套。
再來說說很多碼農對於中文編程的真實內心獨白:用中文寫代碼會很垃圾,很廉價?懂英文比較厲害?中文寫的代碼不行?要便於給外國人看?認為中文編程很多餘?習慣了英文編程了不想改變?雖然有些直抒心意,但是也在一定程度上直觀反映了排斥使用中文編程的碼農心態。
我認為制約國內程序員使用中文編程的最大因素是完善框架的缺失,諸如易語言之類的其實都不過是偽中文編程,很多底層的東西也還是用到的英文,而底層的英文又限制了上層框架的編寫,語法框架無法的限制導致了上層編寫程序的時候並不適配中文,這樣的編程不僅不能提高效率,反而增加了理解難度。
所以我認為中文編程最大的難點是怎麼去編寫一套適合中文的編程框架,而不僅僅是把英文翻譯成中文,這樣的中文編程其實真的沒有多大意義。
『貳』 為什麼編程都是英文為什麼中文不能編程序
編程都是英文,中文不能編程序的原因:
1、編程的起源不在中國 : 計算機的起源在美國,自然而然的優先使用了英文。而漢字太多,多音字也很多,用命令的時候會變得很慢。
2、流通性差 : 英語目前還是全世界最通用的語言(雖然現在全世界都在學中文,但還需要個周期),幾乎也成為了不同語種國度之間的共同語言,那中文相對來說流通性還是要差上許多,所以程序員們在互相交流的時候會難達成共識,就無法共同進步。
3、體系不夠成熟 : 盡管機器只有0和1那麼簡單,但要用一種語言通過0和1表達人類的所有想法,設計這樣一個龐大的體系談何容易。現在匯聚的全人類智慧發展了幾十年的高級語言,依然還是存在很多問題的。
4、成本高 : 想用中文編程,只能有兩種方式,一是在原有硬體基礎上,將中文編程轉成英文編程再轉成機器語言;二是要重新定義硬體,重新設計製作符合中文編程的硬體。那這兩種方式的成本是相當高的。
(2)中文編程為什麼遭到程序員羞諷擴展閱讀
編程語言的起源和發展
第一代語言:機器語言
機器語言(machine language)是一種指令集的體系。這種指令集,稱機器碼(machine code),是電腦的CPU可直接解讀的數據。
第二代語言: 匯編語言
匯編語言(assembly language)是一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符代替機器指令的操作碼,用地址符號或標號代替指令或操作數的地址。
在不同的設備中,匯編語言對應著不同的機器語言指令集,通過匯編過程轉換成機器指令。特定的匯編語言和特定的機器語言指令集是一一對應的,不同平台之間不可直接移植。
第三代語言:
結構化語言、面向對象語言。
『叄』 為什麼程序員不能用中文來編程
編程不用中文的原因:
現在的編程軟體全部都是英文的是因為計算機技術最先產生於美國,我們使用的操作系統基本是國外的,編程軟體大都基與他們的操作系統.另外英文字元也有其自身的優勢(在計算機系統信息識別上)當有一天我國有擁有自己知識產權的豐富的計算機軟.硬體核心技術的時候,就能實現這一點!
編程的語言目錄:
* 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,之前變數名就是用的中文,可見這里不是不能換成中文,而是我實在不想再寫中文變數名了!
『肆』 為什麼程序員不用中文來編程
雖說我國語言博大精深,但很明顯在編程這件事上,英文看起來更簡潔,而且他們可以用26個字母隨意拼湊。但是我們不行,我們筆畫可不能亂塗亂畫,什麼筆畫特指什麼語義的字都是規定好了的。漢語一語雙關的現象很平常,但是計算機聽不懂,所以只能把話按長了說,避免語句重復。其實現在,
編程對國人不友好的其實是好的教材、資料、說明都是英文的,閱讀起來困難一些。程序員編程、然後編譯、處理器執行,這就是程序,這裡面編譯器還是老外寫的呢,操作系統底層還是C語言。說到底,因為C語言是人家外國人發明的,它的一套格式已經固定了。我們中國人發明了算盤,你看看它的口訣,完全是按照中文的語言環境編寫的。如果換到英文,你看看能不能用啊,那肯定不能用。
『伍』 程序員與編程存在密不可分的關系,為什麼讓他如此厭惡
編程,有些人喜歡,有些人討厭,有些人從未嘗試過,還有一些人每天都在使用。
諷刺的是,要讓程序員在結對編程感到更加的舒服,我們需要在工作結束,或者在番茄鍾間歇的時候,多多交流,相互反饋。但程序員大多數沉默少言,並且很內向,他們之間的反饋和交流非常的不容易。
簡而言之,整個事情都不容易。
結對編程優勢不可能被否認,是有據可查的。但結對編程存在的問題卻很少被提到,但這些也非常重要。
鄭重聲明,我是一個結對編程的踐行者。對於我來說,和很多人一樣,我們都會對挑戰所帶來的收益進行評估,判斷是否值得自己去付出努力。但是我也相信,和其它的挑戰一樣,當你准備好,知道你自己應該做什麼的時候,事情就會變得很容易。
我們經常談論各種各樣的挑戰,我們可以使用我們的智慧來找到解決辦法。我們可以從中獲得好處並減少問題帶來的挑戰。舉個例子,我們並不需要對每一個任務都進行結對編程,我們可以間歇性的執行結對編程,更好地適合你團隊的現狀。
『陸』 華為將推出自研編程語言倉頡,為什麼很多程序員不看好
9月25日,在中國深圳華為坂田基地,備受矚目的開源操作系統歐拉(openEuler)全新發布。華為的兩個操作系統鴻蒙和歐拉都將開源,鴻蒙操作系統的應用場景,是智能終端、物聯網終端和工業終端;歐拉操作系統面向伺服器,面向邊緣計算,面向雲,面向嵌入式設備。
令人矚目的另一個消息是,華為計算產品線總裁鄧泰華在采訪中表示,華為明年將推出自研的編程語言倉頡,將鴻蒙和歐拉在應用開發生態上進行打通。
此前,被廣泛應用的編程語言C語言/C++,Java、Python、PHP等,都是國外企業研發的。
但其實2020年華為就曾申請注冊過「倉頡語言」商標,分類涉及「科學儀器」、「網站服務」。當時也傳出了華為正研發新的自主編程語言倉頡的傳聞。
No.1
並不是技術圈的並不支持國貨,實在是有前車之鑒在,很難讓人喊昌伍不謹慎。
2018年,紅芯瀏覽器打出「愛國牌」,號稱突破了瀏覽器內核等關鍵技術,培養新一代的網路安全人才,一顆「紅芯」助力企業安全上雲,保障國家數據安全。
但事實上,技術圈的程序員們卻發現其安裝目錄竟然充斥著大量的Chrome文件,甚至迅扮連圖標都沒改。
隨後創始人回應,「Chrome在紅芯瀏覽器裡面,但並非抄襲,而是站在巨人的肩膀上去做創新。」
這種解釋顯然非常單薄,也讓隨之而來的熱度飛快消失。
2020年初,一款自研面向新一代人工智慧和物聯網應用的編程語言「木蘭」誕生了,隨之推出的「木蘭」開源軟體包,供全球用戶免費下載。
但很快,這款編程語言就被大家發現,其實是python換了個皮膚,就是用python的環境、包和項目打包套殼,實在令人失望。
隨後,「木蘭」項目的負責人也因為科研不端問題被處罰。
No.2
誠然如此,其實程序員們依然在期待一款真正能被廣泛應用的國內自研編程語言。
畢竟作為和編程語言接觸最深的人,他們比任何外行都更加希望有我們自己的編程語言。
這個先河由國內頂尖企業華為來開,合情合理也具備誕生條件,不過到底成果如何,還是要是騾子是馬拉出來遛遛,就讓我們拭目鄭或以待吧。
其實世界上略有名氣的編程語言,一共有600多種,但被世人熟知和應用的,其實也不過是C++、Java、Python、JavaScript等十幾種而已。
為什麼很多編程語言,沒有得到廣泛應用呢?
並不是這些語言不好,而是沒有相應的市場使用條件,也就是缺乏取代其他既有編程語言的核心競爭力,這也是華為倉頡必須解決的問題。
以Java語言為例,Java語言從出現到今天,已經發展了30餘年。
在這30餘年中,產生了無數和Java相關的產品、技術和標准,眾多的開源框架和組件給Java程序員提供了標准積木,用於快速構建大型企業應用項目。
政府組織、機構及大型企業都青睞於用Java開發信息系統,企業用人需求量巨大,可以說學會Java,那麼高薪就不是問題。
這種語言的生態環境成熟度,很難被輕易取代。
因此到目前為止,雖然我們對國產自研編程語言充滿期待,但如果你想要學習編程語言,我們還是強力推薦Java。
『柒』 為什麼很多老程序員討厭中文編程
英文編程已經先入為主了
已經做了好多年程序員,已經習慣於現有的編程體系,使用起來已經的心應手了,從心裡上覺得沒必要切入到中文編程語言的學習,而且畢竟易語言在誕生初期,由於時間和技術上的限制存很多的問題,所以在心理上不接受也是特別正常的事情。
畢竟已經形成的多年的習慣,再加上工作上沒有直接切入的交集,因為現在絕大部分的程序員還是用英文編寫程序,習慣看英文的文檔,寫英文的注釋,這種不能簡單的理解成不愛國或者別的情懷,有更加合適的語言為啥不去使用,要想中文的編程語言大規模的普及,必須找到歷史的契機點,並且經過多個版本的疊加,慢慢形成自己的生態鏈。
很多人為了學習英文編程,當年也是廢了九牛二虎之力把四級過了,讓直接切換到新的語言,顯然不是很現實。