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

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

3天内不再提示

Go语言在世界各地的使用情况如何?

Linux爱好者 来源:OSCHINA 作者:OSCHINA 2021-02-26 14:10 次阅读

【导读】Go语言在世界各地的使用情况如何?数据说话,带你直观感受什么叫“酷小孩都用的语言”!

JetBrains 官方博客发表了一篇题为"The state of Go"的文章,他们通过深入研究有关 Go 的信息,发现了不少鲜为人知的事实,并提供了翔实的数据作为支撑。此外,JetBrains 还邀请到了知名的 Go 语言专家 Florin Pățan 针对各项数据发表了自己的见解。

一、Go 开发者

数量 & 所处地区

全球大约有 110 万名职业 Go 开发者(特指在工作中专门将 Go 作为主力编程语言的群体),如果把主要使用其他编程语言但同时兼职使用 Go 的专业开发者计算在内,这个数字可能接近 270 万。

从 Go 开发者在全球地区的分布来看,生活在亚洲的职业 Go 开发者最多,大约有 57 万。

Go 语言专家 Florin 表示这在他的预期之内。他认为亚洲的 Go 开发者数量之所以高居榜首是因为那里有大量的开发者来自腾讯、阿里巴巴和华为等大型公司,这些公司一般都会雇佣许多开发者。

如果再细分下去,以国家为维度查看使用 Go 作为主力编程语言的开发者分布情况,中国所占的比例最高,全球有 16% 的 Go 开发者来自中国。

90984d2e-77ba-11eb-8b86-12bb97331649.png

Florin 对此同样不感到意外,不过他表示本以为俄罗斯会排第二,美国会进入前五,然而事实却是日本的 Go 开发者数量排名第二,美国排到了第七。谈及中国位居榜首的原因,Florin 认为最重要的是中国拥有数量相当庞大的开发者,根据他自己所认识的公司来看,诸如 PingCAP、腾讯、和华为都拥有大量开发者帮助构建与微服务相结合的内部工具、基础设施和后端服务。

Florin 提到了俄罗斯的 Go 社区非常活跃,Go 在那里也非常流行,不过他对 Go 开发者在日本和乌克兰的分布情况感到意外,因为他本以为德国和印度会更高,Florin 表示自己四五年前在柏林的时候,所认识的每家初创公司都使用了 Go。

二、使用 Go 开发的软件类型

根据 JetBrains 2020年开发者生态调查的结果,Web 服务是使用 Go 进行开发的最受欢迎的领域,所占份额为 36%。其次分别是实用程序、IT 基础设施、工具库和系统软软件开发。

90e8cc36-77ba-11eb-8b86-12bb97331649.png

Florin 认为,对于 Web 服务,首要任务是创建速度足够快的 API 服务器。他们不一定需要框架,因此开发者可以使用 Go 快速启动并运行。他希望未来这张图不会发生大变化,希望看到 Web 服务获得更多的分享,因为使用 Go 入门很简单。

三、使用 Go 的热门行业

根据 JetBrains 2020年开发者生态调查的结果,Go 开发者主要从事 IT 服务行业,其次是金融和金融科技云计算/平台、大数据、移动开发和其他行业。

915c458a-77ba-11eb-8b86-12bb97331649.png

Florin 表示没想到 Go 在移动开发行业也能占有一席之地,毕竟它的移动开发历史比较匮乏。人们可能会使用 Go 来为移动应用程序提供 Web 服务或后端,但是仅此而已。

四、Go 工具

Go Web 框架 Top5

91af6eb8-77ba-11eb-8b86-12bb97331649.png

包管理器

92010890-77ba-11eb-8b86-12bb97331649.png

Go routers

925a5fee-77ba-11eb-8b86-12bb97331649.png

测试框架

92b1d0f8-77ba-11eb-8b86-12bb97331649.png

五、讨论度最高的 Go 工具和其他语言

讨论的高频词:JSON、goroutine、PostgreSQL、MySQL、Dockers……

六、行业见解

根据 JetBrains 2020年开发者生态调查的结果,Go 是十大主要编程语言之一,被专业开发者采用的所占比例为 7%。Florin 认为,许多人并不倾向于以 Go 作为其第一门学习的编程语言,通常是从其他语言(例如 PHP 和 Ruby)迁移过来,据他所知主要是从 C++C# 迁移到 Go。

Florin 表示,Go 相对 PHP 的优势在于类型安全,因为 Go 是静态类型语言,而 PHP 是动态语言。这意味着编译器会帮助开发者完成大部分工作,以确保他们编写的代码能够正确编译和运行,并在运行时不会出现问题。Go 与 C++ 相比的优势是简单。在 Go 中,一切都非常简单。此外在不进行任何特殊优化的情况下,使用 Go 还会获得性能方面的提升,这对公司来说是重要的生产力优势。

Florin 还提到了 Go 采用率持续增长的另一个原因,由于许多流行的 IT 基础设施都是用 Go 编写,例如 Kubernetes、Docker 和 Vault,因此尽管许多公司的主力技术栈可能是 Java 或者其他语言,但他们也会配置针对 Go 的团队,尤其是在维护和修补此类基础设施项目方面。

9314d3e2-77ba-11eb-8b86-12bb97331649.png

原文标题:Go 语言现状

文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    88

    文章

    3591

    浏览量

    93588

原文标题:Go 语言现状

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

    作为一个5年的phper,这两年公司和个人都在顺应技术趋势,新项目慢慢从php转向了go语言,从2021年到现在,笔者手上也先后开发了两个go项目。在学习go
    的头像 发表于 11-11 09:22 102次阅读

    LMX2592正常使用情况下温度大概有多少?

    你好,LMX2592如果将 OUTA_PD = 1;OUTB_PD = 1;为什么芯片还是很烫,正常使用情况下温度大概有多少,对于温度的变化可以提供一下参考吗
    发表于 11-08 08:32

    go语言如何解决并发问题

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

    TMS320C64x在高性能DSP应用中的高速缓存使用情况

    电子发烧友网站提供《TMS320C64x在高性能DSP应用中的高速缓存使用情况.pdf》资料免费下载
    发表于 10-21 09:43 0次下载
    TMS320C64x在高性能DSP应用中的高速缓存<b class='flag-5'>使用情况</b>

    Banana Pi BPI-M7 RK3588开发板在 Linux 上检查 Rockchip NPU 使用情况

    如下介绍如何监控 Rockchip 设备的 NPU 使用情况。 如今,新型设备开始配备内置 AI 芯片。“AI 芯片”的正确技术术语是 NPU,即神经处理单元。 如果您有板载 NPU
    的头像 发表于 07-11 16:47 360次阅读
    Banana Pi BPI-M7 RK3588开发板在 Linux 上检查 Rockchip NPU <b class='flag-5'>使用情况</b>

    如何查看TC397内存的使用情况

    Hi,请问,如何查看 TC397 内存的使用情况?谢谢!
    发表于 05-22 07:50

    请问使用STM8L功耗情况如何

    请问大家使用STM8L功耗情况如何,例如工作5MS,睡眠1S的功耗
    发表于 05-14 07:46

    可以从下面的图看出我的工程flash和ram的使用情况吗?

    芯片是:dspf28335;可以从下面的图看出我的工程flash和ram的使用情况吗?感觉flash还可以,ram有点不够用了,请求大师指点,如何分析?
    发表于 05-11 10:11

    CUBEIDE运行完可以看RAM的使用情况,运行中可以实时查看RAM的使用情况吗?

    CUBEIDE运行完可以看RAM的使用情况,运行中可以实时查看RAM的使用情况吗?以及负载情况? 图片是运行完可以看RAM使用情况,是否可以运行中实时查看?是不是cubemonito
    发表于 03-12 07:56

    rtthread编译后如何查看堆栈空间使用情况

    rtthread编译后如何查看堆栈空间使用情况,现在只能在编译完成后看到总大小,有没有办法能看到详细的使用情况。 由于RAM只有128K,除去内存池32k,想看看剩余的RAM在哪用了
    发表于 03-05 07:58

    如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况

    我知道嵌入式软件构建工具会报告程序闪存使用情况。我认为他们也报告 RAM 使用率,但他们是否报告最大 RAM 使用率? 生成工具可能不知道在运行时将使用多少堆。是否有构建工具不知道的其他 RAM 使用情况? 如何准确找出运行时使用了多少RAM?
    发表于 01-22 07:02

    有什么办法可以获取TC397中的实时内存使用情况吗?

    有什么办法可以获取 TC397 中的实时内存使用情况吗? 例如,我能否通过计算当前堆栈指针值和基本堆栈指针值之间的差异来获得使用的内存大小?
    发表于 01-22 06:18

    请问TC397如何查看RAM和pFlash的使用情况

    请问 TC397 如何查看 RAM 和 pFlash 的使用情况
    发表于 01-19 06:37

    正常使用情况下LTC3331的ship引脚接高电平还是低电平?

    正常使用情况下,LTC3331的ship引脚接高电平还是低电平?
    发表于 01-05 11:07

    显示Web服务器中的内存使用情况

    Web服务器上,您可以在“内存”选项卡的“诊断”网页上找到有关各个内存区域当前使用情况的信息。
    的头像 发表于 12-18 10:18 774次阅读
    显示Web服务器中的内存<b class='flag-5'>使用情况</b>