2012年1月編程語言排行榜:Objective-C成為年度語言
原創TIOBE 于今日公布了2012年1月編程語言排行榜。Objective-C果不負眾望成為年度語言,這個獎項是頒發給在 2011 年中市場份額增長最多的編程語言。Objective-C 的目前市場份額增比 2011 年 1 月份高出 3.91%。這主要得益于蘋果iPhone 和 iPad 的持續成功,這兩種設備上的程序主要都由Objective-C 實現。另外TIOBE 指數前三的位置有所變動,就像上期所預測的一樣C#擠掉C++躍居第三,市場份額獲得很大增長(+2.55%)。另一方面,對于2010年的年度編程語言Python來說,是個悲劇年,份額下降3.05%,PHP也下降了2.13%。2012年Objective-C的成功是否會延續,有沒有一種語言可能會打敗它呢? 答案是肯定的,它就是R語言。R語言本月***進入 Top 20. 對統計人員來說,R 語言已成為統計領域中的主要編程語言。
下面是前20名的編程語言排行
什么是R語言
R語言是主要用于統計分析、繪圖的語言和操作環境。R本來是由來自新西蘭奧克蘭大學的Ross Ihaka和Robert Gentleman開發。(也因此稱為R)現在由“R開發核心團隊”負責開發。R是基于S語言的一個GNU項目,所以也可以當作S語言的一種實現,通常用S語言編寫的代碼都可以不作修改的在R環境下運行。R的語法是來自Scheme。
R語言環境
R是一套由數據操作、計算和圖形展示功能整合而成的套件。包括:
◆ 有效的數據存儲和處理功能,
◆ 一套完整的數組(特別是矩陣)計算操作符,
◆ 擁有完整體系的數據分析工具,
◆ 為數據分析和顯示提供的強大圖形功能,
◆ 一套(源自S語言)完善、簡單、有效的編程語言(包括條件、循環、自定義函數、輸入輸出功能)。
在這里使用"環境"(environment)是為了說明R的定位是一個完善、統一的系統,而非其他數據分析軟件那樣作為一個專門、不靈活的附屬工具。R很適合被用于發展中的新方法所進行的交互式數據分析。由于R是一個動態的環境,所以新發布的版本并不總是與之前發布的版本完全兼容。某些用戶歡迎這些變化因為新技術和新方法的所帶來的好處;有些則會擔心舊的代碼不再可用。盡管R試圖成為一種真正的編程語言,但是大家不要認為一個由R編寫的程序可以長命百歲。
相關的軟件和文檔
R可以被當作S語言(由Rick Becker,John Chambers和AllanWilks在Bell實驗室開發)的實現工具,或者S-Plus系統的基本形態。S語言的發展變化可以參考John Chambers與其他人合作的四本書。對R來說,基本的參考書是The New S Language: A Programming Environment for Data Analysis and Graphics(Richard A. Becker, John M. Chambers and Allan R. Wilks)。 對于1991年發布的S (S version 3)可以參考Statistical Models in S (edited by John M. Chambers and Trevor J. Hastie)。
此外,S-Plus的相關文檔都可以用于R,只是要注意R與S執行工具之間的差別。
R與統計
在我們對R語言環境的介紹中并沒有提到統計,不過很多人都把R作為一個統計系統來使用。我們傾向于把它當作環境,使得經典和現代統計技術在其中得到應用。一部分已經被內建在基本的R語言環境中,但是更多的是以包的形式提供的。由8個包是隨著R一同提供的(稱作標準包),其它的可以通過CRAN的成員網站獲得(通過http://cran.r-project.org)。通過R可以使用絕大多數的經典或者***的統計方法,不過用戶需要花一些功夫來找出這種方法。S(和R)與其他主流的統計系統在本質上有一個很重要的不同。在S中,統計分析通常由一系列的步驟完成,同時將交互的結果存儲在對象中。所以,盡管SAS和SPSS在一個回歸或者判別分析中會給出豐富的輸出結果,R只是給出一個最小的輸出,而將結果保存在一個適當的對象中由R函數進行后續查詢。
R與視窗系統
使用R最便捷的方式是在一個運行視窗系統的圖形工作站上。這份指南就是為擁有這項便利的用戶準備的。盡管我們絕大部分的內容都是來講R環境的一般應用,我們還是會時不時的提到R在X window系統下的應用。與操作系統的直接互動對多數用戶來說都是必要的。在這份指南中我們主要討論在UNIX系統下的互動,所以Windows下的R用戶需要做出一些小的調整。對工作站的定制是一項直接而有效但又單調乏味的過程,在這里我們并不會作更深入的討論。如果您在這方面遇到了困難可以向你身邊的專家尋求幫助。
R的交互使用
R程序在等待輸入命令時會給出提示符,默認的提示符是>, 與UNIX的shell提示符是相同的。不過如果你愿意的話,我們可以輕松的更改R的提示符。在這里我們先假定UNIX的shell提示符是$。在UNIX下使用R可以按照下面的推薦步驟來做:
1.創建一個獨立的子目錄來存儲解決這個問題所用的數據文件,將目錄命名為work.這個目錄將作為你當前任務的工作目錄.
$ mkdir work
$ cd work
2.啟動R的程序
$ R
3.使用R的各種命令
4.退出R
> q()
此時您會被詢問是否保存您在R任務中的數據。你可以回答yes,no或cancel(使用縮略字符也可以)分別對應退出前保存數據,不保存數據退出或回到R任務中。被存儲的數據在之后的R任務中可以繼續使用。之后的R任務就更簡單了。1.令work成為工作目錄,并啟動R程序。
$ cd work
$ R
2.使用R,在任務結束時用 q() 來中止。
在Windows下使用R的步驟與上面基本相同。創建一個文件夾作為工作目錄,并將其設定R快捷方式的在"起始位置"中。然后雙擊圖標啟動R。
51CTO特約評論:
在大數據處理時代到來之際,R語言的進化工作也在加速。數據挖掘所產生的資源,更多的將被用于分析和決策支持。隨著國內數據挖掘的紅火,R語言將會被更多的開發者和DBA所靈活應用。并可以預見到的是,互聯網企業將以先鋒的形象出現。
目前來自Google的博客泄漏,R語言對64位整數的支持。Romain Francois 剛剛上傳了int64包到CRAN 作為更新版本的Rcpp和RProtobuf 包。這對Google 來說非常重要,因為工程師們經常需要在R語言中處理超大的數據量,而64位對他們來說是必須的。另外Oracle數據庫也開始支持R語言 發力數據挖掘。
#p#
下面是本期編程語言排行榜的其他排名數據和趨勢走向。
前10名編程語言走勢圖
20到50名語言排行
下面是第50到100的編程語言排名
(Visual) FoxPro, ABC, Algol, Alice, Awk, Bash, bc, BETA, BlitzMax, Boo, Bourne shell, C++/CLI, CFML, cg, CL (OS/400), Clean, cT, Dart, Dylan, Eiffel, Factor, Icon, IDL, Io, J, JavaFX Script, JScript.NET, Korn shell, LabVIEW, LabWindows/CVI, Lingo, Max/MSP, Modula-2, MUMPS, NATURAL, Oberon, Occam, OpenCL, Oz, PowerShell, Revolution, S, S-PLUS, Scala, TOM, VBScript, VHDL, X10, XSLT, Z shell
下面給出了編程語言類別的一年變化趨勢
【2011年榜單回顧】
- 2011年12月編程語言排行榜:C++11它就像一個新語言
- 2011年11月編程語言排行榜:Google新利器Dart
- 10月編程語言排行榜:不成大器的D語言
- 9月編程語言排行榜:專為機器人玩具設計的語言NXT-G
- 8月編程語言排行榜:以總統為名的語言新貴Lua
- 2011年7月編程語言排行榜:COBOL五角大樓出品
- 2011年6月編程語言排行榜:為孩子創造的語言Scratch
- 2011年5月編程語言排行榜:用MATLAB構建宇宙
- 2011年4月編程語言排行榜:告別Smalltalk
- 2011年3月編程語言排行榜:用Ada向人類首位程序員致敬
- 2011年2月編程語言排行榜:冰河時代的Fortran
- 2011年1月編程語言排行榜:Python稱霸2010