2010年11月編程語言排行榜:手機里的代碼
原創【51CTO獨家特稿】Tiobe今天發布了***一期的編程語言排行榜。本期榜單的前五名與10月份沒有明顯變化,依然是Java、C、C++、PHP和Python;Objective-C的增長勢頭強勁。本期另外一個值得注意的語言是重回前20名NXT-G。NXT-G是一種集成在樂高(LEGO)公司的機器人玩具產品中的可視化編程語言,關于NXT-G的詳細報道可以參考2008年11月的編程語言排行榜:可視化編程語言日漸流行。
2010年11月編程語言排行榜TOP20
本期榜單,我們將視線從傳統開發平臺轉移到移動平臺,看看最近大熱的智能移動終端里的應用開發,"手機里的代碼"。
從07年iPhone發布到現在,手機和移動終端正經歷著一場用天翻地覆形容也不為過的變革:終端的人機交互變被重新定義,大尺寸的高分屏幕正在變的主流,基于iOS、Android等智能系統的手機正在隨著成本的降低而不斷普及;與硬件和平臺發展相互推動的是基于各種平臺的手機應用程序和游戲的大量涌現。在某個層面上,移動平臺的應用數量和質量還在影響著平臺本身的口碑和發展。
開發者漸漸意識的到,繼PC、Web等傳統軟件開發平臺,智能手機的應用開發正在走向前臺,形成技術、產品和交付等相對獨立的全新軟件生態系統。站在編程語言的角度,如果說C、C++和Java成就了PC Client時代,PHP、Ruby成就了Web時代,那么哪種語言將成就移動時代?借助本期榜單,我們一起來探秘“手機里的代碼”,看看在火熱的智能移動平臺,哪些語言在唱主角。
Objective-C
本期的第8名。在今年二月的編程榜中,我們就以“Objective-C的詠嘆調”為題介紹了它的歷史發展和特性。在iPhone和App Store之前,由于蘋果公司的特點和Mac平臺的特殊要求,Objective-C一直在編程語言領域保持一種低調的形象。與Windows平臺下的應用開發技術和編程語言的繁盛景象相比,Objective-C更像是孤獨盛開在Mac平臺上的技術奇葩。
但隨著iPhone應用開發的火爆,除之前的Mac平臺的開發者外,眾多軟件開發者由其他語言或平臺轉向Objective-C開發iPhone應用程序,帶動Objective-C走向繁榮。在51CTO對iPhone開發團隊139.ME的訪談中也提到:Objective-C能更多的被人所認知歸功于iPhone。
Objective-C是C語言的一個擴展集,以C為基礎,在語言中添加了一些實用的特性。對于有過C++或Java經驗的開發者而言,會被Objective-C的簡短而驚嘆。基本上,所有的iPhone應用都需要使用Objective-C編寫,并配合蘋果提供的Cocoa和Xcode等工具。以下Objective-C版的Hello World:
- #import <Foundation/Foundation.h>
- int main (int argc,const char *argv[])
- {
- NSLog(@"Hello,World!")
- return(0);
- }//main
Java
Java無處不在。在移動平臺上,最初的J2ME就曾一度統治MTK時代的手機軟件和游戲市場;在智能手機大行其道的今天,借助與Android平臺的推動,Java再一次迎來在移動平臺的春天。
一般地,Android系統分為三個層次:系統層、應用框架層和應用層。Android是基于Linux內核開發的針對智能移動設備的系統,底層即系統層由C/C++構成,應用框架層提供核心功能和應用層運行所必要的API框架,應用層則是Java語言編寫的應用程序。Android平臺引入了Dalvik虛擬機,由Java語言編寫的應用運行與Dalvik之上。Dalvik并不是完全按照Java虛擬機規范來實現的,傳統的Java程序是在JVM上運行Java字節碼,而Dalvik虛擬機運行的則是專有的文件格式.dex文件。
Dalvik的引入是為了規避一些Oracle/Sun在Java知識產權方面的一些風險,雖然Android在Java程序的編譯運行上有所改變,但總體而言,并未改變Java程序員的語法習慣和代碼風格。憑借學習曲線的降低和Google的強力推動,使Android平臺迅速吸引了大批其他傳統平臺的Java程序員加入,使得Android平臺的應用數理得以快速增加,終端和平臺也隨之快速發展。
一般,Android應用程序的開發需要借助Eclipse和ADT等IDE和工具。更多關于Android開發相關文章可以參考51CTO移動開發頻道相關欄目。
下面是本期編程語言排行榜的其他排名數據和趨勢走向。#p#
前10名編程語言趨勢走向
其他編程語言及趨勢
下面是本期榜單第21-50的編程語言排名
Position | Programming Language | Ratings |
---|---|---|
21 | MATLAB | 0.636% |
22 | Lua | 0.612% |
23 | ABAP | 0.597% |
24 | Object Pascal | 0.556% |
25 | Go | 0.548% |
26 | Scheme | 0.508% |
27 | Fortran | 0.477% |
28 | Tcl | 0.423% |
29 | D | 0.414% |
30 | COBOL | 0.405% |
31 | Logo | 0.397% |
32 | CL (OS/400) | 0.371% |
33 | APL | 0.366% |
34 | JavaFX Script | 0.366% |
35 | R | 0.365% |
36 | JScript.NET | 0.330% |
37 | C shell | 0.327% |
38 | ActionScript | 0.326% |
39 | Scratch | 0.325% |
40 | IDL | 0.325% |
41 | Visual Basic .NET | 0.323% |
42 | Haskell | 0.312% |
43 | Alice | 0.311% |
44 | Prolog | 0.300% |
45 | Erlang | 0.267% |
46 | Smalltalk | 0.266% |
47 | Forth | 0.256% |
48 | Awk | 0.238% |
49 | ML | 0.237% |
50 | Scala | 0.235% |
下面是第50到100的編程語言排名
ABC, Algol, Applescript, Bash, bc, Beta, C++/CLI, CFML, cg, Clean, Clipper, Cobra, cT, Curl, Dylan, Eiffel, Euphoria, F#, Factor, Groovy, Icon, Io, J, LabVIEW, LabWindows/CVI, MAD, MAX/MSP, Modula-2, Modula-3, MUMPS, Natural, Oberon, Objective Caml, Occam, Oz, PL/I, Postscript, PowerShell, Q, REALbasic, S, SIGNAL, SPSS, Squirrel, Standard ML, Verilog, VHDL, XBase, XSLT, Z shell
編程語言類別
下面給出了編程語言類別的一年變化趨勢。
Category | Ratings Nov 2010 | Delta Nov 2009 |
---|---|---|
Object-Oriented Languages | 56.7% | +2.4% |
Procedural Languages | 38.0% | -3.5% |
Functional Languages | 3.6% | +0.7% |
Logical Languages | 1.7% | +0.4% |
動態和靜態語言趨勢走向
Category | Ratings Nov 2010 | Delta Nov 2009 |
---|---|---|
Statically Typed Languages | 63.1% | +4.1% |
Dynamically Typed Languages | 36.9% | -4.1% |
【歷期榜單回顧】
- 10月編程語言排行榜:Java的混亂之治
- 9月編程語言排行榜:Perl 不走尋常路
- 8月編程語言排行榜:微軟鋒利的刀C#
- 7月編程語言排行榜:這里有支足球隊
- 6月編程語言排行榜:框架之翼
- 5月編程語言排行榜:動態語言的前世今生
- 4月編程語言排行榜:Top20里的“陌生人”
- 3月編程語言排行榜:Fortran歸來
- 2月編程語言排行榜:Objective-C的詠嘆調
【責任編輯:red7 TEL:(010)68476606】