如图所示,前三甲依然为C,Java,C++,但Java份额持续下滑,Objective-C持续升温,其他上升幅度比较大的还有Visual Basic.NET,PL/SQL和Logo。
在过去的8年里,TIOBE排行榜Top 10里基本上没怎么变化,除了Objective-C挤进前10和Delphi的退出。由于苹果iPhone采用了Objective-C,使得其发展得到迅速提升。开发者采用一门新的语言,似乎比想象中要困难的多。究其主要原因是将一个大的代码库从一种语言迁移至另一种语言,这的确很难 。因此,语言的发展非常缓慢。但是即便考虑到这一点,也没有一门新的语言因缓慢而呈现增长的趋势。
我们一起来看下,有哪些语言是潜在的候选者?什么样的编程语言是互联网上常讨论的热点呢?比如,Scala,目前排名46位,6年前我们开始对该语言引起关注。2006年进入TIOBE排行榜占据57位,然而一年后,它已经跃至48位,上升速度还是很惊人的。自那之后,就无多大变化了。
其他值得关注的还有,F#目前排名44位,2006年排名35位,Clojure目前排名77位,2009年排名88位。那么,谁才是下一个受欢迎的语言呢?让我们拭目以待。
前20名榜单排行榜:

前10名编程语言走势图:

以下是21-50编程语言排名:

后50名的语言如下:
| ActionScript, Algol, Apex, bc, Boo, C shell, CFML, CL (OS/400), Clean, Clojure, Curl, Dart, Dylan, Eiffel, Euphoria, Factor, Felix, Go, Icon, Inform, J, JavaFX Script, LabVIEW, Ladder Logic, Lingo, LPC, Mathematica, Max/MSP, MUMPS, NATURAL, Oberon, OCaml, Occam, OpenCL, OpenEdge ABL, Oz, PowerShell, Processing, Q, REALbasic, REXX, S, S-PLUS, SPARK, SuperCollider, Tcl, Verilog, VHDL, X10, xBase |
必须声明,这个榜单本身采集的是英文世界的数据,虽然在反映趋势上有一些参考意义,但与中国的实际情况不完全符合,而且,这张采样本身也有相当大的局限性。
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上的语言分布吧:

2012年哪些编程语言能成为黑马呢?很有难度。TIOBE评论中提到了F#, Groovy和R。我对前两者都不看好。F#的理由很简单,.NET阵营的技术人员总体惯性较大,对新技术不热衷,而且C#的迅速发展使得很多F#的优势也渐渐消失了。Groovy更多的应该是用作Java项目中的胶水用,相对小众,而且它还有Scala、Clojure等各种JVM语言做劲敌,日子肯定不轻松。
无论如何,函数式语言的重要性越来越强了:
| 分类 |
2012年1月份额 |
2011年1月相比变化 |
|---|---|---|
| 面向对象语言 | 57.1% | +1.8% |
| 过程式语言 | 36.8% | -2.7% |
| 函数式语言 | 4.3% | +0.6% |
| 逻辑式语言 | 1.8% | +0.3% |
但是,第一次进入前20的R很有潜力,因为,它是大数据时代的宠儿,进行数据分析的利器,假以时日,超过Transact-C、PL/SQL这些同类是正常的。
另外也别忘了Go,一旦有更多实际生产应用的证明,它还是会赢得不少拥趸的,毕竟,系统编程语言占据着巨大的市场份额,能够抢下几分之一,也足以进入前十了。
好了,闲话少叙,大家看榜吧。
|
2012年1月 名次 |
2011年1月 名次 |
名次变化 | 编程语言 |
2012年1月 份额 |
份额变化 | 状况 |
|---|---|---|---|---|---|---|
| 1 | 1 |
![]() |
Java | 17.479% | -0.29% | A |
| 2 | 2 |
![]() |
C | 16.976% | +1.15% | A |
| 3 | 6 |
![]() ![]() ![]() |
C# | 8.781% | +2.55% | A |
| 4 | 3 |
![]() |
C++ | 8.063% | -0.72% | A |
| 5 | 8 |
![]() ![]() ![]() |
Objective-C | 6.919% | +3.91% | A |
| 6 | 4 |
![]() ![]() |
PHP | 5.710% | -2.13% | A |
| 7 | 7 |
![]() |
(Visual) Basic | 4.531% | -1.34% | A |
| 8 | 5 |
![]() ![]() ![]() |
Python | 3.218% | -3.05% | A |
| 9 | 9 |
![]() |
Perl | 2.773% | -0.08% | A |
| 10 | 11 |
![]() |
JavaScript | 2.322% | +0.73% | A |
| 11 | 12 |
![]() |
Delphi/Object Pascal | 1.576% | +0.29% | A |
| 12 | 10 |
![]() ![]() |
Ruby | 1.441% | -0.34% | A |
| 13 | 13 |
![]() |
Lisp | 1.111% | +0.00% | A |
| 14 | 14 |
![]() |
Pascal | 0.798% | -0.12% | A |
| 15 | 17 |
![]() ![]() |
Transact-SQL | 0.772% | +0.01% | A |
| 16 | 24 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
PL/SQL | 0.709% | +0.15% | A |
| 17 | 20 |
![]() ![]() ![]() |
Ada | 0.634% | -0.05% | B |
| 18 | 39 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Logo | 0.632% | +0.29% | B |
| 19 | 25 |
![]() ![]() ![]() ![]() ![]() ![]() |
R | 0.609% | +0.07% | B |
| 20 | 21 |
![]() |
Lua | 0.559% | -0.08% | B |
必须声明,这个榜单本身采集的是英文世界的数据,虽然在反映趋势上有一些参考意义,但与中国的实际情况不完全符合,而且,这张采样本身也有相当大的局限性。比如榜单中的排名肯定与JavaScript的实际使用率不匹配,毕竟现在不用JavaScript的项目越来越少了,它甚至还在大举入侵服务器端(参阅Node.js方面的介绍)。还有应用广泛的Shell排名也不高,但是在Unix/Linux类平台上,不用Shell的程序员应该也不会很多。《程序员》2010年8月刊的圆桌讨论“什么是最美丽的编程语言”中,许多专家也谈到了这一点。
TIOBE排行榜从长期来看意义更大(所以应该多重视5年、10年的变化),短期则只有参考价值。请大家注意,我们每月按时编译排行榜,目的是告诉大家技术趋势,而不是引发没有内容的编程语言口水战(这类评论通常都会被删去,相关不良记录也会记入发帖者的帐号)。
我们想特别指出的是,各种语言都有其自身的长处和缺点,笼统比较优劣毫无意义。而且就目前一般的编程任务而言,基本上各种语言都能胜任,开发效率也 和使用者的熟练程度密切相关。语言的此消彼长,关键在于社区,如果你热爱哪一种语言,请到CSDN开设博客,多写自己的心得、经验、各种层次的教程,让更 多人体验到这种语言之美,扩大自己的社区。我们欢迎有质量有内容的语言和框架比较的技术文章,坚决排斥浪费自己和他人时间和资源的口水战。
来看看长期趋势图。

后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
更长期的数据。
| 编程语言 | 2012年1月名次 | 2007年1月名次 | 1997年1月名次 | 1987年1月名次 |
|---|---|---|---|---|
| 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 |
上一篇:软件随想 做善于思考的码农
下一篇:为什么C语言屹立不倒?
相关资讯





