Go 官方博客昨日公布了[ 2019 年 Go 语言调查报告]。本次调查收到的回复达到 10,975 份,约为去年的两倍。 这些受访者的反馈意见将被选取用于改进 Go 语言的发展。golang
如下是 2019 年度的调查报告摘要:数据库
有关调查报告的详细内容请继续往下阅读。编程
调查结果显示,在工做中使用 Go 语言的受访者比例与去年至关,均为 72%,这一数值几乎每一年都在增加。在工做之余使用 Go 语言的人数比例则有所降低(70%→62%)。服务器
从使用年限上来看,56% 的受访者使用 Go 语言进行开发的经验不足两年,相对来讲算是新手。而有着较长时间 Go 开发经验的“老手”,多拥有 C/C++ 背景,对 JavaScript、TypeScript 和 PHP 则相对没有那么熟悉。另外,不管是 Go 的新手老手,大多数受访者最熟悉的语言还属 Python。网络
▲ 使用 Go 的时长框架
▲ 使用其余语言的经验编辑器
有意思的是,Go 是一个成功的开源项目,但大多数使用它的受访者却“不多”或“从不”为基于 Go 的开源项目作贡献。不过,随着 Go 社区的扩展,为它作贡献的受访者比例在缓慢上升中。工具
在去年的调查中,多数受访者都集中在技术公司(包括软件、互联网等)。今年的受访者则来自更为普遍的开发领域。尤为是金融行业占比显著增长(8%→12%),来自技术行业的相对受访者比重从 52% 降低至 43%。开发工具
具体来说,在 Go 的使用方面,最多见的领域是 Web 开发(66%)。在数据库相关领域使用 Go 的受访者数量显著增长,所占比例由去年的 29% 上升至 45%,排位也从第五跃升第二。其余常见领域还包括网络编程(42%)、系统编程(38%)和 DevOps(37%)。操作系统
Go 的主要用途依然是编写 API/RPC 服务和开发 CLI 应用程序,这两项分别占比 71% 和 62%。其次是库和框架方面,增加量巨大,所占比例从 30% 飙升至 48%。
与往年同样,绝大多数被调查者表示在 Linux(66%)和 macOS(53%)系统上使用 Go。 这是本调查与 StackOverflow 调查存在很大差别的一个地方,后者有 45% 的受访者将 Windows 做为主要开发平台,而关于 Go 的调查中,这一数据只占 20%。
另外,受访者中有 38% 的人使用多操做系统应用这门跨平台语言,相较去年(41%)略有降低。
开发工具方面,VS Code、GoLand 和 Vim 仍占据编辑器排行榜前三位,而且这三位的使用份额占总数据的 3/4。其中 GoLand 的使用量在 2019 年增加最多(24%→34%),VS Code 的增加速度有所放缓。
今年的调查中新增了一个有关内部 Go 文档工具的问题。从整体数据来看,少数受访者(6%)表示所在的公司有运行本身的 Go 文档服务器。但若是仅查看大型组织(至少有 5,000 名员工)的数据,这一比例几乎翻了一番(11%)。
今年的问卷扩展了一些关于云开发的问题,能够看出,选择将 Go 应用部署到云上的开发者愈来愈多。其中,选择 AWS 的受访者数量(42%)几乎快要追上选择本地部署的受访者数量(44%)。
三大全球云提供商(Amazon Web Services、Google Cloud Platform 和 Microsoft Azure)的采用率均呈上升趋势,且紧紧占据绝大部分市场份额。
在满意度方面,受访者对在三大云提供商上使用 Go 感到整体满意。AWS 和 GCP 分别以 80% 和 78% 占有最高满意度,而 Azure 的满意度较低,为 57%。
该问卷包含一个“你有多大可能将 Go 推荐给朋友或同事?”的问题,以此来计算净推荐值(Net Promoter Score, NPS)。最终 Go 在 2019 年调查中的净推荐值是 60 分(67% 的倡导者 - 7% 的贬低者),去年的调查中这一分数为 61 分。
长期被 Go 使用者诟病的包管理和缺乏泛型这两个问题,依然是不少开发者使用 Go 时所面临的最大挑战。今年,提出工具存在问题的受访者比例也有所增长。Go 团队表示这些也是他们重点关注的领域,并表示但愿在将来几个月中可以改善开发人员的体验,尤为是在模块、工具和入门经验方面。
受访者对于 Go 社区的见解与往年相比有较大波动。认为本身在社区中有受到关注的人数比例从 82% 降至 75%。
另外一方面,受访者对于这一问题的回应朝着两极分化的方向发展。选择“强烈赞成”或“强烈反对”的比例都相对增长。Go 团队计划对此进行进一步研究。