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

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

3天内不再提示

Kotlin或将超越Go?

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

知名软件行业分析公司 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

    文章

    43

    浏览量

    12248
  • 编程语法
    +关注

    关注

    0

    文章

    7

    浏览量

    6925

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

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

收藏 人收藏

    相关推荐

    在学习go语言的过程踩过的坑

    作为一个5年的phper,这两年公司和个人都在顺应技术趋势,新项目慢慢从php转向了go语言,从2021年到现在,笔者手上也先后开发了两个go项目。在学习go语言的过程中也学习并总结了一些相关的东西,这篇文章就分享下自己踩过的一
    的头像 发表于 11-11 09:22 154次阅读

    go语言如何解决并发问题

    作为一个后端开发,日常工作中接触最多的两门语言就是PHP和GO了。无可否认,PHP确实是最好的语言(手动狗头哈哈),写起来真的很舒爽,没有任何心智负担,字符串和整型压根就不用区分,开发速度真的是比
    的头像 发表于 10-23 13:38 129次阅读
    <b class='flag-5'>go</b>语言如何解决并发问题

    三十分钟入门基础Go Java小子版

    前言 Go语言定义 Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态、强类型、编译型语言。Go 语言
    的头像 发表于 08-12 14:32 716次阅读
    三十分钟入门基础<b class='flag-5'>Go</b> Java小子版

    XMC4200 Platform2Go如何通过产生PWM信号来控制测量到的电流值?

    我使用的是 XMC4200 Platform2Go 评估板。 我想通过产生 PWM 信号来控制测量到的电流值。 电流值通过 AD 转换器作为输入信号,然后输出 PWM 信号。
    发表于 05-29 07:38

    求助,关于PSoC4000S POWER_DRILL2GO下降压摆率的疑问求解

    ( POWER_DRILL2GO下降缓慢),所以我正在考虑在XRES上添加一个复位IC来解决这个问题。 例如,如果复位 IC XRES 置为 1.7V 更低,即使POWER_DRILL2
    发表于 05-21 08:14

    请问STVP+COSMIC环境下的go to definition怎么用?

    STVP+COSMIC环境下的go to definition怎么用? 我现在go to definition在一个宏定义的时候有效果,但是函数什么的没用,是怎么回事呢,是不是工程里面没有设置好,求大家帮帮忙?
    发表于 05-11 06:11

    关于go中接口类型的表示方法

    go是一个静态性语言,每个变量都有静态的类型,因此每个变量在编译阶段中有明确的变量类型,比如像:int、float32、MyType。
    的头像 发表于 04-28 10:13 362次阅读

    马斯克预测明年2026年AI超越最聪明的人类

    马斯克认为,如果 AGI 界定为超越最聪明的人类智力水平,那么这可能发生在明年两年内。AGI 研究务求打造出具备类似人类般的智能决策与自学能力的软件,如今已成为了人工智能领域的重要议题。
    的头像 发表于 04-09 15:52 476次阅读

    华为折叠手机首次超越三星登顶全球市场份额首位

    在全球可折叠手机市场,华为可能会在今年上半年首次超越三星。
    的头像 发表于 03-19 10:34 651次阅读
    华为折叠手机<b class='flag-5'>或</b>首次<b class='flag-5'>超越</b>三星登顶全球市场份额首位

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

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

    PMG1 PoR复位时POWER_DRILL2GO什么时候进入?

    我有两个关于 PMG1 PoR 的问题。 1.复位时POWER_DRILL2GO什么时候进入? 也许您想在电压低于预设值时强制 EZ-PD™ PMG1-S1 MCU 设备复位
    发表于 03-06 06:03

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

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

    如何Go程序编译到ELF 1开发板

    ElfBoard组建的共创社是嵌入式科技创新与学习实践的前沿阵地,我们有幸见证着每一位共创官积极投身于嵌入式技术的热潮中,用实际行动诠释着探索精神。今天就跟各位小伙伴分享一下共创官是怎样Go程序
    的头像 发表于 01-29 10:42 529次阅读
    如何<b class='flag-5'>将</b><b class='flag-5'>Go</b>程序编译到ELF 1开发板

    为什么无法读取BGT60LTR11AIP Radar Shield2Go板的SPI数据?

    我有一块BGT60LTR11AIP Radar Shield2Go板,试图通过PSOC4 MCU的模拟SPI读取数据。 我已经评估板设置为SPI模式,为使用官方库代码,MCU采用了模拟SPI方式读取,但是一直无法读到数据。 附件是项目,有人能帮我吗?
    发表于 01-23 06:20

    Go配置TM 软件中心用户指南

    电子发烧友网站提供《Go配置TM 软件中心用户指南.pdf》资料免费下载
    发表于 01-03 09:48 0次下载
    <b class='flag-5'>Go</b>配置TM 软件中心用户指南