写点什么

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

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

关注

评论

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

leetcode 91. Decode Ways 解码方法(中等)

okokabcd

LeetCode 动态规划 算法与数据结构

K8S学习笔记--安装Docker环境

IT蜗壳-Tango

IT蜗壳 6月月更

什么是元数据

奔向架构师

数据仓库 元数据 6月月更

Java基础:反射机制详解

百思不得小赵

javase 反射机制 6月月更

在线文本过滤小于指定长度工具

入门小站

工具

怎样能在小程序中实现视频通话及互动直播功能?

Geek_99967b

小程序 小程序容器 小程序营销

redis 精讲系列介绍八 - 淘汰策略

Nick

Redis 核心技术与实战 6月月更 redis 底层原理 redis 淘汰策略 redis 精讲

JSON入门教程

倔强的牛角

json Fastjson 6月月更

【云舟说直播间】-数字安全专场明天下午正式上线

云计算

为 Serverless Devs 插上 Terraform 的翅膀,解耦代码和基础设施,实现企业级多环境部署(下)

阿里巴巴云原生

阿里云 开源 云原生 Serverless Devs

JVM调优简要思想及简单案例-为什么需要JVM调优?

zarmnosaj

6月月更

Java Core 「15」J.U.C Executor 框架

Samson

学习笔记 Java core 6月月更

实战监听Eureka client的缓存更新

程序员欣宸

Java SpringCloud 6月月更

使用Mycat进行MySQL单库分表

迷彩

架构 运维 mycat 分布式数据库中间件 6月月更

一篇文章带你对Java对象创建过程解密

派大星

JVM

flutter系列之:flutter中的Wrap

程序那些事

flutter 程序那些事 6月月更

Android 11适配指南之系统相机拍照、打开相册

yechaoa

android 适配 6月月更 11.0

NodeJS 防止xss攻击

德育处主任

Node 6月月更

quarkus+saas多租户动态数据源切换实现简单完美

weir威尔

SaaS 多租户 Quarkus 动态数据源

Angular 服务器端渲染应用一个常见的内存泄漏问题

汪子熙

typescript 前端开发 angular Spartacus 6月月更

在线JSON转CSharp(C#)Class工具

入门小站

工具

【愚公系列】2022年06月 Java教学课程 01-Java语言背景介绍

愚公搬代码

6月月更

mysql存储引擎之Myisam和Innodb的区别

乌龟哥哥

6月月更

大一学生课设c——服装管理系统

工程师日月

6月月更

Linux开发_摄像头编程(实现拍照、网页监控功能)

DS小龙哥

6月月更

一篇文章学会er图绘制

工程师日月

6月月更

linux之git入门命令

入门小站

Linux

元素的常用事件

Jason199

js 事件 6月月更

高效的远程办公经验 | 社区征文

远程办公 6月月更 初夏征文

电商如何借助小程序发力

Geek_99967b

小程序 电商

APM 工具 SkyWalking 是什么

耳东@Erdong

监控 Skywalking 6月月更

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