• 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进行计算。请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语 言所编写的代码数量多少。

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

  • 相关阅读:
    SQL 语法解释器jsqlparser
    《JAVA与模式》之解释器模式
    程序猿应该了解的内容以及程序猿如何强迫自己学习(思考篇)
    强迫自己学习(心态篇),国庆,你准备去哪疯?
    强迫自己学习(实践篇),以及关于写博客的几点建议
    JAVA GC垃圾收集器的分析
    JVM内存模型及内存分配过程
    Extended Traffic LightOJ
    HDU 4616 Game 树形DP
    POJ 3164 Command Network
  • 原文地址:https://www.cnblogs.com/huangjacky/p/2344546.html
Copyright © 2020-2023  润新知