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