本文结合之前的一篇JetBrains博客,谈谈Go语言生态和Go开发者的现状。此前,JetBrains官方博客发表了一篇名为《ThestateofGo》的文章。通过对围棋资料的深入研究,他们发现了许多鲜为人知的事实,并提供了详细的数据作为支持。此外,JetBrains还邀请了知名的Go语言专家FlorinP??an就各种数据发表了自己的看法。1.Go开发者数量及分布全球约有110万专业Go开发者(尤其是工作中以Go为主要编程语言的开发者)。算上专业开发者,这个数字大概接近270万。从全球围棋开发者分布情况来看,居住在亚洲的职业围棋开发者最多,约有57万人。Go语言专家Florin表示,这在他的意料之中。他认为,亚洲的Go开发者人数最多,因为那里有大量来自腾讯、阿里巴巴和华为等大公司的开发者,这些大公司通常雇佣很多开发者。如果进一步细分,看以Go为主要编程语言的开发者在各国的分布情况,中国占比最高,全球16%的Go开发者来自中国。弗洛林对此也不意外,但他表示,他原以为俄罗斯会排在第二位,美国会进入前五,但事实是日本在围棋开发者数量上排名第二,美国排名第七。谈及中国为何位居榜首,Florin认为最重要的是中国拥有大量的开发者。据他了解的公司介绍,比如PingCAP、腾讯、华为都有大量的开发者帮助搭建和微软。服务结合了内部工具、基础设施和后端服务。Florin提到俄罗斯的Go社区非常活跃,Go在那里很受欢迎,但他对日本和乌克兰的Go开发者分布感到惊讶,因为他认为德国和印度会更高。当我在柏林时,我认识的每家初创公司都使用Go。2.使用Go开发的软件类型根据JetBrains2020年开发者生态调查结果,Web服务是使用Go开发最流行的领域,占比36%。其次是实用程序、IT基础设施、工具库和系统软件开发。按照Florin的说法,对于Web服务,首要任务是创建一个足够快的API服务器。它们不一定需要框架,因此开发人员可以使用Go快速启动和运行。他希望这个图以后不要有太大的改变,希望能看到更多的web服务的分享,因为Go入门非常简单。3、使用Go的热门行业根据JetBrains2020年开发者生态系统调查结果,Go开发者主要从事IT服务行业,其次是金融与金融科技、云计算/平台、大数据、移动开发等行业。弗罗林表示,他没想到Go在移动开发界有一席之地,毕竟它的移动开发历史比较稀缺。人们可能会使用Go为移动应用程序提供Web服务或后端,但仅此而已。4.GotoolsGowebframeworkTop5packagemanagerGorouterstestframework5.讨论最多的Go工具和其他语言讨论的高频词:JSON,goroutine,PostgreSQL,MySQL,Dockers...6.根据JetBrains的行业洞察2020根据2018年开发者生态调查的结果,Go是排名前10的主要编程语言之一,被7%的专业开发者采用。根据Florin的说法,很多人并不倾向于将Go作为他们的第一门编程语言来学习,并且通常是从其他语言(例如PHP、Ruby、Java、C++、C#)迁移,据他所知主要是从C++和C#迁移.C#迁移到Go。根据Florin的说法,Go相对于PHP的优势在于类型安全,因为Go是一种静态类型语言,而PHP是一种动态语言。这意味着编译器为开发人员完成了大部分工作,以确保他们编写的代码能够正确编译和运行并且没有问题地运行。Go优于C++的优点是简单。在Go中,一切都非常简单。此外,在没有任何特殊优化的情况下,使用Go也有性能提升,这对公司来说是一个重要的生产力优势。Florin还提到了Go的采用率持续增长的另一个原因。由于很多流行的IT基础设施都是用Go编写的,比如Kubernetes、Docker和Vault,虽然很多公司的主要技术栈可能是Java或其他语言,但他们也为Go配置团队,特别是维护和修补这类基础设施项目。
