TIOBE近日公布了2012年4月份的編程語言排行榜,終于不出小編所料,在上個月的編程語言排行榜中說過的“編程語言的王者之爭不久很可能會發生改變”實現了,一方面是Java在上幾個月中一直屬于下滑狀態,另一方面是C這具有30多年歷史的編程語言依然是歷久彌新,一些優秀特性至今一直都被廣泛應用。C語言從2010年6月份丟失了寶座后一直都是在Java后面窮追不舍,終于在本月榮歸了寶座。
當然了,C和Java這兩們語言所占的份額相差不大,也會經常來回波動,相信Android平臺的普及,Java份額的下降也不會維持多久,不過未來的幾個月內C還是會保持領先的位置。
值得我們關注的還有Objective-C,隨著The New PAD的發布也一路的飆升,超越了C#,占據了第4的位置,而C++也重新回來了第3的位置。浮動最大的就是T-SQL了,從原來的14位置滑到了18,份額也從原來的0.925%下降到了0.760%。
下面是本期編程語言排行榜的其他排名數據和趨勢走向
下面是前20名的編程語言排行
C語言簡介
C語言是一種計算機程序設計語言。它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie于1972年推出。1978后,C語言已先后被移植到大、中、小及微型機上。它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。它的應用范圍廣泛,具備很強的數據處理能力,不僅僅是在軟件開發上,而且各類科研都需要用到C語言,適于編寫系統軟件,三維,二維圖形和動畫。具體應用比如單片機以及嵌入式系統開發。
C語言的發展歷史
C語言的祖先是BCPL語言。
1967年,劍橋大學的 Martin Richards 對CPL語言進行了簡化,于是產生了BCPL(Basic Combined Programming Language)語言。
1970年,美國貝爾實驗室的 Ken Thompson。以BCPL語言為基礎,設計出很簡單且很接近硬件的B語言(取BCPL的首字母)。并且他用B語言寫了第一個UNIX操作系統。
在1972年,美國貝爾實驗室的 D.M.Ritchie 在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。
為了使UNIX操作系統推廣,1977年Dennis M.Ritchie發表了不依賴于具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。
1978年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。同時由B.W.Kernighan和D.M.Ritchie合著了著名的《The C Programming Language》一書。通常簡稱為《K&R》,也有人稱之為《K&R》標準。但是,在《K&R》中并沒有定義一個完整的標準C語言,后來由美國國家標準化協會(American National Standards Institute)在此基礎上制定了一個C語言標準,于一九八三年發表。通常稱之為ANSI C。
1990年,國際標準化組織ISO(International Organization for Standards)接受了89 ANSI C 為I SO C 的標準(ISO9899-1990)。1994年,ISO修訂了C語言的標準。
1995年,ISO對C90做了一些修訂,即“1995基準增補1(ISO/IEC/9899/AMD1:1995)”。1999年,ISO又對C語言標準進行修訂,在基本保留原來C語言特征的基礎上,針對應該的需要,增加了一些功能,尤其是對C++中的一些功能,命名為ISO/IEC9899:1999。
2001年和2004年先后進行了兩次技術修正。
目前流行的C語言編譯系統大多是以ANSI C為基礎進行開發的,但不同版本的C編譯系統所實現的語言功能和語法規則又略有差別。
2011年12月8日,ISO正式公布C語言新的國際標準草案:ISO/IEC 9899:2011,即C11。
C語言編寫程序的優點
(1)程序結構簡潔、緊湊、規整,表達式簡練、使用靈活。
(2)編寫的程序可讀性強,編譯效率高。
(3)具有豐富的運算符,多達34種。
(4)數據類型種類繁多。
(5)是一種結構化程序設計語言,特別適合大型程序的模塊化設計。
(6)語法限制不太嚴格,程序設計自由度大。
(7)允許直接訪問物理地址,能進行位(bit)操作,能實現匯編語言的大部分功能,可以直接對硬件進行操作。
(8)生成的目標代碼質量高,程序執行效率高。它一般只比匯編程序生成的目標代碼率低10%~20%。
(9)具有較高的可移植性。它的語句基本上無須修改就能用于各種型號的計算機和各種操作系統。
C語言的應用領域
(1)應用軟件。Linux操作系統中的應用軟件都是使用C語言編寫的,因此這樣的應用軟件安全性非常高。
(2)對性能要求嚴格的領域。一般對性能有嚴格要求的地方都是用C語言編寫的,比如網絡程序的底層和網絡服務器端底層、地圖查詢等。
(3)系統軟件和圖形處理。C語言具有很強的繪圖能力和可移植性,并且具備很強的數據處理能力,可以用來編寫系統軟件、制作動畫、繪制二維圖形和三維圖形等。
(4)數字計算。相對于其他編程語言,C語言是數字計算能力超強的高級語言。
(5)嵌入式設備開發。手機、PDA等時尚消費類電子產品相信大家都不陌生,其內部的應用軟件、游戲等很多都是采用C語言進行嵌入式開發的。
(6)游戲軟件開發。游戲大家更不陌生,很多人就是由玩游戲而熟悉了計算機。利用C語言可以開發很多游戲,比如推箱子、貪吃蛇等。
前10名編程語言走勢圖
20到50名語言排行
下面是第50到100的編程語言排名
ABC, Algol, bc, BETA, Boo, C shell, CL (OS/400), Clean, Clojure, Dart, Dylan, Eiffel, Factor, Gambas, Go, Icon, Informix-4GL, Io, J, JavaFX Script, JScript.NET, LabVIEW, LabWindows/CVI, Ladder Logic, Lingo, LPC, Maple, Max/MSP, MEL, MUMPS, NATURAL, Oberon, OCaml, Occam, OpenCL, OpenEdge ABL, PL/I, PowerShell, Processing, Q, REALbasic, Revolution, S, S-PLUS, SPARK, SuperCollider, Tcl, VHDL, X10, xBase |
下面給出了編程語言類別的一年變化趨勢
【2012年榜單回顧】