2月編程語言排行榜:Objective-C的詠嘆調(diào)
原創(chuàng)【51CTO獨家特稿】Tiobe今日發(fā)布了2010年2月份的編程語言排行榜,在上月的榜單中,Tiobe確定了2009年的年度編程語言Google Go;本期榜單我們關(guān)注在2009年得到蓬勃發(fā)展的另一門編程語言——Objective-C,在年度編程語言評選中,它僅以0.01%的差距落后于Google Go。
2月編程語言排行榜TOP20
請留意排名第12位的Objective-C,在2008年1月和2009年1月發(fā)布的年度榜單中,Objective-C分別排名第47和37位。短短三年,Objective-C何以有如此快速的成長?
Objective-C的發(fā)展歷程
與C、C++、Java這樣的語言相比,我們可能對Objective-C有些陌生。其實,早在上世紀80年代Objective-C就已誕生。1980年代初,就職于Stepstone公司的Brad Cox發(fā)明了Objective-C,Brad當時想打造一門流行的、可移植的C語言與優(yōu)雅的Smalltalk(關(guān)于Smalltalk的語言特性請參考Smalltalk之父的報道)的結(jié)合體。
Objective-C是C語言的一個擴展集,以C為基礎(chǔ),并在其中增加了一些重要的特性。Objective-C是講究實用和效率的語言,使用過C++或者Java的開發(fā)者一定會驚嘆Objective-C的程序如此簡短,一般,Objective-C寫成的程序通常不會比其原始碼大很多。另外,Objective-C還繼承了Smalltalk語言的優(yōu)雅和面向?qū)ο筇匦?,而其?jīng)過改造的函式庫卻不像Smalltalk那樣需要過大的內(nèi)存資源
Objective-C創(chuàng)始人Brad Cox
1985年,被趕出蘋果公司的Steve Jobs成立了NeXT公司,致力于開發(fā)強大且經(jīng)濟的工作站。NeXT選擇Unix作為其操作系統(tǒng),并創(chuàng)建了NeXTSTEP Toolkit軟件包,這個工具包用于開發(fā)用戶界面,功能強大,其使用的編程語言就是Objective-C。1993年,NeXT中止了硬件業(yè)務,轉(zhuǎn)為專注與OpenSTEP軟件市場,并推出了一套網(wǎng)絡程序架構(gòu)WebObjects用于進行動態(tài)頁面的生成。1996年,蘋果公司以4億美金收購了NeXT,NeXTSTEP被重命名為Cocoa,WebObjects則集成到Mac OS Server和Xcode中。Objective-C自然而然成為Mac平臺的首選開發(fā)語言,并受到Macintosh編程人員的廣泛認可;Cocoa成為蘋果免費提供的開發(fā)工具,提供Mac平臺應用開發(fā)的環(huán)境。
Objective-C的詠嘆調(diào)
由于蘋果公司的市場定位和Mac平臺的特殊要求,Objective-C一直在編程語言領(lǐng)域保持一種低調(diào)的形象。與Windows平臺下的應用開發(fā)技術(shù)和編程語言的繁盛景象相比,Objective-C更像是孤獨盛開在Mac平臺上的技術(shù)奇葩。
但iPhone的發(fā)布改變了這一切。基于App Store模式的iPhone軟件開發(fā)不但為iPhone用戶提供品類豐富的應用程序擴展,還為眾多軟件公司和獨立開發(fā)者提供機會(詳細請參考51CTO之前的報道《獨立軟件開發(fā)者,你準備好了嗎》)。09年7月,App Store上線一周年后,軟件數(shù)量已達到6萬,每日新上線近千款iPhone軟件。考察一門編程語言是否受歡迎,其應用場景和項目需求是最重要的一點;iPhone應用開發(fā)的火爆帶動Objective-C語言的繁榮。眾多軟件開發(fā)者由其他語言或平臺轉(zhuǎn)向Objective-C開發(fā)iPhone應用程序,一時之間,Objective-C和iPhone的開發(fā)書籍持續(xù)熱銷。
這種熱度還將持續(xù)。蘋果公司最近發(fā)布了采用iPhone OS的iPad,51CTO曾就蘋果iPad發(fā)布背后的意義做過報道,雖然業(yè)界對這一款產(chǎn)品也是褒貶不一,但是這一點也不妨礙iPad的擴展應用成為App Store的下一個熱點。行業(yè)、市場需求和應用場景的廣泛性將決定一門編程語言的流行程度??梢灶A見,Objective-C將迎來在iPad上進行應用開發(fā)的高潮,在移動開發(fā)的舞臺上唱響更動聽的技術(shù)詠嘆調(diào)。#p#
在本期的編程語言排行榜中,TIOBE指出,Scratch、Scala、 Erlang和JavaFX Script這幾種編程語言正在向前20名挺進,讓我們看看他們目前的排名。
編程語言排行TOP 21-50
請留意下表中標注紅色的語言,其中,Scala和Erlang兩種語言51CTO已經(jīng)有過專題報道,詳細請參考《Scala編程語言》專題和《因并發(fā)而生 因云計算而熱:Erlang專家訪談實錄》;關(guān)于Scratch和JavaFX Script兩種語言我們會在后面的編程語言排行榜中為您介紹。
Position | Programming Language | Ratings |
---|---|---|
21 | Lua | 0.506% |
22 | Scratch | 0.498% |
23 | D | 0.485% |
24 | Scala | 0.459% |
25 | Erlang | 0.446% |
26 | COBOL | 0.437% |
27 | JavaFX Script | 0.435% |
28 | Transact-SQL | 0.415% |
29 | Fortran | 0.377% |
30 | Ada | 0.367% |
31 | Alice | 0.360% |
32 | RPG (OS/400) | 0.352% |
33 | Logo | 0.350% |
34 | Bourne shell | 0.342% |
35 | S-lang | 0.339% |
36 | FoxPro/xBase | 0.323% |
37 | Forth | 0.296% |
38 | NXT-G | 0.274% |
39 | Tcl/Tk | 0.266% |
40 | Groovy | 0.261% |
41 | Prolog | 0.255% |
42 | Smalltalk | 0.254% |
43 | Caml/F# | 0.244% |
44 | CL (OS/400) | 0.226% |
45 | PowerShell | 0.221% |
46 | PL/I | 0.212% |
47 | J | 0.203% |
48 | Haskell | 0.202% |
49 | VHDL | 0.194% |
50 | MAX/MSP | 0.187% |
下面是排名第51-100的編程語言
ABC, AD, Algol, APL, Applescript, Awk, Beta, Boo, C shell, cg, Clean, Clojure, cT, Dylan, Eiffel, Euphoria, Factor, Falcon, Focus, Icon, IDL, Informix-4GL, Io, LabVIEW, LabWindows/CVI, Lingo, MAD, Maple, Mathematica, ML, Modula-2, Modula-3, MOO, MS-DOS batch, MUMPS, Natural, Occam, Oz, Postscript, Progress, Q, R, Revolution, REXX, SIGNAL, SPSS, SuperCollider, VBScript, Verilog, XSLT
編程語言類型走勢
Category | Ratings Feb 2010 | Delta Feb 2009 |
---|---|---|
Object-Oriented Languages | 53.8% | -2.5% |
Procedural Languages | 41.7% | +2.2% |
Functional Languages | 2.9% | -0.1% |
Logical Languages | 1.6% | +0.4% |
Category | Ratings Feb 2010 | Delta Feb 2009 |
---|---|---|
Statically Typed Languages | 59.4% | +0.4% |
Dynamically Typed Languages | 40.6% | -0.4% |