0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Kotlin或将超越Go?

OSC开源社区 来源:OSC开源社区 作者:OSC开源社区 2022-11-14 15:16 次阅读

知名软件行业分析公司 RedMonk 发布了 2022 年 6 月(第三季度)编程语言排行榜。

RedMonk 编程语言排行榜通过追踪编程语言在 GitHub 和 Stack Overflow 上的代码使用情况与讨论数量,统计分析后进行排序,其旨在深入了解潜在的语言采用趋势。该榜单一年发布两次,这是今年的第二份榜单。上一次榜单发布是在 3 月份,即第一季度编程语言排行。

目前 RedMonk 对编程语言的排序算法基本思路没有变化,但是具体的数据收集方式改变了。现在使用 GitHub Archive 作为数据源对 GitHub 数据进行分析;而 Stack Overflow 部分则直接使用其提供的实用工具 data explorer,具体排序算法见官方介绍。

下图是 Q3 的编程语言排行情况:

555539cc-6357-11ed-8abf-dac502259ad0.png

排名前 20 的编程语言为:

1 JavaScript

2 Python

3 Java

4 PHP

5 C#

6 CSS

7 C++

7 TypeScript

9 Ruby

10 C

11 Swift

12 R

12 Objective-C

14 Shell

15 Scala

15 Go

17 PowerShell

17 Kotlin

19 Rust

19 Dart

恰如往常,榜单中的排名变动越来越少。RedMonk 方面称,正如之前所猜测的那样,似乎有越来越多的证据表明,有关编程语言使用的暂时平衡的假设是正确的。榜单中的 “新兴语言” 也都有了一定的年纪,譬如 Go 发布距今已有 13 年的历史;Rust,12 年;Dart 和 Kotlin 11 年;TypeScript,10 年;甚至相对年轻的 Swift 也已经面世八年了。

期望一种新语言在这些排名中表现出色是不合理的。它们本质上是递增的,要从长远使用和讨论方面看才更有利。但有趣的是,我们 RedMonk 并没有真正遇到许多新兴的编程语言,只有少数例外,比如 Ballerina——5 岁,排名第 87 位。

当然,这并不是说编程语言的进化已经完成或将完成。不管是好是坏,我们的行业都是一个致力于不断改造的反复无常的行业。但它确实表明,目前,行业创新集中在编程语言以外的领域,我们可能已经对可供开发人员使用的各种语言达成了相对的 —— 可能是暂时的 —— 满足感。

RedMonk 对此次排行榜中个别编程语言的排名变化进行了分析和点评:

TypeScript (1):长期以来,TypeScript 一直是崛起最迅速的语言之一,也是为什么与流行的现有语言的互操作性可以极大地促进使用和采用的典型例子之一。但近期以来,TypeScript 在该榜单中的排名却总是停滞不前。在过去的三轮调查中,TypeScript 一直保持第八的位置;本季度则与 C++ 并列第七。RedMonk 曾指出过一些与编程语言流行度相关的一般因素,包括:前面提到的与流行的现有语言的互操作性;任何增加的安全相关功能的可用性;以及与流行框架或项目的关联。TypeScript 有幸兼备了所有的这些,“目前几乎没有迹象表明该语言除了向上发展外还会有其他任何方向,唯一真正的问题是在什么时间范围内”。

Go (1):与 TypeScript 不同,Go 的轨迹并不清晰。经过稳步且迅速地增长阶段后,该语言似乎也开始停滞不前,从未超过第 14 位,并且在最近三场调查中跌至了第 16 位。不过在本季度,Go 的排名上升了一位,回到第 15。就其本身而言,这一提升意义有限;因为排名越低,相互之间的差异也越小。但在此之前,Go 语言已经一年多没有出现过变动。这也提出了一个问题,即它是否还有进一步上升的空间,或者它是否会继续徘徊在技术上备受推崇但并不特别受关注的位置上。

Kotlin (1) / Rust (0):和 Go 一样,Kotlin 过去的三场调查里都处于相同的位置。它和 Rust 在最近几个季度一直保持着同步发展,但当 Rust 连续第四次排在第 19 位时,Kotlin 实现了从 18 跃升到 17 位。人们对这种语法友好的语言寄予厚望,因为它可以随时进入世界上最大的编程语言生态系统之一的 Java,但维持其速度和上升势头被证明比预期的更难。但事实证明,要维持其速度和上升势头比以往预期的要困难得多。考虑到 Kotlin 现在紧随 Go 之后。在接下来的一两个季度可以观察这两种语言的轨迹,看看 Kotlin 是否会将距离拉得更近,或者一举超越。

Scala (-1):自 2020 年以来,Scala 在榜单中首次从第 14 位下降到 15。虽然如上所述,这肯定不是命运的重大转变,但它确实会让人疑惑语言的未来的长期发展。Scala 多年来一直被用作高度可信的企业后端语言,最近在这方面也没有什么变化。然而,一个有趣的问题是,将 Akka(一种流行的 Scala 框架)许可的变更是否会以及如何影响 Scala 的采用。Scala 无疑比 Akka 更宽泛,但如果流行的框架可以加速采用它们所基于的语言,那么反之亦然吗?重新许可的长期影响尚不清楚,但是有一些已知的公共实例,例如 Flink 就表示不会再使用带有新许可证的 Akka 版本。当然不也能说 Scala 会像 Akka 一样,但是在增长停滞不前且竞争激烈的语言环境中,不可能排除该决定对语言的不利影响。

Objective C (1):自 2018 年年中达到第 9 位的峰值以来,Objective C 一直处于大幅下降的轨道上。在过去的七次调查中,它只上升了一次;但 RedMonk 认为这一结果并不令人意外,很可能只是其逐步下滑道路上的一个暂时的小插曲。这种古老的语言在《捉鬼敢死队》(原版)、《夺宝奇兵》和《末日神庙》上映的同一年首次发布,其在这些排名中的受欢迎程度主要归功于它作为 iOS 生态系统最初认可的首选语言的地位,这是世界上最大和最有商业利润的消费市场之一。但当 Apple 在 2014 年宣布现代 Swift 为其继任者时,这一切似乎都已成定局。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Go
    Go
    +关注

    关注

    0

    文章

    40

    浏览量

    12178
  • 编程语法
    +关注

    关注

    0

    文章

    7

    浏览量

    6906

原文标题:Kotlin或将超越Go?

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    在CYUSB3304-68LTXC上电时RESETN输入切换为L/H,可以联动控制POWER_DRILL2GO端子吗?

    我有一个关于 HX3 的问题。 如果在 CYUSB3304-68LTXC 上电时 RESETN 输入切换为 L/H,是否可以联动控制POWER_DRILL2GO端子? 例如,当RESETN输入为L时, POWER_DRILL2GO
    发表于 03-06 07:45

    Arduino IDE中是否有与Xmc2Go兼容的LoRaWAN库?

    我想问一下 Arduino IDE 中是否有与 Xmc2Go 兼容的 LoRaWAN 库? 我正在尝试使用连接到 Xmc2Go 的 RFM95W Lora 模块通过 LoRaWAN 数据传输
    发表于 02-27 06:05

    Go语言比Python强多少

    1.都说Go语言性能非常强大,那么到底比Python强多少? 为了比较Go语言和Python语言在单线程性能上的差距,我们可以做一个简单实验,从1亿减到1: Python代码(以下均分别提供图片和文
    的头像 发表于 11-02 14:05 281次阅读
    <b class='flag-5'>Go</b>语言比Python强多少

    如何让Python和Go互相调度

    我们曾经研究过如何让Python和Go互相调度,当时发现,将Go语言写的模块打包成动态链接库,就能在Python中进行调度: 优劣互补! Python+Go结合开发的探讨 Go的优势很
    的头像 发表于 11-02 11:24 247次阅读
    如何让Python和<b class='flag-5'>Go</b>互相调度

    Go必知的10个命令!

    如果你想检查一些与 Go 相关的环境变量,这个和开关很有关系,比如 GOROOT 或 GOPATH,直接执行命令 go env,查看这两个环境变量的配置。关于这两个环境变量的设置和说明,可查看这篇文章:理解了 GOPATH 和 GOROOT才能找出问题根源
    的头像 发表于 10-22 10:01 186次阅读

    由Java改为 Kotlin过程中遇到的坑

    最近了解了下 Kotlin ,其中的很多语法糖很有意思,并且可以与 Java 无缝兼容。故尝试在一个 SpringBoot 工程上将部分类修改为 Kotlin ,下面记录了由 Java 改为
    的头像 发表于 09-30 16:51 455次阅读
    由Java改为 <b class='flag-5'>Kotlin</b>过程中遇到的坑

    Go语言中的整数类型

    Go 语言中,整型可以细分成两个种类十个类型。
    发表于 07-20 15:25 336次阅读

    Go语言常量的声明

    Go 语言中, 常量 表示的是固定的值,常量表达式的值在编译期进行计算,常量的值不可以修改。例如:3 、 Let's go 、 3.14 等等。常量中的数据类型只可以是 布尔型 、 数字型 (整数型、浮点型和复数)和 字符串型 。
    发表于 07-20 15:24 275次阅读

    Go语言简介和安装方法

    Go 又称 Golang ,是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计
    发表于 07-19 16:33 418次阅读

    Go 1.21的PGO正式GA,性能提升,更快更猛!

    Go 语言中,最初关于 PGO 的提案是建议向 Go GC 工具链增加对配置文件引导优化 (PGO) 的支持,以便工具链能根据运行时信息执行特定于应用程序和工作负载的优化。
    的头像 发表于 06-28 16:47 759次阅读
    <b class='flag-5'>Go</b> 1.21的PGO正式GA,性能提升,更快更猛!

    Android自定义Toast Kotlin

    电子发烧友网站提供《Android自定义Toast Kotlin.zip》资料免费下载
    发表于 06-16 11:43 0次下载
    Android自定义Toast <b class='flag-5'>Kotlin</b>

    Kotlin协程实战进阶之筑基篇3

    协程的概念在1958年就开始出现(比线程还早), 目前很多语言开始原生支, Java 没有原生协程但是大型公司都自己或者使用第三方库来支持协程编程, 但是Kotlin原生支持
    的头像 发表于 05-30 16:26 432次阅读

    Kotlin协程实战进阶之筑基篇2

    协程的概念在1958年就开始出现(比线程还早), 目前很多语言开始原生支, Java 没有原生协程但是大型公司都自己或者使用第三方库来支持协程编程, 但是Kotlin原生支持
    的头像 发表于 05-30 16:25 467次阅读
    <b class='flag-5'>Kotlin</b>协程实战进阶之筑基篇2

    Kotlin协程实战进阶之筑基篇1

    协程的概念在1958年就开始出现(比线程还早), 目前很多语言开始原生支, Java 没有原生协程但是大型公司都自己或者使用第三方库来支持协程编程, 但是Kotlin原生支持
    的头像 发表于 05-30 16:24 359次阅读
    <b class='flag-5'>Kotlin</b>协程实战进阶之筑基篇1

    如何快速搭建一个现代化的Go开发环境?

    Go 源代码的安装目录,Mac 和 Windows 安装时会自动配置好,Linux 一般在 /usr/local/go 目录。
    的头像 发表于 05-22 16:53 582次阅读