11月編程語言排行榜前20名榜單
從榜單中我們不難看出,在11月的語言使用率指數上,Java佔有18.373%,C語言17.315%。Tiboe編程語言排行榜的前兩名差距從未如此之小,作為2008年度編程語言的C僅以1%的差距落後Java;而上一次C和Java如此接近還在2005年。這一方面反映了Java的下滑速度增快(詳細請參考7月編程語言排行榜:Java,正在老去的王者);一方面也可以看出,C這門具有近30年歷史的編程語言歷久彌新,一些優秀特性至今仍被廣泛應用。本期排行榜,就讓我們一起解析C語言的耐力基因,看看是那些因素成就一門經典編程語言。
C語言近年走勢
血統純正
C語言源自對B語言的改進與完善。1970,UNIX的發明者丹尼斯·里奇(Dennis Ritchie)和肯·湯普遜(Ken Thompson)為自己的項目設計開發了B語言;后經貝爾實驗室對B語言的完善和改進,於1978年正式發布C語言。顯赫的背景使C語言一誕生便具有純正優良的科學血統:丹尼斯·里奇在編程史上地位無人能及,貝爾實驗室因其對項目測試的苛刻要求使C語言經過嚴格而縝密的測試。
而這一切,為C語言日後在底層控制和性能方面的優勢打下堅實的基礎,使之成為晶元級開發(嵌入式)和Linux平台開發的首先語言。如今,C語言在通信、網路協議、破解、3D引擎、操作系統、驅動、單片機、手機、PDA、多媒體處理、實時控制等領域,正在用一行行代碼證明它從應用級開發到系統級開發強大和高效。
一門編程語言能夠得到廣泛的使用和長久的發展,除去語言特性和應用場景,其易用性和可維護性也是重要原因;良好的代碼風格和內在邏輯將是程序員和項目經理選型時考慮的重要因素。作為一門面向過程的編程語言,C代碼的邏輯性和簡潔性無人能及。簡單易學是C語言流行的主要原因。現在,很多計算機專業的學生都是用C進行編程入門;工作在一線的程序員,很少沒有寫過C程序。藉助於C語言被廣泛使用的特點,使C++在設計和推廣之初也不得不考慮C的語法和特性,以便於吸引更多的C程序員學習和掌握。類似的語言還有榜單第三名的PHP。
如果你寫了幾年OOP程序,可以試著回想一下C的代碼,代碼簡潔、數據結構豐富,對系統底層的控制無人能及。難道你不想在一堆對象和實例中解脫?當我們已經開始習慣用面向對象這種更高級方式思考和解決問題;大家對C強大的底層控制能力失去興趣,因為那些複雜的代碼已經可以交給編譯器去實現,底層的操作已經完全可以交給類庫和操作系統API去進行。
但這並不能否定C的經典。從本期榜單我們可以看出,C的經典還將延續,其良好的底層控制能和性能方面的優勢,易用好學的語法特點將成為其長盛不衰的耐力基因;我想,這也是任何一門語言可以長久發展的必要因素。
下面是本期編程語言排行榜的其他語言排名及各項指數。
前50名編程語言排名
Position | Programming Language | Ratings |
---|---|---|
21 | ActionScript | 0.519% |
22 | COBOL | 0.430% |
23 | Transact-SQL | 0.412% |
24 | FoxPro/xBase | 0.379% |
25 | Fortran | 0.376% |
26 | Logo | 0.361% |
27 | Scratch | 0.346% |
28 | Alice | 0.329% |
29 | Ada | 0.305% |
30 | S-lang | 0.292% |
31 | RPG (OS/400) | 0.285% |
32 | Erlang | 0.261% |
33 | PowerShell | 0.259% |
34 | Scala | 0.244% |
35 | Awk | 0.243% |
36 | Prolog | 0.234% |
37 | NXT-G | 0.234% |
38 | Tcl/Tk | 0.221% |
39 | Focus | 0.209% |
40 | LabWindows/CVI | 0.193% |
41 | Haskell | 0.183% |
42 | PL/I | 0.177% |
43 | JavaFX Script | 0.176% |
44 | MAX/MSP | 0.161% |
45 | LabVIEW | 0.157% |
46 | Falcon | 0.156% |
47 | Groovy | 0.152% |
48 | Modula-3 | 0.146% |
49 | Forth | 0.144% |
50 | Smalltalk | 0.135% |
51-100名編程語言排名
4th Dimension/4D, ABC, AD, Algol, APL, Applescript, Beta, Boo, Bourne shell, C shell, Caml/F#, cg, CL (OS/400), Clean, Clojure, Cobra, cT, Curl, Euphoria, Factor, Fan, Icon, IDL, Inform, Informix-4GL, Io, J, Lingo, MAD, Mathematica, ML, Modula-2, MOO, MUMPS, Natural, Occam, Oz, PowerBuilder, Progress, Q, R, REALbasic, Revolution, SIGNAL, SPSS, SuperCollider, VBScript, Verilog, VHDL, XSLT
編程語言類型走勢
Category | Ratings Nov 2009 | Delta Nov 2008 |
---|---|---|
Object-Oriented Languages | 54.4% | -3.2% |
Procedural Languages | 41.6% | +2.8% |
Functional Languages | 2.8% | +0.2% |
Logical Languages | 1.3% | +0.1% |
Category | Ratings Nov 2009 | Delta Nov 2008 |
---|---|---|
Statically Typed Languages | 59.2% | -0.2% |
Dynamically Typed Languages | 40.8% | +0.2% |
編程語言類別走勢
[火星人 ] 11月編程語言排行榜:C語言的耐力基因已經有447次圍觀