认真聊一聊大家关心的Go语言

开发 后端
本篇结合之前JetBrains的一篇博客,大致来聊一聊Go语言生态以及Go开发者目前的一些现状吧。

[[393331]]

 本篇结合之前JetBrains的一篇博客,大致来聊一聊Go语言生态以及Go开发者目前的一些现状吧。

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

[[393332]]

一、Go 开发者

数量 & 所处地区

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

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

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

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

Florin 对此同样不感到意外,不过他表示本以为俄罗斯会排第二,美国会进入前五,然而事实却是日本的 Go 开发者数量排名第二,美国排到了第七。

谈及中国位居榜首的原因,Florin 认为最重要的是中国拥有数量相当庞大的开发者,根据他自己所认识的公司来看,诸如 PingCAP、腾讯、和华为都拥有大量开发者帮助构建与微服务相结合的内部工具、基础设施和后端服务。

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

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

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

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

三、使用 Go 的热门行业

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

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

四、Go 工具

Go Web 框架 Top5

包管理器

Go routers

测试框架

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

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

六、行业见解

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

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

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

 

 

责任编辑:庞桂玉 来源: 菜鸟学Python
相关推荐

2020-04-24 09:53:59

Go协作抢占

2016-10-11 11:38:06

程序员

2020-10-30 07:11:31

C 语言编程

2021-08-04 10:15:14

Go路径语言

2020-09-08 06:54:29

Java Gradle语言

2023-07-06 13:56:14

微软Skype

2018-06-07 13:17:12

契约测试单元测试API测试

2021-12-06 09:43:01

链表节点函数

2023-09-20 23:01:03

Twitter算法

2021-03-01 18:37:15

MySQL存储数据

2021-07-16 11:48:26

模型 .NET微软

2023-09-22 17:36:37

2020-05-22 08:16:07

PONGPONXG-PON

2021-01-28 22:31:33

分组密码算法

2021-08-01 09:55:57

Netty时间轮中间件

2023-09-27 16:39:38

2020-06-28 09:30:37

Linux内存操作系统

2022-10-08 11:33:56

边缘计算云计算

2022-03-08 16:10:38

Redis事务机制

2022-11-26 00:00:06

装饰者模式Component
点赞
收藏

51CTO技术栈公众号