11月10日,Go 语言刚过完它9岁的生日。Go
社区发表了一篇博客记录了它一年的成长,并有多项数据显示,Go
语言受到了广大开发者的喜欢。部分数据如下:

Go 官方博客今天公布了 2018 年 Go 语言调查报告。参与本次调查的 5883
名受访者来自 103
个不同的国家,官方表示,这些受访者的反馈意见将被选取用于改进 Go
语言的发展。

喜爱程度

知道大家都很忙,先直接看一下调查报告摘要:

  • Stack Overflow 的 2018
    年开发者调查显示,Go
    在最受欢迎和最期待学习的语言榜中,都排在前5名的位置,似乎表明用过的人都说好,没用过的都想用?

  • 在 ActiveState 的 2018
    年开发者调查中,Go
    占据了榜首,36% 的用户回应他们使用 Go“非常满意”,61%
    回复“满意”或希望它能做得更好。

  • JetBrains 的 2018
    年开发者调查将
    Go 评为“最有前途的语言”,其中 12% 的受访者使用 Go,16%
    的受访者希望将来使用 Go。

  • 在 HackerRank 的 2018
    年开发者调查中,38%
    的开发人员回应说他们打算学习 Go。

首次有一半的受访者表示 Go
是他们日常使用的编程语言之一。此外,在工作中用到 Go
语言以及在工作之余使用 Go 语言的受访者人数也显著增加。

Go 社区贡献

Go 最常见的用途仍然是编写 API/RPC 服务和 CLI
工具。虽然用于自动化任务领域不像前两者那么常见,但也处于快速发展阶段。

澳门葡萄京官方网站,Go 项目的社区贡献多年来一直呈现上升趋势,该项目在 2018
年第二季度达到了一个重要的里程碑,这是 Go 第一次从社区获得的贡献比 Go
团队更多。

Web 开发仍然是受访者最普遍的工作领域。与此同时, DevOps
保持着年度最高的同比增长率,整体比例仅次于 Web 开发。

澳门葡萄京官方网站 1

绝大多数受访者表示 Go 是他们最喜爱的编程语言,尽管熟练度不如其他语言高。

详情请查看 Go 社区的这篇博客。

VS Code 和 GoLand 越来越受开发者欢迎,两者都是他们最喜爱的编辑器。

(文/开源中国)    

许多 Go 开发者的主力开发系统不止一个 —— Linux 和 macOS
尤其受欢迎。大多数受访者表示使用这两者之一或全部来编写 Go 代码。

受访者正在逐渐放弃在将 Go
应用程序部署到本地,转而选择容器和无服务器(serverless)的云部署。

大多数受访者对 Go 社区的氛围评价是友好,而且绝大部分改进 Go
社区的想法都是给新手提供更好的入门体验。

调查报告的内容摘要如上,相关的具体数据以及细节请继续阅读(比较对象是
2016 和 2017 的调查数据)。

开发背景

本次的调查结果显示,在工作用 Go
语言开发的受访者人数显著增加,此外在工作之余使用 Go
语言的受访者人数也在不断增加。将 Go
作为日常使用的编程语言之一的受访者数量比例更是首次达到 50%(2016 年为
44%)。通过这些数据我们不难发现,越来越多的公司开始接受使用 Go
进行核心业务开发,而且 Go 语言在开发者群体中也饱受欢迎。

澳门葡萄京官方网站 2

▲使用 Go 语言的场景

澳门葡萄京官方网站 3

▲使用 Go 语言的频率

澳门葡萄京官方网站 4

▲使用 Go 语言的时长

可以看到,受访者普遍都有 2 年以上的 Go
开发经验,且这个比例每年都保持增长,而 Go
新手的比例也在逐年下降(这里新手的定义为使用 Go 语言的时间是 12
个月以内)。所以这就间接表明在入门 Go 语言后,大多数开发者不会选择放弃。

开发领域

调查结果显示,绝大多数受访者在 2-5 个不同的开发领域工作。而 Web
开发是最常见的领域,高达 65%,占据主导地位。DevOps 的比例也从 36%
增加到 41%,位居第二名。而系统编程则以 39% 的比例次于 DevOps。

澳门葡萄京官方网站 5

▲受访者的工作领域

自 2016 年以来,Go 的主要用途都是编写 API/RPC 服务和开发 CLI
应用程序。虽然 CLI 的比例在三年内一直稳定保持在 63%,但 API/RPC 已从
2016 年的 60% 增加到 2017 年的 65%,再到今天的 73%。在这些领域,Go
都发挥着自己的核心优势,这恰好也是云原生应用程序开发的核心。另一个同比增长的趋势表明,自动化任务也是
Go 在发力的一个领域,38% 的受访者使用 Go 编写脚本和自动化任务(2016
年的比例为 31%)。

澳门葡萄京官方网站 6

▲受访者使用 Go 语言的具体领域

对 Go 语言的态度

本次调查增加了一个“你有多大可能将 Go
推荐给朋友或同事?”的问题,以此来计算净推荐值(Net Promoter Score,
NPS)。最终 Go 在 2018 年调查中的净推荐值是 61 分(68% 的倡导者 – 7%
的贬低者)。

澳门葡萄京官方网站 7

▲Go 的 NPS 分布情况

除 NPS 之外,调查还包括其他几个关于开发者对 Go
满意度的问题。总体而言,受访者表示满意度很高,与前几年结果一致。大多数人表示他们对
Go 感到满意,愿意将 Go 用于他们的下一个项目,并且认为 Go
对团队有很大的价值,同时也有不少人认为 Go 对公司的成功至关重要。

另外,报告显示长期被 Go
使用者诟病的包管理和缺少泛型这两个问题,依然是很多开发者使用 Go
时所面临的最大挑战。

开发环境

问到受访者在哪个平台进行 Go 开发时,大多数受访者表示使用 Linux,50%
表示使用 macOS,18% 使用 Windows,与去年结果基本一致,Linux 和 macOS
仍然是主导地位。总体而言,41% 的受访者使用多操作系统进行 Go
开发,这也体现了 Go 的跨平台特性。

澳门葡萄京官方网站 8

▲进行 Go 开发的平台

开发工具方面,VS Code 和 GoLand 分别在最受喜爱的 Go
编辑器排行榜上占据第一、二名,Vim
排名第三。对于编辑器最期待的功能是改进对调试的支持,包括实时调试和集成调试等,此外就是代码的自动补全可以更智能。其他的需求包括与
Go CLI 工具链更好的集成,对模块/包提供更好的支持,以及性能方面的改进。

澳门葡萄京官方网站 9

▲最喜爱的 Go 编辑器

部署和服务

2018 年,将 Go 应用程序部署到本地服务器的受访者比例从 43% 降至
32%,越来越多开发者选择将 Go
应用部署到云上,无服务器和容器也正在变成越来越流行的部署平台。

澳门葡萄京官方网站 10

▲部署 Go 应用的平台

Go 语言社区氛围

维护社区的健康对开源项目的发展非常重要,所以在过去三年里 Go
团队一直在关注开发者在 Go
社区是否有得到足够的到关注和尊重。本次的调查结果显示,“我在 Go
社区中有被关注的感觉”这一说法的比例,从 66% 下降到了 59%。主要是 Go
新手得不到足够的回应,从而对社区产生了疏远感。被问到如何改进此问题时,官方整理的受访者回答大致可分为:

老手不应有过分的优越感,特别是面对 Go
新手时(例如不要表现出“不屑一顾”、和“放下防备心和傲慢的态度”)

加大领导层的透明度(例如“公开讨论未来方向和规划”、“减少自上而下的领导”、“更民主”)

增加更多的介绍性资源(例如“面向贡献者提供更明确的介绍”、“最佳实践的有趣挑战”)

举办更多活动和聚会,重点是覆盖更广的地理区域

澳门葡萄京官方网站 11

▲我在 Go 社区中是否有被关注的感觉