热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Kotlin或将超越Go?

知名软件行业分析公司RedMonk发布了2022年6月(第三季度)编程语言排行榜。RedMonk编程语言排行榜通过追踪编程语言在GitHub和Stac




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

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

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

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

排名前 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 为其继任者时,这一切似乎都已成定局。

如果你想要学习Koltin却缺少学习资料,而我正好薅到这本阿里十年技术专家联合打造“最新”《Kotlin入门到精通》和《高级Kotlin强化实战(附Demo)》,是你学习Kotlin的葵花宝典。下面正文开始:


《Kotlin入门到精通》

该内容会使用Kotlin作为主要的语言来开发一个android应用。方式是通过开发一个应用来学习这门语言,而不是根据传统的结构来学习。我会在感兴趣的点停下来通过与Java1.7对比的方式讲讲Kotlin的一些概念和特性。用这种方法你就能知道它们的不同之处,并且知道哪部分语言特性可以让你提高你的工作效率。



现在你知道使用Kotlin实现的小例子了,我确信你会希望尽可能快地把它用在你的
实践当中去。不要担心,在第一章中会帮助你去搭建你的开发环境,这样你才能立
即编写代码。


从Kotlin语法概念的理解项目的创建再到整个项目的完成,每篇都是是采用“一对一”的讲解方式, 侧重总结工作上的实践经验,并和你分享一些疑难问题的解决思路,让你在以后的工作中,能够有方法论的指导。




由于篇幅限制,仅用截图展示了部分,需要完整文档资料的,可以点击文末二维码免费获取


当你掌握了Kotlin语言的基本应用后,就该开始强化学习,进入实战环节,相信这高级Kotlin强化学习(附Demo)的正适合接下来的配套学习。其内容主要包括三个方面Kotlin入门教程、Kotlin实战避坑指南、项目实战《Kotlin Jetpack 实战》。


Kotlin入门教程:


Kotlin实战避坑指南:

在这里插入图片描述


项目实战《Kotlin Jetpack 实战》:

在这里插入图片描述
欢迎大家一键三连支持,若需要文中面试题答案,直接点击文末CSDN官方认证微信卡片免费领取【保证100%免费】↓↓↓







推荐阅读
  • 开发笔记:Python之父重回决策层
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之父重回决策层相关的知识,希望对你有一定的参考价值。在GuidovanRossum(吉多· ... [详细]
  • 导读:今天编程笔记来给各位分享关于php变量命名规范是什么的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 各个组件confspark-env.sh配置spark的环境变量confspark-default.conf配置spark应用默认的配置项和spark-env.sh有重合之处,可在 ... [详细]
  • Spark 贝叶斯分类算法
    一、贝叶斯定理数学基础我们都知道条件概率的数学公式形式为即B发生的条件下A发生的概率等于A和B同时发生的概率除以B发生的概率。根据此公式变换,得到贝叶斯公式:即贝叶斯定律是关于随机 ... [详细]
  •     算算自己工作已经快一年了,不管中间有过什么挫折,但现在感觉自己有了很大的成长。想想曾经还畏惧过技术,觉得居然入了一个需要不断学习的行业,而自己连怎么学都还没搞清楚。但通过这 ... [详细]
  • AI算法工程师从入门到上瘾
    设定一个非常清晰的目标清晰的目标就比如说你要做NLP,你要知道NLP的应用有智能问答,机器翻译,搜索引擎等等。然后如果你要做智能问答你要知道现在最发达的技术是深度学习,使用的算法有 ... [详细]
  • 计算机网络四
    大三上结束之际,从网上找来一些关于计算机网络的知识作为总结,本文四篇笔记全部转自猪头任(博客地址:http:www.cnbl ... [详细]
  • 线性代数:机器学习背后的优化原理线性代数作为数学的一个分支,广泛应用于科学和工程中,掌握好线性代数对于理解和从事机器学习算法相关工作是很有 ... [详细]
  • IE下PHPiframe跨域导致session丢失问题的解决方法|一个登录页面,被别的网站用iframe嵌进去后,死活无法登录(只在IE中存在这种情况)。主要是session无 ... [详细]
  • 本文整理了Java中org.mozilla.javascript.Context.isValidLanguageVersion()方法的一些代码示例,展示了 ... [详细]
  • 工作以来接触到的技术流
    2019独角兽企业重金招聘Python工程师标准下面是工作以来接触到的技术平台,以及技术方案。部分在项目中深入过,部分仅选型、实践过。不断补充中. ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有