TIOBE语言流行度排行显示混合编程时代到来
作者
Jeff Xiong
发布于
2008年1月27日 下午10时4分
社区
Ruby
主题
动态语言
,
语言
在编程语言流行度的评估方面,
TIOBE
一直是最为权威的机构之一。不久前该机构将
Python
评为
2007年度编程语言
。
Python 被选为2007年度语言。最终,Python一年来取得了最大的增长
(2.04%)。没有清楚的原因为什么Python 在2007年取得了巨大的进步。上个月Python
在历史上第一次超越了Perl,这是Python
成为“工业标准”系统级粘合剂语言的信号。它尤其受到系统管理员和构建管理人员的喜爱。随着 Python
3的推出,Python在2008年继续上升的机会很大。
对比Python的快速增长,曾被评为2006年度编程语言的
Ruby在07年中的流行度不升反降,同比下降了0.17%。但受到Python冲击最大的还是Perl:0.99%的下降幅度是主要脚本语言中最严重
的。比Perl下滑更严重的C(-1.89%)和C++(-1.70%)所受的冲击则显然更多地来自Java、C#和Visual Basic。台湾
iThome online
对此评论说:
因
为Python流行指数的上升,将Perl的名次往下挤到第7名。Paul
Jansen观察Perl长期的变化趋势,从2005年以后,Perl的流行指数开始下滑,到2008年时,跌到只有最高时的一半。他认为Perl被
Python超越,意味着Python未来将取代Perl,成为用来连结不同软件组件的整合语言。 对于Ruby流行度的下
滑,笔者认为主要原因——就像当初的快速上升一样——与Ruby on Rails的发展有关。经过几年近乎狂热的探索之后,Ruby on
Rails适用的范围已经被基本摸清,甚至可以大胆地说:该用Rails开发的应用都已经在用Rails开发了。而一些Rails之外的Ruby实践被证
明效果并不理想。例如用Ruby做系统管理和项目自动化的尝试,尽管我们看到了《
Everyday Scripting with Ruby
》这样的图书著作,但更多的组织仍然倾向于用Python来作为shell的替代品。
另一方面,Ruby on Rails朝向企业应用领域的推进也并不顺利。
笔者曾经指出
,Rails要进入企业应用领域,必须解决系统整合的问题。
系统整合。与遗留系统是否能够协同工作。这主要体现在两个方面:(1)消息系统;(2)遗留数据库。但一年时间过去以后,这两方面的进展乏善可陈:关于“要不要(以及如何)用Ruby实现一个Hibernate”的讨论一直在进行,而消息中间件似乎更适合
用Erlang来实现
。其结果是,当Ruby on Rails坚持“做一件事并做好”的理念时,Ruby语言则越来越呈现“只能做这一件事”的状态。当那些扩展边界的尝试无疾而终时,Ruby流行度的下滑也就在情理之中了。
与
此同时Lua在TIOBE的的榜单上窜升了30位。这种几乎专门用于游戏编程的脚本语言和专门用于高性能服务器编程的Erlang在07年中受到广泛的关
注,似乎预示着混合语言编程时代的到来:人们不再执着于用一种语言解决所有问题,而是根据问题域选择最适合的语言。正像
Ola Bini
和
陈金洲
分别(以不同的方式)说过的:
在未来的几年内,人们会越来越多地采用新的编程语言。当然,这并不意味着当前所用的语言会被取代,而是要结合不同的语言,并且针对特定问题选择恰当的语言。 其
实这种趋势早已出现:人们越来越少地——像当年对比C++和Java那样——做编程语言之间的对比,更多的注意力被放在“它适合什么场景”这样的问题上。
当一个典型的软件系统需要涉及4~5种主要编程语言时,这对于程序员究竟是机遇还是挑战?很大程度上这取决于程序员自己。