写点什么

Groovy 首次进入 Tiobe 语言排行前 20 名榜单

  • 2013-10-15
  • 本文字数:1715 字

    阅读完需:约 6 分钟

动态 JVM 语言在 Tiobe 的编程语言排行榜中所占的比重较小,但是在过去的一年里,其排名的变化却十分显著。本月,Groovy 首次进入Tiobe 语言排行前20 名榜单。

Groovy 是一种基于 Java 虚拟机的语言, 其拥护者举出了 Groovy 的很多好处,比如提高了开发人员的工作效率,简化了测试并且支持特定领域语言等。然而在 Tiobe 的搜索排行结果中,Groovy 只占了搜索比例的 0.658%。Tiobe 的执行主管 Paul Jansen 表示:

的确,以 0.658% 的比例进入编程语言的前 20 名确实不太常见,但是值得关注的是 Groovy 排名的变动,上个月,它排在第 22 位,而去年它排在第 53 位。人们对于 Groovy 的突然兴趣并没有什么特别的原因,我发现它和 Java 一起更频繁的被用于我们客户的网站上。

本月坐头把交椅的语言依然是 C 语言,C 语言与排名第二的 Java 的差距显著扩大。虽然 C 语言在上个月的搜索引擎平均点击率为 16.975%,Java 的点击率则是 16.154%。但本月的 C 语言点击率指数为 17.246%,Java 则是 16.107%。

Jansen 说:

C 语言领先的原因是因为 C 应用在编程世界的各个地方,尤其是在小型设备上的应用,并且小型设备的数量还在不断增加,现在,即使我的牙刷里都装有软件,而且它很可能是用 C 语言实现的。因此,C 语言的排名稳定了很多年。 Java 已经在其应用的领域中有了更加激烈的竞争。Groovy 将成为那些竞争者中的一员。多亏安卓系统的成功发展,移动开发领域拯救了 Java。我很怀疑 2014 年即将发布的 Java 第 8 个版本能否阻止 Java 普及性的衰落?

在 Tiobe 排行榜中排名第三的编程语言是 Objective-C,其比例是 8.992%。Objective-C 语言最出名的原因是它用于编写运行在苹果公司的 iPad 和 iPhone 设备上的应用程序。而 C++ 排在第四位,其指数为 8.664%,PHP 语言排在第五位,其指数为 6.904%。Tiobe 通过评估各大搜索引擎和网站如谷歌(Google)、必应(Bing)、雅虎(Yahoo)和维基百科(Wikipedia)来确定与每种编程语言相关的技术熟练的工程师、课程和第三方供应商的数量。

虽然 Tiobe 排行榜的 Jansen 认为 Java 的地位在下降,但 Java 在本月中的 PyPl 排行中仍然遥遥领先。PyPl 编程语言排行榜只着眼于谷歌上关于语言教程的搜索,从而给了 Java26.8% 的份额,并远远领先于排在第二位的 PHP,它只占有了 13.2% 的份额。排名第三的是 Python(9.8%),其次是 C#(9.5%)和 C++(9.1%)。C 语言在 PyPl 指数中排名第六(8.4%)。

最近几年,随着“函数式编程”的复兴,各种动态语言都有了显著的应用,Dan Woods 在“从 Groovy 到 Java 8 ”一文中指出:

Groovy 开发人员早已熟知 Java 8 中新引入的概念和新的语言结构了。在 Java 新版本即将推出的增强特性中,有很多是 Groovy 在几年前就已经提供了的。从用于函数式编程风格的新语法,到 lambdas 表达式、collection streaming 和要把方法引用作为一等公民,Groovy 开发人员在未来编写 Java 代码时具有先天性优势。

而 Neal Ford 在“函数式编程为何崛起”一文中也强调,函数式编程的特点之一是存在强大的抽象,它隐藏了许多日常操作的细节(比如迭代)。用抽象来处理迭代等任务,使得需要维护的代码变得更少,因此可能出现错误的地方也就更少。

Java 开发人员习惯于框架 级别的重用;在面向对象的语言中进行重用所需的必要构件需要非常大的工作量,他们通常会将精力留给更大的问题。函数式语言在更细化的级别提供重用,在列表和映射等基本数据结构之上通过高阶函数提供定制,从而实现重用。在面向对象的命令式编程语言中,重用的单元是类以及与这些类进行通信的消息,这些信息是在类图中捕获的。在 OOP 的世界中,鼓励开发人员创建独特的数据结构,以方法的形式附加特定的操作。 函数式编程语言尝试采用不同的方式来实现重用。它们更喜欢一些关键的数据结构(如列表、集和映射),并且在这些数据结构上采用高度优化的操作。传递数据结构和高阶函数,以便 “插入” 这种机制,针对某一特定用途对其进行定制。函数级的封装支持在比构建自定义类结构更细的基础级别上进行重用。此方法的优势之一已经体现在 Clojure 中。最近,库中的一些巧妙创新重写了 map 函数,使它可以自动并行化,这意味着所有映射操作都可以受益于没有开发人员干预的性能提升。

2013-10-15 07:393173
用户头像

发布了 501 篇内容, 共 285.6 次阅读, 收获喜欢 64 次。

关注

评论

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

Netty源码解析 -- 内存对齐类SizeClasses

binecy

Netty 内存管理

架构师训练营 - 第二周课后练习

joshuamai

刚从蚂蚁金服Java研发岗面试回来(三轮游),我总结的面试经历(附面试题+答案)

Java架构追梦

Java 架构 面试 蚂蚁金服

与其思考公司该为员工提供什么福利,不如思考有哪些 “福利” 不应该提供!

非著名程序员

个人成长 管理 福利

工作5年的阿里Java程序员分享从业心得总结与面试笔记分享

Java架构师迁哥

区块链将构建数字社会高效的全球网络

CECBC

数字经济 数字时代

架构师训练营 - 第二周学习总结

joshuamai

本文将大数据学习门槛降到了地平线

MySQL从删库到跑路

大数据 hadoop hdfs mapreduce

解惑“高深”的Kafka时间轮原理,原来也就这么回事!

华为云开发者联盟

中间件 消息队列

面试官问我:看过sharding-jdbc的源码吗?我吧啦吧啦说了一通!!

冰河

分布式事务 微服务 分布式数据库 系统架构 中间件

【高并发】导致并发编程频繁出问题的“幕后黑手”

冰河

并发编程 多线程 高并发 高性能 异步

架构师训练营 - 第 6、7、8、9、10 、11、12、13周学习总结(1 期)

阿甘

从实际案例聊聊Java应用的GC优化

AI乔治

Java 编程 架构 JVM GC

DeFi流动性挖矿系统开发技术方案

薇電13242772558

区块链 defi

技术实践丨PostgreSQL开启Huge Page场景分析

华为云开发者联盟

数据库 管理 内存

如何获取变量token的值

测试人生路

软件测试 接口测试

JAVA稳定底层,快速开发首选,XJR智能化客户关系管理

Marilyn

敏捷开发 快速开发 软件架构 客户关系管理

问题篇:附源码询问Pageable实现分页无法使用原生sql

小Q

Java 学习 架构 面试 springboot

Java程序员必须人手一本的《码出高效:Java 开发手册》,免费分享PDF文档

Java架构之路

Java 程序员 架构 面试 编程语言

【JSRC小课堂】Web安全专题(三)SRC漏洞挖掘技巧:三步走收集高质量信息

京东科技开发者

WEB安全

十八般武艺玩转GaussDB(DWS)性能调优:总体调优策略

华为云开发者联盟

数据库 性能 调试

测试悄然扩围 千万元红包搅活数字货币江湖

CECBC

数字人民币

甲方日常 41

句子

工作 随笔杂谈 日常

LeetCode题解:78. 子集,迭代+位运算,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

区块链是连接传统经济和数字经济的桥梁

CECBC

区块链 数字经济

架构师第一期作业(第 6 周)

Cheer

架构师训练营 - 第 6 周课后作业(1 期)

阿甘

Mac/Windows 连接 Ubuntu 的 samba 服务器

jiangling500

ubuntu Mac windows Samba

深度对比Apache CarbonData、Hudi和Open Delta三大开源数据湖方案

华为云开发者联盟

hadoop 开源 数据处理

《Linux学习笔记》从常用命令、常用操作到网络管理、性能优化,无论是Java开发或是运维都可以学习!

Java架构之路

Java 程序员 架构 面试 编程语言

会展云技术解读丨多重安全保障护航云上会展

京东科技开发者

云计算 云服务 云平台

Groovy首次进入Tiobe语言排行前20名榜单_后端_崔康_InfoQ精选文章