|
|
开发四年只会写业务代码,分布式高并发都不会还做程序员? >>> Go 官方博客今天公布了 2018 年 Go 语言调查报告。参与本次调查的 5883 名受访者来自 103 个不同的国家,官方表示,这些受访者的反馈意见将被选取用于改进 Go 语言的发展。
; |) z* ^) {8 O9 Q9 D, f知道大家都很忙,先直接看一下调查报告摘要:
$ ~6 K( J7 ?- h/ B- B: r P4 H1 J8 P5 ]
- 首次有一半的受访者表示 Go 是他们日常使用的编程语言之一。此外,在工作中用到 Go 语言以及在工作之余使用 Go 语言的受访者人数也显著增加。1 K$ u- a# I6 ~9 U7 g M
- Go 最常见的用途仍然是编写 API/RPC 服务和 CLI 工具。虽然用于自动化任务领域不像前两者那么常见,但也处于快速发展阶段。
% v8 \2 C5 B( t - Web 开发仍然是受访者最普遍的工作领域。与此同时, DevOps 保持着年度最高的同比增长率,整体比例仅次于 Web 开发。) K( W3 G" k% W: z
- 绝大多数受访者表示 Go 是他们最喜爱的编程语言,尽管熟练度不如其他语言高。% s; f* ~6 ~" \+ Y" ]) [
- VS Code 和 GoLand 越来越受开发者欢迎,两者都是他们最喜爱的编辑器。& u4 f8 M! a4 T9 V
- 许多 Go 开发者的主力开发系统不止一个 —— Linux 和 macOS 尤其受欢迎。大多数受访者表示使用这两者之一或全部来编写 Go 代码。
7 [/ Y6 \5 d2 w4 n9 l4 Z - 受访者正在逐渐放弃在将 Go 应用程序部署到本地,转而选择容器和无服务器(serverless)的云部署。. I- s7 l4 G- K- b
- 大多数受访者对 Go 社区的氛围评价是友好,而且绝大部分改进 Go 社区的想法都是给新手提供更好的入门体验。
# Y0 y, u9 S) W 调查报告的内容摘要如上,相关的具体数据以及细节请继续阅读(比较对象是 2016 和 2017 的调查数据)。
( z) G; ], R3 [ Y6 J/ F开发背景2 q/ a, x" j# r; A, o
! y3 V( F1 A7 `2 o) |
本次的调查结果显示,在工作用 Go 语言开发的受访者人数显著增加(68%→72%),此外在工作之余使用 Go 语言的受访者人数也在不断增加(64%→70%)。将 Go 作为日常使用的编程语言之一的受访者数量比例更是首次达到 50%(2016 年为 44%)。通过这些数据我们不难发现,越来越多的公司开始接受使用 Go 进行核心业务开发,而且 Go 语言在开发者群体中也饱受欢迎。
+ D) k; a, ^0 w: N 0 e0 c; P# e) L1 `5 T+ ^9 m
( i4 y6 f' k2 _( f
▲使用 Go 语言的场景: R9 Z6 U' k: t! p$ k' h( }! ^8 d

) E/ J5 e3 l, D; L, K% ~" s$ s& ~% r$ J8 p/ q
▲使用 Go 语言的频率8 ?5 t& Y t! P$ [/ d) _6 B

1 C. a; q9 E* ]7 x8 v% n0 S
) f& O* Z- C+ T: v2 i1 E4 Z3 q8 ]▲使用 Go 语言的时长
! G9 c3 [6 U8 g9 L( n* [4 O, F可以看到,受访者普遍都有 2 年以上的 Go 开发经验,且这个比例每年都保持增长,而 Go 新手的比例也在逐年下降(这里新手的定义为使用 Go 语言的时间是 12 个月以内)。所以这就间接表明在入门 Go 语言后,大多数开发者不会选择放弃。" }: O: @0 ^4 ]2 ?
开发领域
3 I- C/ [2 o2 W8 g/ T/ X7 i: [5 K' T, [# Z% ]9 r
调查结果显示,绝大多数受访者(72%)在 2-5 个不同的开发领域工作。而 Web 开发是最常见的领域,高达 65%,占据主导地位。DevOps 的比例也从 36% 增加到 41%,位居第二名。而系统编程则以 39% 的比例次于 DevOps。
" [* ~* E- \& K% m3 i! p
c$ j. p3 R% @; N. F. l5 F1 Z+ z5 S1 e; [, V
▲受访者的工作领域自 2016 年以来,Go 的主要用途都是编写 API/RPC 服务和开发 CLI 应用程序。虽然 CLI 的比例在三年内一直稳定保持在 63%,但 API/RPC 已从 2016 年的 60% 增加到 2017 年的 65%,再到今天的 73%。在这些领域,Go 都发挥着自己的核心优势,这恰好也是云原生应用程序开发的核心。另一个同比增长的趋势表明,自动化任务也是 Go 在发力的一个领域,38% 的受访者使用 Go 编写脚本和自动化任务(2016 年的比例为 31%)。
D/ y) c4 \" j5 T6 l
! g3 Q" V7 _( A9 O, a2 I0 M4 ` h# s8 w/ s
▲受访者使用 Go 语言的具体领域对 Go 语言的态度
( D. r) y9 w0 y9 d0 y7 c: `
1 L2 g2 Y6 _4 H' n8 y) K% E1 `! e0 Z本次调查增加了一个“你有多大可能将 Go 推荐给朋友或同事?”的问题,以此来计算净推荐值(Net Promoter Score, NPS)。最终 Go 在 2018 年调查中的净推荐值是 61 分(68% 的倡导者 - 7% 的贬低者)。
/ j) ^# t* L# F$ a/ r9 [' l
' D4 `8 X% B; b9 X' y( ^7 j6 @' E! h, Q% t. @
▲Go 的 NPS 分布情况除 NPS 之外,调查还包括其他几个关于开发者对 Go 满意度的问题。总体而言,受访者表示满意度很高,与前几年结果一致。大多数人表示他们对 Go 感到满意(89%),愿意将 Go 用于他们的下一个项目(85%),并且认为 Go 对团队有很大的价值(66%),同时也有不少人认为 Go 对公司的成功至关重要(44%)。/ h) j* o F4 W0 Z1 g! Q6 a+ B3 J
另外,报告显示长期被 Go 使用者诟病的包管理和缺少泛型这两个问题,依然是很多开发者使用 Go 时所面临的最大挑战。
6 S, b- _5 j3 E8 ~! v3 K开发环境) k$ S v0 M7 M$ h
- j$ T3 f& ~3 ^, |7 f问到受访者在哪个平台进行 Go 开发时,大多数受访者表示使用 Linux(65%),50% 表示使用 macOS,18% 使用 Windows,与去年结果基本一致,Linux 和 macOS 仍然是主导地位。总体而言,41% 的受访者使用多操作系统进行 Go 开发,这也体现了 Go 的跨平台特性。, I. L: n# R3 R) S' `
8 S: L }8 T/ y7 u8 c$ Z
! \8 l" X# Y. A8 J# S5 R) s8 Y
▲进行 Go 开发的平台开发工具方面,VS Code 和 GoLand 分别在最受喜爱的 Go 编辑器排行榜上占据第一、二名,Vim 排名第三。对于编辑器最期待的功能是改进对调试的支持,包括实时调试和集成调试等,此外就是代码的自动补全可以更智能。其他的需求包括与 Go CLI 工具链更好的集成,对模块/包提供更好的支持,以及性能方面的改进。
8 K" `5 F5 C) A! X
N( P- Z4 P9 A1 x8 d
. m% s8 I" Z: E" O1 X, C% s! P▲最喜爱的 Go 编辑器部署和服务' c. L& y8 K! S) e9 {! `0 u8 s/ P2 @
5 |- n9 ?" P9 k$ S3 ?( A& U: |
2018 年,将 Go 应用程序部署到本地服务器的受访者比例从 43% 降至 32%,越来越多开发者选择将 Go 应用部署到云上,无服务器和容器也正在变成越来越流行的部署平台。4 v! @1 D7 w' z

1 u) m# G" |8 f" O0 w3 I) X) w4 U2 W2 |4 N9 ?& U% U/ Y) D
▲部署 Go 应用的平台Go 语言社区氛围# W% |3 C' H1 H+ t8 J3 Z% q
; c0 x0 Y8 N0 [2 O3 H维护社区的健康对开源项目的发展非常重要,所以在过去三年里 Go 团队一直在关注开发者在 Go 社区是否有得到足够的到关注和尊重。本次的调查结果显示,“我在 Go 社区中有被关注的感觉”这一说法的比例,从 66% 下降到了 59%。主要是 Go 新手得不到足够的回应,从而对社区产生了疏远感。被问到如何改进此问题时,官方整理的受访者回答大致可分为:3 h' \3 b% K2 c8 [! n9 M; D5 G
! B3 k# T- t+ G* {' l- 老手不应有过分的优越感,特别是面对 Go 新手时(例如不要表现出“不屑一顾”、和“放下防备心和傲慢的态度”)4 }2 R( v' O9 |* G# U9 q" s2 F2 \
- 加大领导层的透明度(例如“公开讨论未来方向和规划”、“减少自上而下的领导”、“更民主”)3 k0 e+ s+ ^" Y3 i( C9 F4 G
- 增加更多的介绍性资源(例如“面向贡献者提供更明确的介绍”、“最佳实践的有趣挑战”)4 w8 \( |9 a* T& \0 k% E
- 举办更多活动和聚会,重点是覆盖更广的地理区域
& u; Z' z7 ~ o8 j( c. {

# J. T0 I* h+ b, k: N0 w7 v/ ^& g
( R' T. ~6 g' F9 P g$ ]▲我在 Go 社区中是否有被关注的感觉最后* I, @7 [- q G$ ^ Z
$ L! e5 F0 x6 |$ |对 Go 语言 2018 调查报告的介绍到此为止,不知各位对 Go 语言的使用体验如何,有怎样的改进建议?不妨在留言区和我们分享一波~
+ @ ]3 y7 b4 _) E _5 s6 e. F. {2 V) h) D" i; o4 s2 g. {6 c
来源:http://www.yidianzixun.com/article/0Lc8PV3N
$ F- ~4 `2 Z% @' U- O1 j免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|