【51CTO独家特稿】Tiobe近日发布了2010年4月的编程语言排行榜,在本期榜单中,C语言反超Java夺得榜首。Tiobe分析称,在最 近的十年中,C语言一直占据软件开发中15%-20%的编程语言使用率;这次重夺王位,并不意味着C语言的增加,而是Java的衰老(详细分析请参考 51CTO以前的报道《Java,正在老去的王者》)。 另外值得注意的是,Sun的RIA技术——JavaFX脚本语言一举窜升四位,有望进入前20名。javascript
本期编程榜咱们将视角放在榜单前20名中那些咱们并不熟悉的编程语言,来看一看Top20里的“陌生人”。java
下面是本期榜单的前20名,请留意标亮的几门语言。算法
Tiobo编程语言排行榜的前20名 几乎占据了全球编程语言使用率的70%。长期出如今编程榜前20名里的语言除了Java、C、PHP等咱们熟悉并常用的语言外,还有一些国内不多应用 的语言,好比这期榜单中的SAS、ABAP、MATLAB和Lua。shell
因为国内外软件需求和开发者使用习惯上的差别,这些语言并不为咱们所熟知,但其在IT界及软件开发与应用方面的做用不可小视。值得注意的是,这些陌 生的语言之因此能够长期占据编程榜重要的位置,要么是由于其背后有强势的软件平台(厂商)支持,要么是自身的特色专一并擅长于某一领域。简 单来讲,仍是应用场景和应用需求决定了这些小众语言的大众地位。数据库
SAS —— 本期排名13编程
要了解SAS语言,首先须要知道SAS软件系统。SAS系统是国外著名的统计分析软件,1966年在美国北卡罗莱纳州立大学诞生,通过多年的发展和 完善,目前,SAS系统已经成为国际统计分析的标准软件,在各个领域应用普遍。SAS 是一个模块化、集成化的大型应用软件系统。它由数十个专用模块构成,功能包括数据访问、数据储存及管理、应用开发、图形处理、数据分析、报告编制、运筹学 方法、计量经济学与预测等等。数组
SAS系统的使用依赖其自身带有的SAS语言。SAS系统的用户须要通用SAS语言提供的命令、语句和语法来控制系统完成数据管理和分析工做。网络
简单来看,SAS语言的功能有点相似数据库语言(如FoxPro),但又添加了通常高级程序设计语言的许多成分(如分支、 循环、数组),以及专用于数据管理、统计计算的函数。在SAS中,大部分经常使用的复杂数据计算的算法做为标准过程调用,用户仅须要指出过程名及其必要的参 数。这一特色使得SAS编程十分简单,同时大大简化了SAS数据分析系统的工做。SAS系统的数据管理、报表、图形、统计分析等功能均可以用SAS语言程 序来调用,只要指定要完成的任务就能够由SAS系统按照预先设计好的程序去进行。关于SAS语言的详细介绍请参考:数据管理与分析语言SAS简介编程语言
ABAP —— 本期排名17ide
ABAP是一门高级商业应用程序设计语言(Advanced Business Application Programming),它是著名商业软件公司SAP开发的一种编程语言,主要用于SAP系统内部商业应用程序的设计和开发。通常,SAP的商业软件会 提供一系列的应用解决方案,同时提供一系列的编程接口对这些系统进行二次开发,ABAP就是这种二次开发的主力编程语言。ABAP语言开发的程序经过 SAP开发平台编译并应用(依赖)与SAP系统。
ABAP是面向对象语言。它支持封装性和继承性。封装性是面向对象的基础,而继承性则是创建在封装性基础上的重要特性;ABAP的另外一个特色是基于 事件驱动的。
ABAP程序的源代码包括数据定义和处理快两个部分。
数据定义:包含整个程序中可见的全局数据类型和数据对象,选择屏幕元素以及ABAP Objects中自定义的类和接口;
处理块:是ABAP程序的主要结构单元,定义了程序在不一样状态下执行的具体功能,在程序编译运行过程当中,每一个块都是一个独立的实体。ABAP程序 中,数据定义和生命是独立于任何处理快递,其余全部语句都必须隶属于某个处理块。
MATLAB —— 本期排名18
MATLAB是一门精于数据分析和数值计算的语言,它最先有美国新墨西哥大学计算机科学系主任Cleve Moler建立,1984年由MathWorks公司正式把MATLAB推向市场。目前,MATLAB已经发展成为国际控制界的标准高级技术计算语言和交 互式环境;MATLAB在数学类科技应用软件中在数值计算方面数一数二。它能够进行矩阵运算、绘制函数和数据、实现算法、建立用户界面、链接其余编程语言 的程序等,主要应用于工程计算、控制设计、信号处理与通信、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中经常使用的形式十分类似,因此用MATLAB来解算问题要比用C,FORTRAN等语 言完成相同的事情简捷得多。通常,咱们使用MATLAB提供的软件环境进行MATALB对代码、文件和数据进行管理,MATLAB的交互式工具能够按地道 的方式探查、设计和求解问题。MATLAB提供功能强大的数学函数库,能够用于线性代数、统计、傅立叶分析、筛选、优化和数值积分等问题求解。此外,各类 函数可将基于MATLAB的算法与外部应用程序和语言,如:C、C++、Fortran、Java、COM等,还能够与Microsoft Excel集成,开发者能够直接调用,用户也能够将本身编写的实用程序导入到MATLAB函数库中方便本身之后调用。
目前,MATLAB普遍应用在信号和图像处理、通信、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
关于MATLAB编程的具体应用请参考:VC++与MATLAB混合编程及其 应用
Lua —— 本期排名20
你可能没听过Lua,但你必定听过(或玩过)魔兽世界,Lua最著名的应用案例就是知名网络游戏——魔兽世界。Lua是一门简洁、小巧、可扩展性极 强的脚本语言。其设计的目的是为了嵌入应用程序中,为应用程序提供灵活的扩展和定制功能;Lua最大的特色就是很容易嵌入其它语言中使用。
Lua是一种动态弱类型的程式设计语言。它只提供了很小的一个特性集合来知足不一样程序的须要,其自身所带有的数据类型很是少,只提供了数字(缺省是 双精度浮点数,可配置)、布尔、字符串等几种简单的数据类型。Lua只包括一个精简的核心和最基本的库。这使得Lua体积小巧,启动迅速;一个完整的 Lua解释器不过200k,在目前全部脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是做为嵌入式脚本的最佳选择。
Lua用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,能够很方便的嵌入别的程式里。与目前许多功能强大的语言不一样,Lua自身不提供网 络、图形界面和其余复杂的API库,这些任务主要由Lua的宿主语言(使用Lua来扩展的语言)来完成。Lua可使用它们,就像是原本就内置的功能一 样。
目前,不少游戏开发者使用Lua进行开发,他们使用Lua做为本身的嵌入式脚本语言,以此来实现可配置性、可扩展性。这其中包括大话西游II、仙境 传说、魔兽世界、战锤40k、博德之门、轩辕剑外传汉之云等。
下面是本期榜单前10名近年的趋势走向,请留意Java的下滑趋势:
其余编程语言及趋势
下面是本期榜单第21-50的编程语言排名
Position | Programming Language | Ratings |
---|---|---|
21 | Transact-SQL | 0.500% |
22 | JavaFX Script | 0.485% |
23 | Lisp/Scheme | 0.481% |
24 | Scratch | 0.476% |
25 | D | 0.463% |
26 | Bourne shell | 0.437% |
27 | Scala | 0.433% |
28 | Erlang | 0.420% |
29 | COBOL | 0.398% |
30 | RPG (OS/400) | 0.379% |
31 | S-lang | 0.372% |
32 | Logo | 0.361% |
33 | Ada | 0.357% |
34 | Fortran | 0.350% |
35 | NXT-G | 0.321% |
36 | Tcl/Tk | 0.319% |
37 | Alice | 0.317% |
38 | Forth | 0.296% |
39 | FoxPro/xBase | 0.291% |
40 | Caml/F# | 0.280% |
41 | PowerShell | 0.268% |
42 | CL (OS/400) | 0.259% |
43 | Prolog | 0.258% |
44 | Groovy | 0.238% |
45 | Smalltalk | 0.221% |
46 | VHDL | 0.220% |
47 | J | 0.213% |
48 | C shell | 0.198% |
49 | MAX/MSP | 0.196% |
50 | VBScript | 0.186% |
下面是第50到100的编程语言排名
AD, Algol, Alpha, APL, Applescript, Awk, Beta, cg, Clean, cT, Dylan, Eiffel, Factor, Falcon, Focus, Haskell, Heron, Icon, IDL, Informix-4GL, Io, LabVIEW, LabWindows/CVI, Lingo, MAD, Maple, Mathematica, ML, Modula-2, Modula-3, MOO, MS-DOS batch, MUMPS, Natural, Occam, Oz, PL/I, Postscript, PowerBuilder, Progress, Q, R, REALbasic, Revolution, REXX, SIGNAL, SPSS, SuperCollider, Verilog, XSLT
编程语言类别
下面给出了编程语言类别的一年变化趋势,面向对象编程(Object-Oriented Languages)依然占到编程语言类型的半壁江山。
Category | Ratings Apr 2010 | Delta Apr 2009 |
---|---|---|
Object-Oriented Languages | 54.2% | -1.7% |
Procedural Languages | 41.3% | +1.4% |
Functional Languages | 2.7% | -0.3% |
Logical Languages | 1.7% | +0.5% |
Category | Ratings Apr 2010 | Delta Apr 2009 |
---|---|---|
Statically Typed Languages | 61.4% | +4.2% |
Dynamically Typed Languages | 38.6% | -4.2% |
动态和静态语言趋势走向
【2010年编程语言排行榜回顾】