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

原创
开发
6月编程语言排行榜我们关注程序语言的开发框架。框架的引入和使用可以使程序设计更加合理和稳定,利于二次开发和维护。本期我们重点了解基于Ruby和PHP两种语言的框架。

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

6月编程语言排行榜Top20
 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:架构是将复杂的问题简单化》 #p#

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则精于业务逻辑的处理。#p#

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

前十名编程语言走势图

前十名编程语言走势 

其他语言及排名

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%

 

编程语言类型走势:

 

【编辑推荐】

  1. 5月编程语言排行榜:动态语言的前世今生
  2. 4月编程语言排行榜:Top20里的“陌生人”
  3. 3月编程语言排行榜:Fortran归来
  4. 2月编程语言排行榜:Objective-C的咏叹调
  5. 1月编程榜发布:Google Go意外夺得年度编程语言

 

责任编辑:佚名 来源: 51CTO.com
相关推荐

2023-06-09 15:39:40

编程语言Python

2015-07-07 10:52:46

RedMonk编程语言

2013-07-30 10:00:36

RedMonk编程语言排行榜

2009-06-09 09:07:06

编程语言排行榜JavaScript

2020-03-07 22:01:58

编程语言JavaPython

2019-07-23 14:14:59

编程语言JavaPython

2020-02-14 09:19:12

编程语言JavaPython

2020-08-13 11:55:33

编程语言JavaPython

2021-09-23 10:50:42

编程语言Python排行

2021-07-07 05:42:24

编程语言开发

2022-06-21 14:15:27

编程语言PythonPHP

2012-06-11 14:20:36

Objective-C

2013-06-09 15:40:04

语言排行榜JavaScript

2022-10-28 16:13:03

编程语言Java开发

2009-10-05 09:46:12

编程语言排行榜Ruby

2009-08-04 11:15:57

编程语言排行榜微软

2019-01-09 10:00:19

编程语言Python

2021-01-06 12:55:08

编程语言Python开发

2011-06-07 09:08:12

Scratch编程语言排行榜

2010-05-17 09:04:50

动态语言
点赞
收藏

51CTO技术栈公众号