2月编程语言排行榜:Objective-C的咏叹调

原创
开发
本期编程语言排行榜我们关注在2009年得到蓬勃发展的另一门编程语言——Objective-C,在年度编程语言评选中,它仅以0.01%的差距落后于Google Go。

【51CTO独家特稿】Tiobe今日发布了2010年2月份的编程语言排行榜,在上月的榜单中,Tiobe确定了2009年的年度编程语言Google Go;本期榜单我们关注在2009年得到蓬勃发展的另一门编程语言——Objective-C,在年度编程语言评选中,它仅以0.01%的差距落后于Google Go。

2月编程语言排行榜TOP20

2010年2月编程语言排行榜Top20 
2010年2月编程语言排行榜TOP20

请留意排名第12位的Objective-C,在2008年1月2009年1月发布的年度榜单中,Objective-C分别排名第47和37位。短短三年,Objective-C何以有如此快速的成长?

2002-2009年Objective-C趋势走向 
2002-2009年Objective-C趋势走向

Objective-C的发展历程

与C、C++、Java这样的语言相比,我们可能对Objective-C有些陌生。其实,早在上世纪80年代Objective-C就已诞生。1980年代初,就职于Stepstone公司的Brad Cox发明了Objective-C,Brad当时想打造一门流行的、可移植的C语言与优雅的Smalltalk(关于Smalltalk的语言特性请参考Smalltalk之父的报道)的结合体。

Objective-C是C语言的一个扩展集,以C为基础,并在其中增加了一些重要的特性。Objective-C是讲究实用和效率的语言,使用过C++或者Java的开发者一定会惊叹Objective-C的程序如此简短,一般,Objective-C写成的程序通常不会比其原始码大很多。另外,Objective-C还继承了Smalltalk语言的优雅和面向对象特性,而其经过改造的函式库却不像Smalltalk那样需要过大的内存资源

[[8729]] 
Objective-C创始人Brad Cox

1985年,被赶出苹果公司的Steve Jobs成立了NeXT公司,致力于开发强大且经济的工作站。NeXT选择Unix作为其操作系统,并创建了NeXTSTEP Toolkit软件包,这个工具包用于开发用户界面,功能强大,其使用的编程语言就是Objective-C。1993年,NeXT中止了硬件业务,转为专注与OpenSTEP软件市场,并推出了一套网络程序架构WebObjects用于进行动态页面的生成。1996年,苹果公司以4亿美金收购了NeXT,NeXTSTEP被重命名为Cocoa,WebObjects则集成到Mac OS Server和Xcode中。Objective-C自然而然成为Mac平台的首选开发语言,并受到Macintosh编程人员的广泛认可;Cocoa成为苹果免费提供的开发工具,提供Mac平台应用开发的环境。

Objective-C的咏叹调

由于苹果公司的市场定位和Mac平台的特殊要求,Objective-C一直在编程语言领域保持一种低调的形象。与Windows平台下的应用开发技术和编程语言的繁盛景象相比,Objective-C更像是孤独盛开在Mac平台上的技术奇葩。

Mac平台上的应用开发
 Mac平台上的应用开发

但iPhone的发布改变了这一切。基于App Store模式的iPhone软件开发不但为iPhone用户提供品类丰富的应用程序扩展,还为众多软件公司和独立开发者提供机会(详细请参考51CTO之前的报道《独立软件开发者,你准备好了吗》)。09年7月,App Store上线一周年后,软件数量已达到6万,每日新上线近千款iPhone软件。考察一门编程语言是否受欢迎,其应用场景和项目需求是最重要的一点;iPhone应用开发的火爆带动Objective-C语言的繁荣。众多软件开发者由其他语言或平台转向Objective-C开发iPhone应用程序,一时之间,Objective-C和iPhone的开发书籍持续热销。

这种热度还将持续。苹果公司最近发布了采用iPhone OS的iPad,51CTO曾就苹果iPad发布背后的意义做过报道,虽然业界对这一款产品也是褒贬不一,但是这一点也不妨碍iPad的扩展应用成为App Store的下一个热点。行业、市场需求和应用场景的广泛性将决定一门编程语言的流行程度。可以预见,Objective-C将迎来在iPad上进行应用开发的高潮,在移动开发的舞台上唱响更动听的技术咏叹调。#p#

在本期的编程语言排行榜中,TIOBE指出,Scratch、Scala、 Erlang和JavaFX Script这几种编程语言正在向前20名挺进,让我们看看他们目前的排名。

编程语言排行TOP 21-50

请留意下表中标注红色的语言,其中,Scala和Erlang两种语言51CTO已经有过专题报道,详细请参考《Scala编程语言》专题和《因并发而生 因云计算而热:Erlang专家访谈实录》;关于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%

 

编程语言类别 
动态与静态类型语言走势

责任编辑:杨鹏飞 来源: 51CTO.com
相关推荐

2012-06-11 14:20:36

Objective-C

2013-04-15 10:00:51

IT技术周刊

2013-04-09 09:59:59

编程语言编程语言排行榜

2012-01-09 10:11:20

编程语言排行榜

2012-12-03 11:23:28

编程语言排行榜

2015-06-08 14:41:30

编程语言排行榜

2013-08-05 15:36:57

编程语言排行榜

2021-04-09 15:20:47

编程语言Fortran程序员

2020-02-14 09:19:12

编程语言JavaPython

2014-06-09 12:58:48

编程语言排行榜

2014-06-16 14:01:01

IT技术周刊

2009-11-11 10:35:59

2020-03-07 22:01:58

编程语言JavaPython

2012-02-07 08:48:00

编程语言排行榜

2009-02-18 09:11:22

编程语言排行榜Tiobe

2021-07-07 05:42:24

编程语言开发

2021-09-23 10:50:42

编程语言Python排行

2020-08-13 11:55:33

编程语言JavaPython

2019-07-23 14:14:59

编程语言JavaPython

2023-06-09 15:39:40

编程语言Python
点赞
收藏

51CTO技术栈公众号