阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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:042886
用户头像

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

关注

评论

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

优柔寡断的人,能成什么大事

Kareza

个人成长 5月日更 反思总结

秘笈分享! 24 小时无人自习室为什么这么火?

IoT云工坊

小程序 人工智能 物联网 无人自习室

图算法系列之计算图中最短路径

Silently9527

数据结构和算法 图算法 广度优先搜素

读完你就知道对话式人工智能的数据采集如何解决啦!

澳鹏Appen

人工智能 自然语言处理 聊天机器人 nlp nlu

Python OOP-4

若尘

面向对象 oop Python编程 5月日更

STM32F103C8/BT6最小系统原理图、PCB

不脱发的程序猿

嵌入式 单片机 STM32F103C8T6 MCU ST

GitHub开源的文言文编程语言、程序生成中国山水画、格律诗编辑程序

不脱发的程序猿

GitHub 开源 编程语言 传统文化

架构实战营模块 3 作业

梦寻解语花

架构实战营

STM32如何计算RTC时钟异步预分频和同步预分频

不脱发的程序猿

嵌入式 RTC stm32 单片机 ST

百度大脑开放日厦门站-企业服务专场报名

百度大脑

百度大脑 开放日 企业服务

消息队列架构详细设计文档

唐江

架构实战营

C语言0数组\柔性数组使用介绍

良知犹存

c

打破思维定式(五)

Changing Lin

5月日更

怎样使用过程自动化来实现过程的习惯性和持久性?

IPD产品研发管理

自动化 开发 CMMI

想要做网页游戏怎么办 ?PixiJs 篇(三)

空城机

大前端 游戏 pixi 5月日更

架构实战营 模块3 课后作业

༺NPE༻

毕业前写了20万行代码,让我从成为同学眼里的面霸!

小傅哥

Java 面试 小傅哥 求职 毕业生

缓存系统稳定性 - 架构师峰会演讲实录

万俊峰Kevin

缓存 微服务 分布式缓存 Go 语言

关于中台,聊聊我认为相对客观的三点认知

架构精进之路

中台 5月日更

演讲稿:项目的架构设计与模块规划

三掌柜

5月日更

模块三:课后作业

菲尼克斯

架构实战营

函数和对象的关系

顿晓

5月日更

【LeetCode】叶子相似的树Java题解

Albert

算法 LeetCode 5月日更

414天前,我以为这是编程玄学...

why技术

Java JVM JMM

消息队列 - 架构设计文档

sN0wpeak

架构实战营

个站建立基础教程

Damon

网站 5月日更

密码学系列之:NIST和SHA算法

程序那些事

数据结构 密码学 程序那些事

消息队列设计文档

青春不可负,生活不可欺

架构实战营-模块3作业

大师兄

用Python帮忙找指定小说最新更新且网速最快的网站

老猿Python

Python 爬虫 编程语言 百度搜索 小说更新

Nginx基础配置-资源缓存配置

梁龙先森

nginx 大前端 缓存;

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