6月編程語言排行榜:框架之翼

 【51CTO獨家特稿】TIOBE今天(6月7日)發佈了最新一期的編程語言排行榜,在本期榜單中,曾奪得2009年年度編程語言的Google Go跌出前20名;TIOBE評論稱,最初Google Go能得到如此成績(Google Go推出三個月就得到了1.25%的增加),多數是出於人們的好奇心:一門由Google推出的編程語言。 php

6月編程語言排行榜Top20


 6月編程語言排行榜前20名榜單程序員

 

 

Google Go的確有其技術上的閃光點。Go自身支持併發編程,所以知足了對多處理器充分利用語言的需求;衆多頂級程序員的參與其設計和代碼改進也使得人們對它充滿信心。但關鍵是,Go尚未在衆多的編程語言中找到合適它的位置。web

在這期編程榜中,Java從新回到榜首的位置,第二名至第五名分別是:C、C++、PHP、Visual Basic。本期編程榜咱們關注的主題是開發框架(Framework)。shell

《設計模式》中對框架的定義是:框架就是一組相互協做的類,對於特定的一類軟件,框架構成了一種可重用的設計。使用開發框架能夠減小重複開發工做量、縮短開發時間,下降開發成本。同時,框架的引入和使用還可使程序設計更加合理和穩定,利於二次開發和維護。框架的使用在Web開發中應用尤其普遍。對於一個特定的項目,選擇合適的語言平臺及框架會使你如虎添翼。編程

Ruby——因框架而流行設計模式

Ruby是一門因開發框架而走紅的語言。沒錯,是Rails框架才使Ruby變得如此熱門。最初Ruby只是其創始人Matz對理想編程語言的一個實踐,1993年開始編寫,1995年12月才發佈第一個版本。通過漫長的發展,自2000年後才被日文之外的開發者瞭解。ruby

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則精於業務邏輯的處理。

框架的誕生和演進不只拓展了編程語言的應用場景和範圍,還大幅提升了基於語言平臺的項目開發和維護效率。框架使語言如虎添翼,善用框架,可使你的項目錦上添花。

前十名編程語言走勢圖

前十名編程語言走勢 

其餘語言及排名

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意外奪得年度編程語言
相關文章
相關標籤/搜索