Tiobe最近发布了编程语言排行12月份榜单 (下图),显示了各种语言的最新流行趋势。
Position Dec 2009 | Position Dec 2008 | Delta in Position | Programming Language | Ratings Dec 2009 | Delta Dec 2008 | Status |
---|---|---|---|---|---|---|
1 | 1 | = | Java | 17.061% | -2.31% | A |
2 | 2 | = | C | 16.285% | +0.12% | A |
3 | 4 | ↑ | PHP | 9.770% | +0.29% | A |
4 | 3 | ↓ | C++ | 9.175% | -1.72% | A |
5 | 5 | = | (Visual) Basic | 7.778% | -1.70% | A |
6 | 6 | = | C# | 6.258% | +1.61% | A |
7 | 7 | = | Python | 5.185% | +0.62% | A |
8 | 9 | ↑ | JavaScript | 3.515% | +0.45% | A |
9 | 8 | ↓ | Perl | 2.692% | -0.91% | A |
10 | 11 | ↑ | Ruby | 2.653% | +0.34% | A |
11 | 10 | ↓ | Delphi | 2.301% | -0.75% | A |
12 | 13 | ↑ | PL/SQL | 1.494% | +0.35% | A |
13 | 35 | ↑↑↑↑↑↑↑↑↑↑ | Objective-C | 1.159% | +1.00% | A |
14 | 14 | = | SAS | 0.911% | +0.07% | A |
15 | 19 | ↑↑↑↑ | Lisp/Scheme | 0.881% | +0.37% | A-- |
16 | 17 | ↑ | ABAP | 0.723% | +0.12% | A- |
17 | 15 | ↓↓ | Pascal | 0.698% | +0.01% | B |
18 | 21 | ↑↑↑ | ActionScript | 0.655% | +0.17% | B |
19 | 12 | ↓↓↓↓↓↓↓ | D | 0.587% | -0.60% | B |
20 | 20 | = | Lua | 0.585% | +0.09% | B |
(来源:
www.tiobe.com
)
其中值得关注的语言包括:
Java
Java以 17%的权重依然占据头把交椅,从长期曲线图来看,Java处于平稳略有下降的状态。C语言紧随其后,其流行度在缓慢上升,与Java逐渐逼近。自从 Oracle宣布收购Sun以来,Sun现有技术特别是Java的未来走向一直得到开发社区的关注,近期Java发展动作不断:
- JDK 7 M5版本发布 ,主要特性包括:
- 压缩的64位对象指针
- G1垃圾收集器
- Unicode 5.1
- Swing的Nimbus外观
- JDK 7将增加“简单”闭包 ,令人感到意外,发布时间因此将推迟至明年9月左右。Project Coin 的首席工程师Joseph D. Darcy已经确认 语言的下一版本将增加某些“轻量级”的闭包 。
- Sun宣布Java SE 5服务周期已终结 ,J2SE 5.0 Update 22将是其最后一个更新版本。
- Java EE 6最终草案发布 ,相对于早期草案来说,最终草案有3个重要变化,分别是增加了JSR-330 (针对Java的依赖注入)、JSR-299 (针对Java EE平台的上下文与依赖注入,以后称之为“CDI”)以及JSR-303 (Bean Validation),这三个规范都将成为完整平台与Web的必要组件。
PHP
传统的网络脚本语言PHP以微弱优势超过C++名列第三,而后者则长期处于低谷期。PHP核心开发者在最近举行的2009 Zend/PHP会议上宣布,PHP 6将全面支持Unicode和国际化 ,也将改善数字的处理,包括长型数字。他们对PHP的前景充满信心:
PHP现在的应用更加广泛了,经济不景气反而加速了开源和PHP的使用,因为在经济衰退中,公司不得不增加生产性,降低成本,而PHP恰好能做到这一点。
C#
微软的C#语言虽然只排在第六,但Tiobe对其给予了很高的评
价:“
C#到达了历史最高排名,很有希望会成为本年度Tiobe编程语言。” C# 4.0的新特性包括:
- 动态绑定(Dynamic binding)支持
- 在传递参数时,支持 协变和逆变
- 支持可选参数
- 支持命名参数
Go
Google新发布 的Go语言将在下个月进入Tiobe编程语言排行名录,Go语言特性包括:
- 拥有同步通道。这些通道被用于线程间通信,它是并发的基础。Go推荐通过与其通信来共享内存,而不是通过共享的内存来通信。每次只有一个线程能够访问共享值,该值通过通道在线程之间传递。
- Go例程(Goroutine)。这是用于并发的另一种结构。go例程只是一种拥有“go”关键字前缀的函数或者方法。一个go例程与一个线程相关联,并通过通道与其它go例程通信。
- 并行。go例程和通道能够被用于在多个CPU上执行计算。
- 反射(Reflection)。我们可以在所有类型、通道上实现反射。
除此之外,Tiobe特别提到了Apple
的
Objective-C(第13名)和Adobe的ActionScript(第18名) :
Objective-C创造了个人最好成绩,已经接近于前十名,我们给予评级“A”。ActionScript 也得了高分,重新进入了前20名。
对于这份榜单,国内读者评论 不一:
- 有人关心C++的前途:“不知道C++新一代标准出现之后会对C++有什么影响?”
- 有人 对自己使用的语言排位上升而高兴,可是反驳之声也不无道理:“升不是什么好事,意味着越来越多的人要跟你竞争。”
- 有人认为“ 计算机语言这东西,精通了一门语言后,再想掌握别的不会有什么困难的 ”,然而对此也有不同意见:“虽然不困难,但一门语言所涉及的内容你很难在短期内掌握,经验还是跟时间有关。 ”
- 有人认为“宝马好还是奔驰好?老司机说:技术好才是真的好。 ”