2012年1月编程语言排行榜:ObjectiveC成为年度语言

2012年1月TIOBE编程语言排行榜刚刚出炉。最大的新闻当然是此前已连续两年屈居第二的Objective-C终成正果。拜移动大潮所赐,它在一年中市场份额大涨3.91%,达到近7%,毫无悬念地拿下2011年年度语言大奖

看看历史上各年度的年度语言都是谁:

年度

年度语言

2011

Objective-C

2010

Python

2009

Go

2008

C

2007

Python

2006

Ruby

2005

Java

2004

PHP

2003

C++

大家注意到去年的大奖得主是谁吗?Python!(参考去年1月的排行榜)非常悲剧的是,两届年度语言大奖得主Python在2011年风光不再,整整跌去了3.05%,仅剩下3.218%,还不及Objective-C一年中增加的份额,排名也下降3名,可以说是惨不忍睹。当然,Python的实际情况并没有那么糟糕,据我所知,Python的图书和Objective-C的图书差不多一样好卖,用Python来开发网站和做系统管理的人也越来越多,此外Google工程师Damon Kohler领导的SL4A等项目也在致力于使Python等脚本语言踏上移动开发的大船。另一个大输家是PHP,Web后端开发难兄难弟Ruby也情况不佳,看来无论如何,移动的确已经抢了Web的风头了。Lua的上升,一般也认为是因为移动游戏火爆的缘故。

除了Objective-C之外,风头最劲的就是C#了,大涨2.55%,名次更是进入三甲,将占据这一位置长达十年的C++拉下了马,也可以说一个历史时刻。这里面估计有很多原来的VB程序员转投吧,本来想说Delphi的,仔细一看,人家居然也是增长的……另外,应该有Windows Phone的因素吧,通过Mono你还可以用C#来开发Android和iOS应用。

C语言增加1.15%,是原来前三名里唯一增长的,其中缘由值得好好琢磨一下。我感觉随着云计算的发展,高性能成为服务器端系统软件的重点,C的优势会越来越明显。比如,前几天CouchDB项目创始人Damien Katz宣布转而专注开发Couchbase时,就强调新项目中已经放弃Erlang,转用C,因为在性能和底层控制上C无与伦比。未来一年,C与Java的王者之争是一个看点。

另一个份额增加较多的语言是JavaScript (+0.73%),之前我曾经分析过,实战中不用JavaScript的程序员其实越来越少,JavaScript实际的份额和名次肯定被低估了。而且,它是最有可能通吃各个领域的统一编程语言。随着包括移动终端在内的HTML5(它已经成为公认的未来)和服务器端Node.js发展,我相信JavaScript不久之后会进入排行榜的最前列。看看GitHub上的语言分布吧:

clip_image002

2012年哪些编程语言能成为黑马呢?很有难度。TIOBE评论中提到了F#, Groovy和R。我对前两者都不看好。F#的理由很简单,.NET阵营的技术人员总体惯性较大,对新技术不热衷,而且C#的迅速发展使得很多F#的优势也渐渐消失了。Groovy更多的应该是用作Java项目中的胶水用,相对小众,而且它还有Scala、Clojure等各种JVM语言做劲敌,日子肯定不轻松。

无论如何,函数式语言的重要性越来越强了:

分类

20121月份额

20111月相比变化

面向对象语言

57.1%

+1.8%

过程式语言

36.8%

-2.7%

函数式语言

4.3%

+0.6%

逻辑式语言

1.8%

+0.3%

但是,第一次进入前20的R很有潜力,因为,它是大数据时代的宠儿,进行数据分析的利器,假以时日,超过Transact-C、PL/SQL这些同类是正常的。

另外也别忘了Go,一旦有更多实际生产应用的证明,它还是会赢得不少拥趸的,毕竟,系统编程语言占据着巨大的市场份额,能够抢下几分之一,也足以进入前十了。

好了,闲话少叙,大家看榜吧。

20121

名次

20111

名次

名次变化

编程语言

20121

份额

份额变化

状况

1

1

clip_image003

Java

17.479%

-0.29%

A

2

2

clip_image003[1]

C

16.976%

+1.15%

A

3

6

clip_image004clip_image004[1]clip_image004[2]

C#

8.781%

+2.55%

A

4

3

clip_image005

C++

8.063%

-0.72%

A

5

8

clip_image004[3]clip_image004[4]clip_image004[5]

Objective-C

6.919%

+3.91%

A

6

4

clip_image005[1]clip_image005[2]

PHP

5.710%

-2.13%

A

7

7

clip_image003[2]

(Visual) Basic

4.531%

-1.34%

A

8

5

clip_image005[3]clip_image005[4]clip_image005[5]

Python

3.218%

-3.05%

A

9

9

clip_image003[3]

Perl

2.773%

-0.08%

A

10

11

clip_image004[6]

JavaScript

2.322%

+0.73%

A

11

12

clip_image004[7]

Delphi/Object Pascal

1.576%

+0.29%

A

12

10

clip_image005[6]clip_image005[7]

Ruby

1.441%

-0.34%

A

13

13

clip_image003[4]

Lisp

1.111%

+0.00%

A

14

14

clip_image003[5]

Pascal

0.798%

-0.12%

A

15

17

clip_image004[8]clip_image004[9]

Transact-SQL

0.772%

+0.01%

A

16

24

clip_image004[10]clip_image004[11]clip_image004[12]clip_image004[13]clip_image004[14]clip_image004[15]clip_image004[16]clip_image004[17]

PL/SQL

0.709%

+0.15%

A

17

20

clip_image004[18]clip_image004[19]clip_image004[20]

Ada

0.634%

-0.05%

B

18

39

clip_image004[21]clip_image004[22]clip_image004[23]clip_image004[24]clip_image004[25]clip_image004[26]clip_image004[27]clip_image004[28]clip_image004[29]clip_image004[30]

Logo

0.632%

+0.29%

B

19

25

clip_image004[31]clip_image004[32]clip_image004[33]clip_image004[34]clip_image004[35]clip_image004[36]

R

0.609%

+0.07%

B

20

21

clip_image004[37]

Lua

0.559%

-0.08%

B

必须声明,这个榜单本身采集的是英文世界的数据,虽然在反映趋势上有一些参考意义,但与中国的实际情况不完全符合,而且,这张采样本身也有相当大的局限性。比如榜单中的排名肯定与JavaScript的实际使用率不匹配,毕竟现在不用JavaScript的项目越来越少了,它甚至还在大举入侵服务器端(参阅Node.js方面的介绍)。还有应用广泛的Shell排名也不高,但是在Unix/Linux类平台上,不用Shell的程序员应该也不会很多。《程序员》2010年8月刊的圆桌讨论“什么是最美丽的编程语言”中,许多专家也谈到了这一点。

TIOBE排行榜从长期来看意义更大(所以应该多重视5年、10年的变化),短期则只有参考价值。请大家注意,我们每月按时编译排行榜,目的是告诉大家技术趋势,而不是引发没有内容的编程语言口水战(这类评论通常都会被删去,相关不良记录也会记入发帖者的帐号)。

我们想特别指出的是,各种语言都有其自身的长处和缺点,笼统比较优劣毫无意义。而且就目前一般的编程任务而言,基本上各种语言都能胜任,开发效率也 和使用者的熟练程度密切相关。语言的此消彼长,关键在于社区,如果你热爱哪一种语言,请到CSDN开设博客,多写自己的心得、经验、各种层次的教程,让更 多人体验到这种语言之美,扩大自己的社区。我们欢迎有质量有内容的语言和框架比较的技术文章,坚决排斥浪费自己和他人时间和资源的口水战。

来看看长期趋势图。

clip_image007

后30名排名情况。

名次

编程语言

市场份额

21

Assembly

0.550%

22

C shell

0.528%

23

MATLAB

0.515%

24

Visual Basic .NET

0.482%

25

NXT-G

0.478%

26

Go

0.474%

27

Fortran

0.434%

28

ABAP

0.418%

29

Scheme

0.415%

30

RPG (OS/400)

0.402%

31

COBOL

0.393%

32

SAS

0.339%

33

F#

0.338%

34

Scratch

0.334%

35

ActionScript

0.326%

36

Groovy

0.322%

37

D

0.320%

38

Forth

0.318%

39

Erlang

0.304%

40

PL/I

0.303%

41

Haskell

0.301%

42

Ladder Logic

0.299%

43

Prolog

0.292%

44

ML

0.291%

45

Q

0.276%

46

OpenEdge ABL

0.274%

47

Standard ML

0.274%

48

Smalltalk

0.260%

49

Tcl

0.259%

50

APL

0.245%

后50名的语言如下,其中你还知道哪些?

(Visual) FoxPro, ABC, Algol, Alice, Awk, Bash, bc, BETA, BlitzMax, Boo, Bourne shell, C++/CLI, CFML, cg, CL (OS/400), Clean, cT, Dart, Dylan, Eiffel, Factor, Icon, IDL, Io, J, JavaFX Script, JScript.NET, Korn shell, LabVIEW, LabWindows/CVI, Lingo, Max/MSP, Modula-2, MUMPS, NATURAL, Oberon, Occam, OpenCL, Oz, PowerShell, Revolution, S, S-PLUS, Scala, TOM, VBScript, VHDL, X10, XSLT, Z shell

更长期的数据。

编程语言

20121月名次

20071月名次

19971月名次

19871月名次

Java

1

1

5

-

C

2

2

1

1

C#

3

7

-

-

C++

4

3

2

7

Objective-C

5

46

-

-

PHP

6

5

-

-

(Visual) Basic

7

4

3

5

Python

8

8

26

-

Perl

9

6

6

-

JavaScript

10

9

25

-

Lisp

13

16

16

2

Ada

17

17

12

3

【说明】

TIOBE编程语言社区排行榜是编程语言流行趋势的一个指标。每月更新。这份排行榜排名基于互联网上有经验的程序员、课程和第三方厂商的数量。排名 使用著名的搜索引擎(诸如Google、 MSN 、雅虎)以及Wikipedia和YouTube进行计算。请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语 言所编写的代码数量多少。

这个排行榜可以用来考查你的编程技能是否与时俱进,也可以在开始开发新系统时选择语言时用来进行策略性的决策。排行榜的详细定义可以参考这里(英文)。

原文地址:https://www.cnblogs.com/huangjacky/p/2344546.html