[感想]看编程语言流行趋势

Posted on Wed 12 October 2011 in 我记

TIOBE的流行语言排行榜

看TIOBE公布的10月编程语言流行排行榜,标题是“Java正在失去它的位置,尽管它发布了新的第7版”。看来Oracle在技术领域的人缘儿赶不上Sun啊,应该找点儿托儿为Java 7摇旗呐喊。

TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新。这份排行榜排名基于互联网上有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如Google、 MSN 、雅虎、百度)以及Wikipedia和YouTube进行计算,反映了某个编程语言的热门程度,但不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。   这个排行榜可以用来考查你的编程技能是否与时俱进,也可以在开发新系统时为选择语言做决策参考。

感想

当前的几个团队主要用Java/Python/C/C++/PL SQL,还有一些PHP/JavaScript/Shell,除了Shell排名28位,其它都是Top20的语言。从流行度上来看,还真挺与时俱进的。   但团队里面有这么多种语言,其实很容易产生技术债务的,人员复用也很难做到。由于PHP的使用范围比较小,团队已经开始在去PHP化了。   想了一个比喻,选语言就像中医开方子:前提条件是懂医理能搞懂要治什么(需求)、知药性(这些语言都适合做什么),知道库里现在有什么药材(能用上的工程师们都掌握什么语言)。然后根据君臣佐使相生相克(技术经验),把材料进行搭配,开出药方。   但在现在的软件开发中,真正要靠代码实现的功能往往没那么复杂,程序员对语言的热情那么高可能有两个原因:1. 就是喜欢。喜欢编码,享受用不同的语言完成功能的快感;2. 盲目跟风。听说某个语言更流行或者已经快过时了,怕自己落伍而不得不去学新的语言。原因1我很欣赏,能够以编码为乐的程序员都有成为优秀的程序员潜质;原因2我觉得也无可厚非,学新东西总归是没有坏处的。但技术管理者和架构师一定要在项目中起到审核把控作用,制止没有必要的引入新技术。

从Top10的历史趋势看,感觉某几种语言独领风骚的年代在渐渐远去。Java包治百病的风格遭到了一批人的唾弃,但排在其后的C/C++/PHP/C#/Ojective-C也没有太大的上涨。   如果放下功利的心态来多学几种语言,是一件非常好的事。

Top20排行和Top10趋势

当前排名前20的语言:

排名 占比 语言


1 17.91% Java 2 17.71% C 3 9.07% C++ 4 6.82% PHP 5 6.72% C# 6 6.25% Objective-C 7 4.55% (Visual) Basic 8 3.94% Python 9 2.43% Perl 10 2.19% JavaScript 11 1.53% Ruby 12 1.10% Delphi/Object Pascal 13 1.03% Lisp 14 0.91% Transact-SQL 15 0.90% PL/SQL 16 0.80% Lua 17 0.76% RPG (OS/400) 18 0.72% Pascal 19 0.62% Assembly 20 0.61% Ada

Top 10 语言的流行趋势图: