2008年11月TIOBE编程语言排行榜发布,Java、C、C++依然牢牢占据前三甲;在前十名的榜单中,Delphi上升一位,排名第8;Perl下滑两位,排名第9;JavaScript重回前十,替代了原来排在第10位的Ruby。
在本期榜单中,值得关注的是可视化编程语言的流行,TIOBE网站重点标注了Logo, Alice, NXT-G三种可视化编程语言(分别排名第19、34和37位)。
Logo是一种解释型的编程语言,原型来自另一个计算机语言LISP,是1966年由西摩尔·派普特和Wally Feurzeig在BNN设计的;派普特修改了LISP的语法使得他更易于阅读,Logo通常被称作没有括号的LISP。设计Logo的初衷是为了向儿童教授计算机编程技能。Logo一词源自希腊语"logos",意为"word"。和其它的语言不同,它内置一套海龟绘图(Turtle Graphics)系统,通过向海龟发送命令,用户可以直观地学习程序的运行过程,因此它很适合于儿童学习亦适合作数学教学。
Alice项目是美国卡耐基梅隆大学的一个学术性的项目,目标是帮助十几岁青少年如何在3D环境下编写计算机程序。Randy Pausch教授是该项目的创建人,他希望通过此项目教会青少年学习Java和C++编程。Alice提供了一个3D的虚拟世界,包含物体和虚拟化身。学生可以把图片贴如到一个物体上,还可以给物体增加简单的动作和脚本。关于Alice的详细信息可以访问:http://www.alice.org/
NXT-G是一种可视化的编程语言,它集成在乐高(LEGO)公司的机器人玩具产品中,NXT程序的设计者可以在计算机上通过NXT-G对机器人的行为进行可视化的程序设计,并通过蓝牙等方式将这些指令下载到机器人身上,一旦NXT机器人程序化后,它就“开始有了自己的生命,不再需要经由计算机控制 ”。
虽然可视化编程语言在抽象层次和代码效率方面一直备受争议,但对于刚刚涉足程序开发的人来说,可视化语言可以很好的激发他们的兴趣,熟悉解决问题的思路,带他们更快的走入程序开发领域。最近还有一条新闻值得我们关注:微软发布Small Basic 教孩子如何编程,Logo和Alice两种语言的兴起也说明了程序设计可以从娃娃抓起,编程已不再是经验丰富的程序员的专利,儿童、青少年、机器人发烧友都可以涉足这个领域并获得自己的乐趣。
长期趋势
其他编程语言
排名21到50的编程语言,请留意两个可视化编程语言Alice和NXT-G
Position
Programming Language
Ratings
21
Lisp/Scheme
0.470%
22
MATLAB
0.466%
23
Ada
0.410%
24
Fortran
0.380%
25
FoxPro/xBase
0.320%
26
Prolog
0.314%
27
RPG (OS/400)
0.298%
28
Awk
0.256%
29
LabVIEW
0.235%
30
Tcl/Tk
0.230%
31
Erlang
0.220%
32
Bourne shell
0.220%
33
Caml
0.196%
34
Alice
0.188%
35
PL/I
0.188%
36
Haskell
0.163%
37
NXT-G
0.153%
38
Objective-C
0.149%
39
Smalltalk
0.148%
40
PowerShell
0.143%
41
Groovy
0.138%
42
ML
0.132%
43
Scala
0.120%
44
REXX
0.119%
45
Transact-SQL
0.115%
46
Forth
0.114%
47
Euphoria
0.114%
48
CL (OS/400)
0.111%
49
Natural
0.105%
50
VHDL
0.105%
下面是排名51-100的语言:
ABC, AD, Algol, Alpha, APL, Applescript, AspectJ, Beta, Boo, C shell, cg, Ch, Clean, cT, Curl, Dylan, Eiffel, Factor, Felix, Focus, Fortress, Icon, IDL, Inform, Io, Lingo, MAD, Magic, Maple, Mathematica, MOO, MUMPS, Oberon, Occam, Oz, PILOT, Postscript, PowerBuilder, Progress, Q, R, REALbasic, Revolution, S-lang, SIGNAL, SPSS, SuperCollider, VBScript, Verilog, XSLT
编程语言类别
下图给出了编程语言类别的一年变化趋势,我们可以看到面向对象语言和函数式语言的一些变化
Category
Ratings November 2008
Delta November 2007
Object-Oriented Languages
57.9%
+1.6%
Procedural Languages
38.7%
-2.2%
Functional Languages
2.6%
+0.4%
Logical Languages
0.8%
+0.1%
Category
Ratings November 2008
Delta November 2007
Statically Typed Languages
60.0%
+1.2%
Dynamically Typed Languages
40.0%
-1.2%