TIOBE今天(6月7日)发布了最新一期的编程语言排行榜,在本期榜单中,曾夺得2009年年度编程语言的Google Go跌出前20名;TIOBE评论称,最初Google Go能获得如此成绩(Google Go推出三个月就获得了1.25%的增长),多数是出于人们的好奇心:一门由Google推出的编程语言。
| Position Jun 2010 | Position Jun 2009 | Delta in Position | Programming Language | Ratings Jun 2010 | Delta Jun 2009 | Status |
|---|---|---|---|---|---|---|
| 1 | 1 | ![]() |
Java | 18.033% | -2.11% | A |
| 2 | 2 | ![]() |
C | 17.809% | +1.03% | A |
| 3 | 3 | ![]() |
C++ | 10.757% | +0.16% | A |
| 4 | 4 | ![]() |
PHP | 8.934% | -0.74% | A |
| 5 | 5 | ![]() |
(Visual) Basic | 5.868% | -2.07% | A |
| 6 | 7 | ![]() |
C# | 5.196% | +0.66% | A |
| 7 | 6 | ![]() |
Python | 4.266% | -0.49% | A |
| 8 | 9 | ![]() |
Perl | 3.200% | -0.71% | A |
| 9 | 45 | ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Objective-C | 2.469% | +2.35% | A |
| 10 | 11 | ![]() |
Delphi | 2.394% | +0.21% | A |
| 11 | 8 | ![]() ![]() ![]() |
JavaScript | 2.191% | -1.83% | A |
| 12 | 10 | ![]() ![]() |
Ruby | 2.070% | -0.56% | A |
| 13 | 12 | ![]() |
PL/SQL | 0.787% | -0.09% | A |
| 14 | 14 | ![]() |
SAS | 0.703% | -0.06% | A |
| 15 | 15 | ![]() |
Pascal | 0.702% | -0.06% | A- |
| 16 | 18 | ![]() ![]() |
Lisp/Scheme/Clojure | 0.654% | +0.05% | B |
| 17 | 19 | ![]() ![]() |
Lua | 0.592% | +0.04% | B |
| 18 | 20 | ![]() ![]() |
MATLAB | 0.589% | +0.06% | B |
| 19 | 16 | ![]() ![]() ![]() |
ABAP | 0.577% | -0.15% | B |
| 20 | 27 | ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
PowerShell | 0.529% | +0.23% | |
6月编程语言排行榜前20名榜单
Google Go的确有其技术上的闪光点。Go自身支持并发编程,因此满足了对多处理器充分利用语言的需求;众多顶级程序员的参与其设计和代码改进也使得人们对它充满信心。但关键是,Go还没有在众多的编程语言中找到合适它的位置。
在这期编程榜中,Java重新回到榜首的位置,第二名至第五名分别是:C、C++、PHP、Visual Basic。本期编程榜我们关注的主题是开发框架(Framework)。
《设计模式》中对框架的定义是:框架就是一组相互协作的类,对于特定的一类软件,框架构成了一种可重用的设计。使用开发框架可以减少重复开发工作量、缩短开发时间,降低开发成本。同时,框架的引入和使用还可以使程序设计更加合理和稳定,利于二次开发和维护。框架的使用在Web开发中应用尤为广泛。对于一个特定的项目,选择合适的语言平台及框架会使你如虎添翼。
Ruby——因框架而流行
Ruby是一门因开发框架而走红的语言。没错,是Rails框架才使Ruby变得如此热门。最初Ruby只是其创始人Matz对理想编程语言的一个实践,1993年开始编写,1995年12月才发布第一个版本。经过漫长的发展,自2000年后才被日文以外的开发者了解。
Ruby是一门纯面向对象的语言,开发效率非常高。减少编程时候的不必要的琐碎时间,令编写程序的人高兴,是Matz设计Ruby语言的一个首要的考虑。
在Ruby onRails之前,Rails的创始人DHH曾尝试过使用PHP进行框架设计,但他最终选择了Ruby。灵活高效的Ruby语言搭配良好框架设计思想,DHH对Rails的解释是“最近的一条路”。从Rails这个名字我们可以看出,DHH希望软件开发可以沿着一个正确的轨迹不断向前,告别复杂的左转右转和讨厌的红灯;他也是按照这样的想法架构整个Rails。目前,Ruby onRails已经进阶主流Web开发技术,使用其开发的各种网站不计其数。
PHP——最流行最泛滥
上文我们曾提到,DHH曾尝试过使用PHP进行最初的框架设计,但他最后放弃了PHP。这里面涉及到的不是只编码效率和DSL能力,更多的是编程语言底层机制和运行效率。
PHP每次HTTP请求都要初始化资源,这个过程的开销非常大。尽管PHP解析器的运行速度快速且没有缺陷,但一旦使用框架,那么每次请求时初始化整个框架使性能的下降非常厉害,当使用一个很复杂的PHP框架的结果就是整体性能严重下降;同时,PHP语言本身的问题造成了PHP添加跨请求的高级特性相当困难,这是PHP本身一个很大的限制,但是反过来说,正是这种限制使得PHP始终保持在一个比较简单的Web语言上面,而正是这一点才是PHP得以成为互联网流行Web编程语言的原因。
但作为最流行的Web编程语言,数量众多的PHP程序员无法拒绝框架的诱惑,这也催生了PHP开发框架的泛滥。创始人钟胜辉也曾谈到:PHP的框架跟ROR的情况有所不同,多而混乱;他同时提到:从长远来看,一个优秀的框架可以延长一个项目的寿命,降低维护和二次开发的成本。
目前主流的PHP开发框架主要有:ZendFramework、CakePHP、CodeIgniter、Symfony等,国内也涌现出ThinkPHP、FleaPHP等优秀PHP框架。对于PHP开发者而言,如何在众多框架中挑选一个适合自己项目的成了一个难题。
还有很多
不只是Ruby和PHP,在编程语言排行榜的众多语言中,几乎所有主流语言都有多种自己的框架,比如Python的Django、JavaScript的jQuery、C++的MFC以及著名的Java开发框架Spring、Hibernate、Struts等。事实是,开发框架的使用已成为当前软件开发的主流应用形态。
同一门语言的不同框架往往都能实现相同的功能,根据自身项目和框架的特点进行选择尤为重要。在JavaScript方面,Dojo面向对象功能强大,提供丰富的库及UI控件;jQuery则以简洁、快速著称,对DOM对象和事件处理尤为擅长;prototype则显得更为轻量,善于处理Ajax的交互过程。
有时,基于同一种语言,不同的框架也具有不同的应用场景,比如对Java而言,Hibernate专注于数据层的持久化,Struts则精于业务逻辑的处理。
框架的诞生和演进不仅拓展了编程语言的应用场景和范围,还大幅提高了基于语言平台的项目开发和维护效率。框架使语言如虎添翼,善用框架,可以使你的项目锦上添花。
前十名编程语言走势图
其他语言及排名
| Position | Programming Language | Ratings |
|---|---|---|
| 21 | Go | 0.519% |
| 22 | ActionScript | 0.501% |
| 23 | Transact-SQL | 0.486% |
| 24 | RPG (OS/400) | 0.443% |
| 25 | Bourne shell | 0.426% |
| 26 | Ada | 0.416% |
| 27 | D | 0.398% |
| 28 | JavaFX Script | 0.393% |
| 29 | FoxPro/xBase | 0.388% |
| 30 | COBOL | 0.380% |
| 31 | Fortran | 0.376% |
| 32 | Haskell | 0.365% |
| 33 | S-lang | 0.347% |
| 34 | Alice | 0.340% |
| 35 | LabVIEW | 0.333% |
| 36 | Logo | 0.330% |
| 37 | Scratch | 0.329% |
| 38 | Tcl/Tk | 0.321% |
| 39 | J | 0.305% |
| 40 | NXT-G | 0.301% |
| 41 | Forth | 0.294% |
| 42 | Prolog | 0.254% |
| 43 | Scala | 0.253% |
| 44 | Groovy | 0.251% |
| 45 | Caml/F# | 0.248% |
| 46 | CL (OS/400) | 0.240% |
| 47 | Erlang | 0.234% |
| 48 | Q | 0.224% |
| 49 | Smalltalk | 0.222% |
| 50 | ML | 0.213% |
下面是第50到100的编程语言排名
ABC, Algol, Alpha, APL, Applescript, Awk, Beta, C shell, cg, Clean,cT, Curl, Dylan, Eiffel, Euphoria, Factor, Falcon, Focus, Heron, Icon,IDL, Informix-4GL, Io, LabWindows/CVI, Lingo, MAD, Maple, Mathematica,MAX/MSP, Modula-2, MS-DOS batch, MUMPS, Natural, Occam, OpenCL, Oz,PL/I, Postscript, PowerBuilder, Progress, R, REALbasic, Revolution,REXX, SIGNAL, SPSS, VBScript, Verilog, VHDL, XSLT
编程语言类别
下面给出了编程语言类别的一年变化趋势,面向对象编程(Object-Oriented Languages)依然占到编程语言类型的半壁江山。
| Category | Ratings Jun 2010 | Delta Jun 2009 |
|---|---|---|
| Object-Oriented Languages | 55.5% | +0.3% |
| Procedural Languages | 39.9% | -1.0% |
| Functional Languages | 3.2% | +0.2% |
| Logical Languages | 1.5% | +0.5% |
| Category | Ratings Jun 2010 | Delta Jun 2009 |
|---|---|---|
| Statically Typed Languages | 62.8% | +3.5% |
| Dynamically Typed Languages | 37.2% | -3.5% |
编程语言类型走势:
· Twitter:Objective-C势头仍不减?(2012-02-02 17:46)
· 2012年1月编程语言排行榜:C#超C++勇夺第三(2012-01-09 10:21)
热门评论
-
Jeffrey Zhao 发表于 06-07 23:48@wisenwu
什么叫做像样的框架? -
JustBegin 发表于 06-08 09:43@wisenwu
.net 后面还有个单词叫“framework”,查查这个单词是啥意思吧? -
型格小妖 发表于 06-08 08:56@wisenwu
你简直象个小白 -
Coki 发表于 06-08 08:08@wisenwu
从这句话就可以看懂什么叫真正的无知。 -
金色海洋(jyk) 发表于 06-08 16:31这个有个p用!
你会因为java排在第一位就转学java?
你会因为vb排在了c#的上面就去学vb?
你会因为jabascript下降了,就不去用了?
你会因为Delphi上升了就去学他?
不会吧。那么这个有什么用?
-
liulun 发表于 06-08 12:07此乃月经贴!
无视它! -
司惊雷 发表于 06-09 13:34相信c#会一路攀升,支持微软!!





