4月編程語言排行榜:腳本語言占據半壁江山
原創(chuàng)【51CTO獨家特稿】TIOBE今日公布了2009年4月的編程語言排行榜,本期前十的榜單與上期相比沒明顯變化,Java、C、C++依然以絕對優(yōu)勢占據前三甲的位置;排名第四到十位的分別是:PHP、VB、Python、C#、JavaScript、Perl和Ruby。Ruby經過數月的艱難爬升后終于進入前十,上期第十名Delphi下滑一位,排在第十一位。
仔細分析本期榜單可以看出,前十名中的PHP、Python、JavaScript、Perl、Ruby均為腳本級語言(榜單中的Visual Baisc未列入腳本級語言,但在ASP和ASP.NET中,如果選擇VB作為開發(fā)語言,則是以VB Script這種腳本進行編程的);撇開應用場景和項目規(guī)模不說,至少在使用率上,腳本語言已經占據了編程語言的半壁江山。
2009年4月TIOBE編程語言排行榜前20名
腳本語言
腳本語言(Script language,或scripting programming language)是為了縮短傳統(tǒng)的編寫-編譯-鏈接-運行(edit-compile-link-run)過程而創(chuàng)建的計算機編程語言。腳本語言的命名起源于一個腳本“screenplay”,每次運行都會使對話框逐字重復。早期的腳本語言經常被稱為批次處理語言或工作控制語言。一個腳本通常是解釋運行而非編譯。腳本語言通常都有簡單、易學、易用的特性,目的就是希望能讓程序設計師快速完成程序的編寫工作。大多腳本語言共性是:良好的快速開發(fā),高效率的執(zhí)行,解釋而非編譯執(zhí)行,和其它語言編寫的程序組件之間通信功能很強大。
就腳本語言的應用場景而言可以大致分為:工作控制(shell)、GUI 腳本、 應用程序定制腳本、Web編程、文本處理;就語言特性而言,大致可以分為: 文本處理語言、動態(tài)語言和可嵌入語言。
處理基于文本的記錄是腳本語言最早的用處之一。如Unix's awk最早是設計來幫助系統(tǒng)管理員處理調用UNIX基于文本的配置和LOG文件。PERL最早是用來產生報告的,現在它已經成了全面成熟的語言。許多腳本語言用來執(zhí)行一次性任務,尤其是系統(tǒng)管理方面。它可以把服務組件粘合起來,因此被廣泛用于GUI創(chuàng)建或者命令行。操作系統(tǒng)通常提供一些默認的腳本語言,交互式的解釋和執(zhí)行用戶輸入的命令或者自動地解釋和執(zhí)行預先設定好的一連串的命令,即通常所謂shell腳本語言。
目前主要的腳本語言有:JavaScript、PHP、Python、Perl、Ruby、Groovy、Action Script、VBScript、PowerShell、Smalltalk等。
腳本語言與編譯語言
腳本語言與傳統(tǒng)編程語言(C、C++)有很多相似地方,比如腳本語言的函數與編譯語言比較相象,也會涉及到變量、參數;腳本語言也具有面向對象等方面的特性等等。但在語言核心和本質上,腳本語言與傳統(tǒng)語言有著明顯的區(qū)別。
腳本語言一般都有相應的腳本引擎來解釋執(zhí)行,一般需要解釋器才能運行;而C、C++、Java等則需要編譯、鏈接后,形成獨立執(zhí)行的exe文件。腳本語言是一種解釋性的語言,它不象Java等可以編譯成二進制代碼,以可執(zhí)行文件的形式存在,腳本語言不需要編譯,可以直接用,由解釋器來負責解釋。
腳本語言與動態(tài)語言
動態(tài)語言是指程序在運行時可以改變其結構,比如,在程序運行過程中可以引入新的函數,已有的函數可以被刪除等在結構上的變化。動態(tài)語言的類型檢查是在運行時做的。它的優(yōu)點是方便閱讀,不需要寫非常多的類型相關的代碼。事實上,大多數的動態(tài)語言都是解釋執(zhí)行的,他們具有腳本語言的一般特點和結構,只是在運行時上更具動態(tài)性,狀態(tài)上更為靈活。 一般地,腳本語言都是動態(tài)語言,而動態(tài)語言都是解釋型語言。#p#
其他編程語言
下面是排名21到50的編程語言。
Position | Programming Language | Ratings |
---|---|---|
21 | COBOL | 0.463% |
22 | ActionScript | 0.451% |
23 | Lisp/Scheme | 0.443% |
24 | FoxPro/xBase | 0.393% |
25 | Ada | 0.356% |
26 | Fortran | 0.341% |
27 | PowerShell | 0.250% |
28 | Scala | 0.237% |
29 | LabVIEW | 0.230% |
30 | Prolog | 0.223% |
31 | Alice | 0.207% |
32 | Erlang | 0.195% |
33 | Scratch | 0.178% |
34 | Transact-SQL | 0.170% |
35 | Haskell | 0.169% |
36 | Groovy | 0.165% |
37 | Falcon | 0.163% |
38 | Focus | 0.151% |
39 | Awk | 0.149% |
40 | ML | 0.142% |
41 | NXT-G | 0.134% |
42 | Objective-C | 0.134% |
43 | Smalltalk | 0.123% |
44 | Bourne shell | 0.118% |
45 | Tcl/Tk | 0.115% |
46 | Euphoria | 0.111% |
47 | Caml/F# | 0.110% |
48 | Forth | 0.109% |
49 | CL (OS/400) | 0.108% |
50 | J | 0.102% |
下面是排名51-100的語言:
ABC, AD, Alpha, APL, Applescript, bc, Beta, Boo, C shell, cg, Clean, Clojure, Cobra, cT, Curl, Dylan, Eiffel, Factor, Icon, IDL, Inform, Io, Lingo, MAD, Magic, Maple, Mathematica, MAX/MSP, MOO, MUMPS, Natural, Occam, Oz, PILOT, PL/I, Postscript, PowerBuilder, Progress, Q, R, Revolution, REXX, S-lang, SIGNAL, SPSS, SuperCollider, VBScript, Verilog, VHDL, XSLT
編程語言類別
下面給出了編程語言類別的一年變化趨勢,相比2008年,動態(tài)語言了近1%的增幅,占整個編程語言類型份額的42.8%。
Category | Ratings April 2009 | Delta April 2008 |
---|---|---|
Object-Oriented Languages | 55.6% | +0.0% |
Procedural Languages | 40.3% | -1.1% |
Functional Languages | 3.0% | +0.8% |
Logical Languages | 1.2% | +0.2% |
Category | Ratings April 2009 | Delta April 2008 |
---|---|---|
Statically Typed Languages | 57.2% | -0.9% |
Dynamically Typed Languages | 42.8% | +0.9% |
靜態(tài)類型和動態(tài)類型的語言走勢
【歷期榜單回顧】