自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

原創(chuàng)
開發(fā)
6月編程語言排行榜我們關(guān)注程序語言的開發(fā)框架。框架的引入和使用可以使程序設(shè)計(jì)更加合理和穩(wěn)定,利于二次開發(fā)和維護(hù)。本期我們重點(diǎn)了解基于Ruby和PHP兩種語言的框架。

【51CTO獨(dú)家特稿】TIOBE今天(6月7日)發(fā)布了最新一期的編程語言排行榜,在本期榜單中,曾奪得2009年年度編程語言的Google Go跌出前20名;TIOBE評(píng)論稱,最初Google Go能獲得如此成績(jī)(Google Go推出三個(gè)月就獲得了1.25%的增長(zhǎng)),多數(shù)是出于人們的好奇心:一門由Google推出的編程語言。

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

Google Go的確有其技術(shù)上的閃光點(diǎn)。Go自身支持并發(fā)編程,因此滿足了對(duì)多處理器充分利用語言的需求;眾多頂級(jí)程序員的參與其設(shè)計(jì)和代碼改進(jìn)也使得人們對(duì)它充滿信心。但關(guān)鍵是,Go還沒有在眾多的編程語言中找到合適它的位置。

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

《設(shè)計(jì)模式》中對(duì)框架的定義是:框架就是一組相互協(xié)作的類,對(duì)于特定的一類軟件,框架構(gòu)成了一種可重用的設(shè)計(jì)。使用開發(fā)框架可以減少重復(fù)開發(fā)工作量、縮短開發(fā)時(shí)間,降低開發(fā)成本。同時(shí),框架的引入和使用還可以使程序設(shè)計(jì)更加合理和穩(wěn)定,利于二次開發(fā)和維護(hù)。框架的使用在Web開發(fā)中應(yīng)用尤為廣泛。對(duì)于一個(gè)特定的項(xiàng)目,選擇合適的語言平臺(tái)及框架會(huì)使你如虎添翼。

Ruby——因框架而流行

Ruby是一門因開發(fā)框架而走紅的語言。沒錯(cuò),是Rails框架才使Ruby變得如此熱門。最初Ruby只是其創(chuàng)始人Matz對(duì)理想編程語言的一個(gè)實(shí)踐,1993年開始編寫,1995年12月才發(fā)布第一個(gè)版本。經(jīng)過漫長(zhǎng)的發(fā)展,自2000年后才被日文以外的開發(fā)者了解。

Ruby是一門純面向?qū)ο蟮恼Z言,開發(fā)效率非常高。減少編程時(shí)候的不必要的瑣碎時(shí)間,令編寫程序的人高興,是Matz設(shè)計(jì)Ruby語言的一個(gè)首要的考慮。

在Ruby on Rails之前,Rails的創(chuàng)始人DHH曾嘗試過使用PHP進(jìn)行框架設(shè)計(jì),但他最終選擇了Ruby。靈活高效的Ruby語言搭配良好框架設(shè)計(jì)思想,DHH對(duì)Rails的解釋是“最近的一條路”。從Rails這個(gè)名字我們可以看出,DHH希望軟件開發(fā)可以沿著一個(gè)正確的軌跡不斷向前,告別復(fù)雜的左轉(zhuǎn)右轉(zhuǎn)和討厭的紅燈;他也是按照這樣的想法架構(gòu)整個(gè)Rails。目前,Ruby on Rails已經(jīng)進(jìn)階主流Web開發(fā)技術(shù),使用其開發(fā)的各種網(wǎng)站不計(jì)其數(shù),詳細(xì)可以參考51CTO之前的報(bào)道《TOP 50 用Ruby on Rails開發(fā)的網(wǎng)站》。關(guān)于Ruby on Rails創(chuàng)始人DHH的更多介紹請(qǐng)參考51CTO的創(chuàng)始人小傳《Ruby on Rails創(chuàng)始人DHH:架構(gòu)是將復(fù)雜的問題簡(jiǎn)單化》 #p#

PHP——最流行最泛濫

上文我們?cè)岬剑珼HH曾嘗試過使用PHP進(jìn)行最初的框架設(shè)計(jì),但他最后放棄了PHP。這里面涉及到的不是只編碼效率和DSL能力,更多的是編程語言底層機(jī)制和運(yùn)行效率。

PHP每次HTTP請(qǐng)求都要初始化資源,這個(gè)過程的開銷非常大。盡管PHP解析器的運(yùn)行速度快速且沒有缺陷,但一旦使用框架,那么每次請(qǐng)求時(shí)初始化整個(gè)框架使性能的下降非常厲害,當(dāng)使用一個(gè)很復(fù)雜的PHP框架的結(jié)果就是整體性能嚴(yán)重下降;同時(shí),PHP語言本身的問題造成了PHP添加跨請(qǐng)求的高級(jí)特性相當(dāng)困難,這是PHP本身一個(gè)很大的限制,但是反過來說,正是這種限制使得PHP始終保持在一個(gè)比較簡(jiǎn)單的Web語言上面,而正是這一點(diǎn)才是PHP得以成為互聯(lián)網(wǎng)流行Web編程語言的原因。

但作為最流行的Web編程語言,數(shù)量眾多的PHP程序員無法拒絕框架的誘惑,這也催生了PHP開發(fā)框架的泛濫。在51CTO對(duì)PHPCMS創(chuàng)始人鐘勝輝的采訪中他談到:PHP的框架跟ROR的情況有所不同,多而混亂;他同時(shí)提到:從長(zhǎng)遠(yuǎn)來看,一個(gè)優(yōu)秀的框架可以延長(zhǎng)一個(gè)項(xiàng)目的壽命,降低維護(hù)和二次開發(fā)的成本。

目前主流的PHP開發(fā)框架主要有:Zend Framework、CakePHP、CodeIgniter、Symfony等,國(guó)內(nèi)也涌現(xiàn)出ThinkPHP、FleaPHP等優(yōu)秀PHP框架。對(duì)于PHP開發(fā)者而言,如何在眾多框架中挑選一個(gè)適合自己項(xiàng)目的成了一個(gè)難題。關(guān)于PHP框架的介紹和選擇,可以參考51CTO之前的報(bào)道《國(guó)外十大最流行PHP框架排名》和《幾款主流PHP框架的優(yōu)缺點(diǎn)評(píng)比》。

在Web開發(fā)領(lǐng)域,關(guān)于PHP和Ruby語言的爭(zhēng)論一直存在,詳細(xì)請(qǐng)參考51CTO的策劃專題:大師論戰(zhàn)Web開發(fā):Ruby和PHP誰將稱王?

還有很多

不只是Ruby和PHP,在編程語言排行榜的眾多語言中,幾乎所有主流語言都有多種自己的框架,比如Python的Django、JavaScript的jQuery、C++的MFC以及著名的Java開發(fā)框架Spring、Hibernate、Struts等。事實(shí)是,開發(fā)框架的使用已成為當(dāng)前軟件開發(fā)的主流應(yīng)用形態(tài)。

同一門語言的不同框架往往都能實(shí)現(xiàn)相同的功能,根據(jù)自身項(xiàng)目和框架的特點(diǎn)進(jìn)行選擇尤為重要。在JavaScript方面,Dojo面向?qū)ο蠊δ軓?qiáng)大,提供豐富的庫及UI控件;jQuery則以簡(jiǎn)潔、快速著稱,對(duì)DOM對(duì)象和事件處理尤為擅長(zhǎng);prototype則顯得更為輕量,善于處理Ajax的交互過程。

有時(shí),基于同一種語言,不同的框架也具有不同的應(yīng)用場(chǎng)景,比如對(duì)Java而言,Hibernate專注于數(shù)據(jù)層的持久化,Struts則精于業(yè)務(wù)邏輯的處理。#p#

框架的誕生和演進(jìn)不僅拓展了編程語言的應(yīng)用場(chǎng)景和范圍,還大幅提高了基于語言平臺(tái)的項(xiàng)目開發(fā)和維護(hù)效率。框架使語言如虎添翼,善用框架,可以使你的項(xiàng)目錦上添花。

前十名編程語言走勢(shì)圖

前十名編程語言走勢(shì) 

其他語言及排名

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

編程語言類別

下面給出了編程語言類別的一年變化趨勢(shì),面向?qū)ο缶幊蹋∣bject-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%

 

編程語言類型走勢(shì):

 

【編輯推薦】

  1. 5月編程語言排行榜:動(dòng)態(tài)語言的前世今生
  2. 4月編程語言排行榜:Top20里的“陌生人”
  3. 3月編程語言排行榜:Fortran歸來
  4. 2月編程語言排行榜:Objective-C的詠嘆調(diào)
  5. 1月編程榜發(fā)布:Google Go意外奪得年度編程語言

 

責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2023-06-09 15:39:40

編程語言Python

2015-07-07 10:52:46

RedMonk編程語言

2013-07-30 10:00:36

RedMonk編程語言排行榜

2020-03-07 22:01:58

編程語言JavaPython

2009-06-09 09:07:06

編程語言排行榜JavaScript

2022-06-21 14:15:27

編程語言PythonPHP

2020-02-14 09:19:12

編程語言JavaPython

2019-07-23 14:14:59

編程語言JavaPython

2020-08-13 11:55:33

編程語言JavaPython

2021-09-23 10:50:42

編程語言Python排行

2021-07-07 05:42:24

編程語言開發(fā)

2012-06-11 14:20:36

Objective-C

2009-10-05 09:46:12

編程語言排行榜Ruby

2013-06-09 15:40:04

語言排行榜JavaScript

2022-10-28 16:13:03

編程語言Java開發(fā)

2011-06-07 09:08:12

Scratch編程語言排行榜

2015-06-08 14:41:30

編程語言排行榜

2021-01-06 12:55:08

編程語言Python開發(fā)

2019-01-09 10:00:19

編程語言Python

2009-08-04 11:15:57

編程語言排行榜微軟
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)