您的位置:首页 > 编程语言

6月编程语言排行榜:框架之翼

2010-06-10 16:25 267 查看
【51CTO独家特稿】TIOBE今天(6月7日)发布了最新一期的编程语言排行榜,在本期榜单中,曾夺得2009年年度编程语言的Google Go跌出前20名;TIOBE评论称,最初Google Go能获得如此成绩(Google Go推出三个月就获得了1.25%的增长),多数是出于人们的好奇心:一门由Google推出的编程语言。





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 on Rails之前,Rails的创始人DHH曾尝试过使用PHP进行框架设计,但他最终选择了Ruby。灵活高效的Ruby语言搭配良好框架设计思想,DHH对Rails的解释是“最近的一条路”。从Rails这个名字我们可以看出,DHH希望软件开发可以沿着一个正确的轨迹不断向前,告别复杂的左转右转和讨厌的红灯;他也是按照这样的想法架构整个Rails。目前,Ruby on Rails已经进阶主流Web开发技术,使用其开发的各种网站不计其数,详细可以参考51CTO之前的报道《TOP 50 用Ruby on Rails开发的网站》。关于Ruby on Rails创始人DHH的更多介绍请参考51CTO的创始人小传《Ruby on Rails创始人DHH:架构是将复杂的问题简单化

PHP——最流行最泛滥

上文我们曾提到,DHH曾尝试过使用PHP进行最初的框架设计,但他最后放弃了PHP。这里面涉及到的不是只编码效率和DSL能力,更多的是编程语言底层机制和运行效率。

PHP每次HTTP请求都要初始化资源,这个过程的开销非常大。尽管PHP解析器的运行速度快速且没有缺陷,但一旦使用框架,那么每次请求时初始化整个框架使性能的下降非常厉害,当使用一个很复杂的PHP框架的结果就是整体性能严重下降;同时,PHP语言本身的问题造成了PHP添加跨请求的高级特性相当困难,这是PHP本身一个很大的限制,但是反过来说,正是这种限制使得PHP始终保持在一个比较简单的Web语言上面,而正是这一点才是PHP得以成为互联网流行Web编程语言的原因。

但作为最流行的Web编程语言,数量众多的PHP程序员无法拒绝框架的诱惑,这也催生了PHP开发框架的泛滥。在51CTO对PHPCMS创始人钟胜辉的采访中他谈到:PHP的框架跟ROR的情况有所不同,多而混乱;他同时提到:从长远来看,一个优秀的框架可以延长一个项目的寿命,降低维护和二次开发的成本。

目前主流的PHP开发框架主要有:Zend Framework、CakePHP、CodeIgniter、Symfony等,国内也涌现出ThinkPHP、FleaPHP等优秀PHP框架。对于PHP开发者而言,如何在众多框架中挑选一个适合自己项目的成了一个难题。关于PHP框架的介绍和选择,可以参考51CTO之前的报道《国外十大最流行PHP框架排名》和《几款主流PHP框架的优缺点评比》。

在Web开发领域,关于PHP和Ruby语言的争论一直存在,详细请参考51CTO的策划专题:大师论战Web开发:Ruby和PHP谁将称王?

还有很多

不只是Ruby和PHP,在编程语言排行榜的众多语言中,几乎所有主流语言都有多种自己的框架,比如Python的Django、JavaScript的jQuery、C++的MFC以及著名的Java开发框架Spring、Hibernate、Struts等。事实是,开发框架的使用已成为当前软件开发的主流应用形态。

同一门语言的不同框架往往都能实现相同的功能,根据自身项目和框架的特点进行选择尤为重要。在JavaScript方面,Dojo面向对象功能强大,提供丰富的库及UI控件;jQuery则以简洁、快速著称,对DOM对象和事件处理尤为擅长;prototype则显得更为轻量,善于处理Ajax的交互过程。

有时,基于同一种语言,不同的框架也具有不同的应用场景,比如对Java而言,Hibernate专注于数据层的持久化,Struts则精于业务逻辑的处理。

框架的诞生和演进不仅拓展了编程语言的应用场景和范围,还大幅提高了基于语言平台的项目开发和维护效率。框架使语言如虎添翼,善用框架,可以使你的项目锦上添花。

前十名编程语言走势图




其他语言及排名

PositionProgramming LanguageRatings
21Go0.519%
22ActionScript0.501%
23Transact-SQL0.486%
24RPG (OS/400)0.443%
25Bourne shell0.426%
26Ada0.416%
27D0.398%
28JavaFX Script0.393%
29FoxPro/xBase0.388%
30COBOL0.380%
31Fortran0.376%
32Haskell0.365%
33S-lang0.347%
34Alice0.340%
35LabVIEW0.333%
36Logo0.330%
37Scratch0.329%
38Tcl/Tk0.321%
39J0.305%
40NXT-G0.301%
41Forth0.294%
42Prolog0.254%
43Scala0.253%
44Groovy0.251%
45Caml/F#0.248%
46CL (OS/400)0.240%
47Erlang0.234%
48Q0.224%
49Smalltalk0.222%
50ML0.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)依然占到编程语言类型的半壁江山。

CategoryRatings Jun 2010Delta Jun 2009
Object-Oriented Languages55.5%+0.3%
Procedural Languages39.9%-1.0%
Functional Languages3.2%+0.2%
Logical Languages1.5%+0.5%
CategoryRatings Jun 2010Delta Jun 2009
Statically Typed Languages62.8%+3.5%
Dynamically Typed Languages37.2%-3.5%
编程语言类型走势:





【编辑推荐】

5月编程语言排行榜:动态语言的前世今生

4月编程语言排行榜:Top20里的“陌生人”

3月编程语言排行榜:Fortran归来

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

1月编程榜发布:Google Go意外夺得年度编程语言
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息