写点什么

TIOBE 语言流行度排行显示混合编程时代到来

  • 2008-01-27
  • 本文字数:1342 字

    阅读完需:约 4 分钟

在编程语言流行度的评估方面, 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 种主要编程语言时,这对于程序员究竟是机遇还是挑战?很大程度上这取决于程序员自己。

2008-01-27 22:043363
用户头像

发布了 21 篇内容, 共 36043 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

架构实战营-模块八-作业

大可

CodeDay 北京站报名倒计时

蚂蚁集团移动开发平台 mPaaS

移动开发

万字图文丨最全的Java继承解读

华为云开发者联盟

Java 开发 代码 继承

hdfs 的集群间拷贝、归档、回收站等功能剖析

大数据技术指南

hdfs 7月日更

TY短视频系统APP开发介绍

智慧海洋三维可视化,科技运维助工业物联网一臂之力

一只数据鲸鱼

数据可视化 3D可视化 智慧工业 海上作业

什么是统一语言?

escray

学习 极客时间 6月日更 7月日更 如何落地业务建模

【kafka实战】分区重分配可能出现的问题和排查问题思路(生产环境实战,干货!!!非常干!!!建议收藏)

石臻臻的杂货铺

Kafk Kafka实战

有人说SQL注入已经落后了,请问可以捶他吗???

网络安全学海

运维 网络安全 信息安全 渗透测试 SQL注入

区块链与AI、大数据等技术融合,将带来哪些产业变革?

CECBC

绍兴柯桥CAD制图培训到兴德教育

Geek_196d9f

云具匠心在宜宾 浪潮云亮相第二届中国国际智能终端产业发展大会

Hologres揭秘:高性能原生加速MaxCompute核心原理

阿里云大数据AI技术

欧洲杯上链,区块链语境下的数字化有什么不一样?

CECBC

Flink Runtime架构

Geek_qsftko

flink

柯桥淘宝拼多多电商培训到兴德教育!

Geek_196d9f

为什么要学习网络协议?

学无止境的阿奔

c++ Linux TCP/IP 网络通信协议 网络协议栈

互帮侠系统软件开发公司

网络攻防学习笔记 Day72

穿过生命散发芬芳

网络攻防 7月日更

5G+工业互联网 智造驱动新发展

唯一网络

CryptoPlace挖矿APP系统开发简介

云计算对比IDC的优势简单说明-行云管家

行云管家

云计算 服务器

新思科技凭借Coverity Scan帮助NGINX确保代码质量和安全

InfoQ_434670063458

新思科技 软件安全 Coverity 静态代码分析

搭建 JumpServer 堡垒机管理数万台游戏服务器

学神来啦

云计算 Linux linux运维 运维工程师 运维平台

面试官:你能讲讲栈和队列吗?我:你礼貌吗?

Ayue、

数据结构

绍兴服装设计培训到兴德教育!

Geek_196d9f

我用Vanilla JS重写了一遍项目,结果……

Faye

大前端 js 原生

所有前端都要看的2D游戏化互动入门基础知识

蚂蚁集团移动开发平台 mPaaS

大前端

趣口袋拼团系统APP开发案例

柯桥PS培训到兴德教育!零基础开始辅导!

Geek_196d9f

filecoin靠谱吗?filecoin合不合法?

Filecoin ipfs挖矿 fil挖矿

TIOBE语言流行度排行显示混合编程时代到来_Ruby_Jeff Xiong_InfoQ精选文章