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

2021编程语言「后浪」趋势预测:JavaScript、Python热度不减,但崛起最快的却是它

2021编程语言「后浪」趋势预测:JavaScript、Python热度不减,但崛起最快的却是它,Go语言社区,Golang程序员人脉社

Javascript?Python?此外,Go 语言也是不容忽视的后起之秀。

转眼 2020 年已经过去了 8 个月,但对 2020 年的预测似乎并未结束。对于软件开发从业者来说,这个行业时刻发生着变化,很多技能出现然后又消失,退场速度甚至远超人们的想象。

但如果我们回头看一下,关于编程语言的变化趋势仍然值得探讨。C 和 Java 算是行业中最古老的两门语言,目前仍然在行业中占据一席之地。不过我们也能发现,它们的受欢迎程度呈现一个曲线下降的趋势。

作为一名开发者,Mr Herath 最喜欢的语言是 Javascript。在一篇 Medium 文章中,他为我们分析了 2021 年可能最受欢迎的几种编程语言。

Javascript、Python 或者 Go?在讨论每种语言的优点之前,先看一些在线调查的结果。

调查结果说明了一切
Stack Overflow 调查

Stack Overflow 每年的开发者调查是全球规模最大、范围最全面的调查之一。2019 年的统计获得了全球近 9 万名开发者的数据。在最想使用编程语言的榜单中,Python 领先地位明显,Javascript 和 Go 语言分列二三位。

图源:https://insights.stackoverflow.com/survey/2019

正如 PyTorch 急速取代 TensorFlow 的位置一样,编程语言的流行趋势变化也很快。

Go 语言的受欢迎程度正在快速上升,根据 Stack Overflow 2020 年度开发者报告的数据显示,在开发者最想使用的榜单中,虽然 Go 语言依然排在 Python 和 Javascript 后面,但比例较 2019 年有所上升。

图源:https://insights.stackoverflow.com/survey/2020

GitHub 趋势

GitHut 2.0 图表向我们展示了自 2013 年到 2019 年之间,不同编程语言的合并请求数量变化趋势。正如你所见,有关 Javascript 的比其他所有语言都多,Python 排名第二,但 Go 语言的节奏根本看不出来。

图源:https://madnight.github.io/githut/#/pull_requests/2020/2

但观察每种编程语言的排名,我们可以看到 Go 的受欢迎程度正在显著提升,而 Javascript 和 Python 的受欢迎程度正在下降。

图源:https://madnight.github.io/githut/#/pull_requests/2020/2

GitHub 库数量

图源:https://github.com/python/cpython

图源:https://github.com/nodejs/node

图源:https://github.com/golang/go

如以上图片所示,可以发现 Go 对开发者的吸引力越来越高。尽管它的使用人数肯定不如其他两种语言多,但从阅读数量和 Star 量上看都是更高的。

那么问题来了,为什么越来越多的开发者都在使用 GO 语言?

Go 语言的优势

Go 语言是一种开源编程语言,它有助于开发者轻松地构建简洁、可信赖和高效的软件。2007 年,罗伯特 · 格瑞史莫、罗勃 · 派克和肯 · 汤普逊开始设计 Go 语言,并于 2009 年正式推出开源,这门语言的历史只有短短十几年,很长时间内它一直没有获得像 Python 和 Javascript 那样的关注度。

近年来,Go 语言的热度日益上升,也曾两度被评为年度编程语言。根据 Stack Overflow 2019 年度开发者调查报告的数据显示,在近 9 万名受访开发者中,有 67.9% 的人将 Go 语言作为他们最喜爱的编程语言之一。

图源:https://insights.stackoverflow.com/survey/2019

Go 语言自身具有的优势是受开发者喜爱的一大原因。以下是 Go 语言的一些显著优势:

效率高:Go 语言与 C 语言类似,开发者不需要掌握新的语法;

可以实现跨平台运行;

简单:Go 语言仅有 25 个关键词以及较少的数据结构(没有类别之分,只有函数和类型);

可信赖:Go 语言运行快,默认支持并行机制,模型漂亮,并且默认处理生产服务器(production-ready server);

更新不频繁:Go 语言即使更新,也不会出现重大的变动,并且 100% 兼容旧版本;

最后,Go 语言已经非常成熟了,它拥有内置包管理器测试框架和并行模型。

薪酬也是反映编程语言是否受欢迎的指标之一,同样根据 Stack Overflow 2019 年度开发者调查报告的数据显示,在哪种编程语言能够获得较高薪酬的排名中,Go 语言排名第三,而 Python 和 Javascript 的排名就落后了很多。由此也反映出了 Go 语言的「钱途」。

图源:https://insights.stackoverflow.com/survey/2019

所以明年该用哪个语言?

正如我们所见,Go 语言在过去几年里表现很好。在每个编程语言的调查中,我们都能看到除了 Javascript 和 Python 之外,Go 吸引了大量用户。可以预见的是,在接下来的几个月里,这门语言的人气和资源会不断增加。所以虽然人人都在用 Javascript,但我认为 Go 语言将会是 2021 年最好的后端编程语言。


推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
author-avatar
U友50082089
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有