2010年11月編程語言排行榜:手機(jī)里的代碼
原創(chuàng)【51CTO獨(dú)家特稿】Tiobe今天發(fā)布了***一期的編程語言排行榜。本期榜單的前五名與10月份沒有明顯變化,依然是Java、C、C++、PHP和Python;Objective-C的增長勢頭強(qiáng)勁。本期另外一個(gè)值得注意的語言是重回前20名NXT-G。NXT-G是一種集成在樂高(LEGO)公司的機(jī)器人玩具產(chǎn)品中的可視化編程語言,關(guān)于NXT-G的詳細(xì)報(bào)道可以參考2008年11月的編程語言排行榜:可視化編程語言日漸流行。
2010年11月編程語言排行榜TOP20
本期榜單,我們將視線從傳統(tǒng)開發(fā)平臺(tái)轉(zhuǎn)移到移動(dòng)平臺(tái),看看最近大熱的智能移動(dòng)終端里的應(yīng)用開發(fā),"手機(jī)里的代碼"。
從07年iPhone發(fā)布到現(xiàn)在,手機(jī)和移動(dòng)終端正經(jīng)歷著一場用天翻地覆形容也不為過的變革:終端的人機(jī)交互變被重新定義,大尺寸的高分屏幕正在變的主流,基于iOS、Android等智能系統(tǒng)的手機(jī)正在隨著成本的降低而不斷普及;與硬件和平臺(tái)發(fā)展相互推動(dòng)的是基于各種平臺(tái)的手機(jī)應(yīng)用程序和游戲的大量涌現(xiàn)。在某個(gè)層面上,移動(dòng)平臺(tái)的應(yīng)用數(shù)量和質(zhì)量還在影響著平臺(tái)本身的口碑和發(fā)展。
開發(fā)者漸漸意識(shí)的到,繼PC、Web等傳統(tǒng)軟件開發(fā)平臺(tái),智能手機(jī)的應(yīng)用開發(fā)正在走向前臺(tái),形成技術(shù)、產(chǎn)品和交付等相對獨(dú)立的全新軟件生態(tài)系統(tǒng)。站在編程語言的角度,如果說C、C++和Java成就了PC Client時(shí)代,PHP、Ruby成就了Web時(shí)代,那么哪種語言將成就移動(dòng)時(shí)代?借助本期榜單,我們一起來探秘“手機(jī)里的代碼”,看看在火熱的智能移動(dòng)平臺(tái),哪些語言在唱主角。
Objective-C
本期的第8名。在今年二月的編程榜中,我們就以“Objective-C的詠嘆調(diào)”為題介紹了它的歷史發(fā)展和特性。在iPhone和App Store之前,由于蘋果公司的特點(diǎn)和Mac平臺(tái)的特殊要求,Objective-C一直在編程語言領(lǐng)域保持一種低調(diào)的形象。與Windows平臺(tái)下的應(yīng)用開發(fā)技術(shù)和編程語言的繁盛景象相比,Objective-C更像是孤獨(dú)盛開在Mac平臺(tái)上的技術(shù)奇葩。
但隨著iPhone應(yīng)用開發(fā)的火爆,除之前的Mac平臺(tái)的開發(fā)者外,眾多軟件開發(fā)者由其他語言或平臺(tái)轉(zhuǎn)向Objective-C開發(fā)iPhone應(yīng)用程序,帶動(dòng)Objective-C走向繁榮。在51CTO對iPhone開發(fā)團(tuán)隊(duì)139.ME的訪談中也提到:Objective-C能更多的被人所認(rèn)知?dú)w功于iPhone。
Objective-C是C語言的一個(gè)擴(kuò)展集,以C為基礎(chǔ),在語言中添加了一些實(shí)用的特性。對于有過C++或Java經(jīng)驗(yàn)的開發(fā)者而言,會(huì)被Objective-C的簡短而驚嘆?;旧?,所有的iPhone應(yīng)用都需要使用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無處不在。在移動(dòng)平臺(tái)上,最初的J2ME就曾一度統(tǒng)治MTK時(shí)代的手機(jī)軟件和游戲市場;在智能手機(jī)大行其道的今天,借助與Android平臺(tái)的推動(dòng),Java再一次迎來在移動(dòng)平臺(tái)的春天。
一般地,Android系統(tǒng)分為三個(gè)層次:系統(tǒng)層、應(yīng)用框架層和應(yīng)用層。Android是基于Linux內(nèi)核開發(fā)的針對智能移動(dòng)設(shè)備的系統(tǒng),底層即系統(tǒng)層由C/C++構(gòu)成,應(yīng)用框架層提供核心功能和應(yīng)用層運(yùn)行所必要的API框架,應(yīng)用層則是Java語言編寫的應(yīng)用程序。Android平臺(tái)引入了Dalvik虛擬機(jī),由Java語言編寫的應(yīng)用運(yùn)行與Dalvik之上。Dalvik并不是完全按照J(rèn)ava虛擬機(jī)規(guī)范來實(shí)現(xiàn)的,傳統(tǒng)的Java程序是在JVM上運(yùn)行Java字節(jié)碼,而Dalvik虛擬機(jī)運(yùn)行的則是專有的文件格式.dex文件。
Dalvik的引入是為了規(guī)避一些Oracle/Sun在Java知識(shí)產(chǎn)權(quán)方面的一些風(fēng)險(xiǎn),雖然Android在Java程序的編譯運(yùn)行上有所改變,但總體而言,并未改變Java程序員的語法習(xí)慣和代碼風(fēng)格。憑借學(xué)習(xí)曲線的降低和Google的強(qiáng)力推動(dòng),使Android平臺(tái)迅速吸引了大批其他傳統(tǒng)平臺(tái)的Java程序員加入,使得Android平臺(tái)的應(yīng)用數(shù)理得以快速增加,終端和平臺(tái)也隨之快速發(fā)展。
一般,Android應(yīng)用程序的開發(fā)需要借助Eclipse和ADT等IDE和工具。更多關(guān)于Android開發(fā)相關(guān)文章可以參考51CTO移動(dòng)開發(fā)頻道相關(guān)欄目。
下面是本期編程語言排行榜的其他排名數(shù)據(jù)和趨勢走向。#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% |
動(dòng)態(tài)和靜態(tài)語言趨勢走向
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月編程語言排行榜:這里有支足球隊(duì)
- 6月編程語言排行榜:框架之翼
- 5月編程語言排行榜:動(dòng)態(tài)語言的前世今生
- 4月編程語言排行榜:Top20里的“陌生人”
- 3月編程語言排行榜:Fortran歸來
- 2月編程語言排行榜:Objective-C的詠嘆調(diào)
【責(zé)任編輯:red7 TEL:(010)68476606】