Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

<关注公众号,回复 Go 即可下载清晰知识图谱>

对 Go 语言感兴趣但又不知从何学起的同学,可以参考一下 Go 语言系列文章:

Go 官方博客近日公布了 2019 年 Go 语言调查报告。本次调查收到的回复达到 10,975 份,约为去年的两倍。这些受访者的反馈意见将被选取用于改进 Go 语言的发展。

以下是 2019 年度的调查报告摘要:

  • 此调查中,受访者的受众特征与 Stack Overflow 的受访者相似,因此这些结果在某种程度上可以代表更广泛的 Go 开发人员;
  • 大多数受访者每天都要用到 Go 语言,并且该数字在逐年上升;
  • Go 的使用仍集中在技术公司,但它同时也被用于越来越多的行业,例如金融和媒体;
  • Go 最常见的用途仍然是编写 API/RPC 服务和 CLI 工具;
  • 模块在 Go 生态系统中的使用率很高,与此同时,围绕软件包管理的一些问题仍然存在;
  • 有待改进的重点领域包括 debug、模块和云服务的体验;
  • VS Code 和 GoLand  依然最受开发者欢迎,有 3/4 的受访者都喜欢它们。

有关调查报告的详细内容请继续往下阅读。

开发者背景

调查结果显示,在工作中使用 Go 语言的受访者比例与去年相当,均为 72%,这一数值几乎每年都在增长。在工作之余使用 Go 语言的人数比例则有所下降(70%→62%)。

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

从使用年限上来看,56% 的受访者使用 Go 语言进行开发的经验不足两年,相对来说算是新手。而有着较长时间 Go 开发经验的“老手”,多拥有 C/C++ 背景,对 JavaScript、TypeScript 和 PHP 则相对没有那么熟悉。另外,无论是 Go 的新手还是老手,大多数受访者最熟悉的语言还属 Python。

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

1. 使用 Go 的时长

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

2. 使用其他语言的经验

有意思的是,Go 是一个成功的开源项目,但大多数使用它的受访者却“很少”或“从不”为基于 Go 的开源项目做贡献。不过,随着 Go 社区的扩展,为它做贡献的受访者比例在缓慢上升中。

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

开发领域

在去年的调查中,多数受访者都集中在技术公司(包括软件、互联网等)。今年的受访者则来自更为广泛的开发领域。尤其是金融行业占比显著增加(8%→12%),来自技术行业的相对受访者比重从 52% 下降至 43%。

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

具体来讲,在 Go 的使用方面,最常见的领域是 Web 开发(66%)。在数据库相关领域使用 Go 的受访者数量显著增加,所占比例由去年的 29% 上升至 45%,排位也从第五跃升第二。其他常见领域还包括网络编程(42%)、系统编程(38%)和 DevOps(37%)。

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

Go 的主要用途依然是编写 API/RPC 服务和开发 CLI 应用程序,这两项分别占比 71% 和 62%。其次是库和框架方面,增长量巨大,所占比例从 30% 飙升至 48%。

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

开发环境

与往年一样,绝大多数被调查者表示在 Linux(66%)和 macOS(53%)系统上使用 Go。 这是本调查与 * 调查存在很大差异的一个地方,后者有 45% 的受访者将 Windows 作为主要开发平台,而关于 Go 的调查中,这一数据只占 20%。

另外,受访者中有 38% 的人使用多操作系统应用这门跨平台语言,相较去年(41%)略有下降。

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

开发工具方面,VS Code、GoLand 和 Vim 仍占据编辑器排行榜前三位,并且这三位的使用份额占总数据的 3/4。其中 GoLand 的使用量在 2019 年增长最多(24%→34%),VS Code 的增长速度有所放缓。

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

今年的调查中新增了一个有关内部 Go 文档工具的问题。从总体数据来看,少数受访者(6%)表示所在的公司有运行自己的 Go 文档服务器。但如果仅查看大型组织(至少有 5,000 名员工)的数据,这一比例几乎翻了一番(11%)。

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

云开发

今年的问卷扩展了一些关于云开发的问题,可以看出,选择将 Go 应用部署到云上的开发者越来越多。其中,选择 AWS 的受访者数量(42%)几乎快要追上选择本地部署的受访者数量(44%)。

三大全球云提供商(Amazon Web Services、Google Cloud Platform 和 Microsoft Azure)的采用率均呈上升趋势,且牢牢占据绝大部分市场份额。

在满意度方面,受访者对在三大云提供商上使用 Go 感到总体满意。AWS 和 GCP 分别以 80% 和 78% 占有最高满意度,而 Azure 的满意度较低,为 57%。

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

对 Go 语言的态度

该问卷包含一个“你有多大可能将 Go 推荐给朋友或同事?”的问题,以此来计算净推荐值(Net Promoter Score, NPS)。最终 Go 在 2019 年调查中的净推荐值是 60 分(67% 的倡导者 - 7% 的贬低者),去年的调查中这一分数为 61 分。

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

长期被 Go 使用者诟病的包管理和缺少泛型这两个问题,依然是很多开发者使用 Go 时所面临的最大挑战。今年,提出工具存在问题的受访者比例也有所增加。Go 团队表示这些也是他们重点关注的领域,并表示希望在未来几个月中能够改善开发人员的体验,尤其是在模块、工具和入门经验方面。

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

Go 语言社区氛围

受访者对于 Go 社区的看法与往年相比有较大波动。认为自己在社区中有受到关注的人数比例从 82% 降至 75%。

另一方面,受访者对于这一问题的回应朝着两极分化的方向发展。选择“强烈同意”或“强烈反对”的比例都相对增加。Go 团队计划对此进行进一步研究。

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

以上就是 2019 年度关于 Go 语言调查的大致内容,完整调查报告还请查看 Go 官方博客

阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术圈。”