『Go语言』调查了 10,975 位 Go 语言开发者,我们有了这些发现( 四 )


还有一个相关的问题询问了开发人员使用Go的更广泛的领域 。 到目前为止 , 最常见的领域是Web开发(66%) , 其他常见的领域包括数据库(45%)、Web编程(42%)、系统编程(38%)和开发运维任务(37%) 。
『Go语言』调查了 10,975 位 Go 语言开发者,我们有了这些发现
本文插图

『Go语言』调查了 10,975 位 Go 语言开发者,我们有了这些发现
本文插图

除了开发人员构建的产品 , 我们还询问了他们使用的一些开发技术 。 绝大多数开发人员表示 , 他们依赖文本日志进行调试(88%) , 而他们的自由输入答复表明 , 这是因为很难找到有效的代替工具 。 然而 ,本地单步调试(例如使用Delve)、性能分析和使用竞争检测器进行测试的情况并不少见 , 约有50%的开发人员使用了至少一种技术 。
『Go语言』调查了 10,975 位 Go 语言开发者,我们有了这些发现
本文插图

关于软件包管理 , 我们发现绝大多数开发人员均采用了Go模块(89%) 。 对于开发人员来说 , 这是一个巨大的转变 , 似乎整个社区都同时经历了这种转变 。
『Go语言』调查了 10,975 位 Go 语言开发者,我们有了这些发现
本文插图

我们还发现 , 75%的开发人员都为生产使用评估了Go的当前版本 , 其中12%的开发人员都在等待下一个发布周期 。 这表明大多数Go开发人员都在使用(或至少尝试使用)当前或以前的稳定版本 , 这突出表明了平台即服务提供商快速支持Go最新稳定版本的重要性 。
『Go语言』调查了 10,975 位 Go 语言开发者,我们有了这些发现
本文插图

『Go语言』调查了 10,975 位 Go 语言开发者,我们有了这些发现
本文插图

云服务中的Go
Go的设计考虑到了现代分布式计算 , 我们希望继续改善开发人员使用Go构建云服务的体验 。 今年 , 我们还提出了有关云开发的问题 , 目的是更好地了解开发人员与云提供商的合作方式 , 他们对当前开发人员体验的满意程度以及有待改进的地方 。 如前所述 , 2018年的部分结果出现了异常 , 例如拥有自家服务器的组织特别少 , 而GCP部署格外高 。
我们看到两个明显的趋势:
1.全球三大云提供商(亚马逊AWS、Google Cloud Platform和微软Azure)在开发人员中间的使用率均呈上升趋势 , 而每年使用其他提供商的比例都较小 。
2.最常见的两种部署包括:自行部署到公司自家服务器(44% , 继续呈下降趋势) , 与部署到AWS(42%) 。
至于开发人员使用的云平台类型 , 我们可以看到主流提供商之间的差异 。 部署到AWS和Azure的开发人员最常使用VM(分别为65%和51%) , 而部署到GCP的开发人员使用托管Kubernetes平台(GKE , 64%)的比例是VM的两倍(35%) 。 我们还发现 , 部署到AWS的开发人员使用托管无服务器平台(AWS Lambda , 33%)的比例与使用托管Kubernetes平台的比例基本相同(32%) 。 GCP(17%)和Azure(7%)的开发人员使用无服务器平台的比例均较低 , 而根据自由输入表明 , 主要原因是这些平台迟迟无法支持最新的Go运行 。
『Go语言』调查了 10,975 位 Go 语言开发者,我们有了这些发现
本文插图

『Go语言』调查了 10,975 位 Go 语言开发者,我们有了这些发现
本文插图

总体而言 , 大多数开发人员对于这三大主流云提供商上Go的使用感到满意 。 开发人员对于部署到AWS(80%)和GCP(78%)的满意度非常接近 。 Azure的满意度较低(57%) , 主要原因是开发人员认为该平台缺乏对Go的一流支持(25%) 。 此处的“一流支持”指的是始终支持最新的Go版本 , 并确保在发布时Go开发人员可以使用新功能 。 这与使用GCP(14%)时最大的痛点一致 , 而且开发人员特别关注无服务器部署中对最新Go运行时的支持 。 相比之下 , 部署到AWS的开发人员认为SDK的使用有待改进 , 例如更加符合习惯(21%) 。 对于GCP(9%)和Azure(18%)开发人员而言 , SDK的改进也是第二大常见要求 。


推荐阅读