4月编程语言排行榜:Top20里的“陌生人”

浮云先森 2010-04-07

本期编程榜我们将视角放在榜单前20名中那些我们并不熟悉的编程语言,来看一看Top20里的“陌生人”。

下面是本期榜单的前20名,请留意标亮的几门语言。

4月编程语言排行榜:Top20里的“陌生人”

Tiobo编程语言排行榜的前20名几乎占据了全球编程语言使用率的70%。长期出现在编程榜前20名里的语言除了Java、C、PHP等我们熟悉并经常使用的语言外,还有一些国内很少应用的语言,比如这期榜单中的SAS、ABAP、MATLAB和Lua。

由于国内外软件需求和开发者使用习惯上的差异,这些语言并不为我们所熟知,但其在IT界及软件开发与应用方面的作用不可小视。值得注意的是,这些陌生的语言之所以可以长期占据编程榜重要的位置,要么是因为其背后有强势的软件平台(厂商)支持,要么是自身的特点专注并擅长于某一领域。简单来说,还是应用场景和应用需求决定了这些小众语言的大众地位

SAS —— 本期排名13

要了解SAS语言,首先需要知道SAS软件系统。SAS系统是国外著名的统计分析软件,1966年在美国北卡罗莱纳州立大学诞生,经过多年的发展和完善,目前,SAS系统已经成为国际统计分析的标准软件,在各个领域应用广泛。SAS 是一个模块化、集成化的大型应用软件系统。它由数十个专用模块构成,功能包括数据访问、数据储存及管理、应用开发、图形处理、数据分析、报告编制、运筹学方法、计量经济学与预测等等。

SAS系统的使用依赖其自身带有的SAS语言。SAS系统的用户需要通用SAS语言提供的命令、语句和语法来控制系统完成数据管理和分析工作。

简单来看,SAS语言的功能有点类似数据库语言(如FoxPro),但又添加了一般高级程序设计语言的许多成分(如分支、 循环、数组),以及专用于数据管理、统计计算的函数。在SAS中,大部分常用的复杂数据计算的算法作为标准过程调用,用户仅需要指出过程名及其必要的参数。这一特点使得SAS编程十分简单,同时大大简化了SAS数据分析系统的工作。SAS系统的数据管理、报表、图形、统计分析等功能都可以用SAS语言程序来调用,只要指定要完成的任务就可以由SAS系统按照预先设计好的程序去进行。关于SAS语言的详细介绍请参考:数据管理与分析语言SAS简介

ABAP —— 本期排名17

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的下滑趋势:

4月编程语言排行榜:Top20里的“陌生人” 
前10名编程语言趋势走向

其他编程语言及趋势

下面是本期榜单第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%

动态和静态语言趋势走向

相关推荐