go语言编译器哪个好用 go语言ide开发工具( 二 )



go语言编译器哪个好用 go语言ide开发工具


影响 Go 语言设计的早期编程语言
Go 语言里一些广受开发者喜爱的特性 [10]:
  • 并发性:这是 Go 语言最大的特色,从语言层面支持并发,goroutine 和 channel 可以非常容易的实现安全高并发 。
  • 高性能 Http Server:通过简单的代码调用就可以快速实现基于协程的 Web 服务[11],处理效率远高于 PHP 。
  • 易部署:直接编译成机器码,除了 glibc 没有其他外部依赖 。
  • 易学习:语言设计精简,25 个关键词表达能力强大;因为有 C 语言的基因,所以有 C 语言基础的开发者学习 Go 语言会非常轻松 。
  • 工具链 & 库:完善的工具链(代码分析、依赖管理等)和出色的标准库大大优化了开发者学习和应用的体验 。
Go 发布至今还未正式支持泛型,甚至曾有很多人认为 Go 语言或许永远不会加泛型,但其实关于泛型的推进工作一直在进行,从 2020 年的调研报告来看,泛型是使用 Go 语言的开发者最需要的特性 [12] 。

go语言编译器哪个好用 go语言ide开发工具


2020 年 Go 开发者调研报告:最需要但还缺少的特性
2021 年初 Ian Lance Taylor 正式发布了添加泛型的提案,不出意外会在下一个版本 Go 1.18 中实现 。
# 社区 ## 语言项目社区Go 语言项目在 2009 年开源,项目的 Star 数已达到 9 万 。根据 GitHub 提供的数据 [13],截止 2021 年 10 月 20 日共有 166 人提交了超过 5 万次代码,其中 Go 语言项目成员占比 28.9%,贡献占比 64.9%,Google 员工(非语言项目成员)占比 24.7%,贡献占比 17.83%,贡献趋势如下图:

go语言编译器哪个好用 go语言ide开发工具


Go 语言项目代码提交情况
从代码提交情况来看,大部分贡献来自 Google 内部,近三年来每年的提交人数稳定在 70~80 人 。
参与社区提交 Issue 的用户数量也在持续增长,不过目前开启中的 Issue 仍有超过 7000 个,有近一半为“待调查分类”,可能为无效的 Issue 。

go语言编译器哪个好用 go语言ide开发工具


Go 语言项目 Issue 创建情况
除了语言本身项目,语言的社区其实是更加广义的,使用 Go 语言的开发者有一个可爱的昵称 “Gopher” 。
# “Gophers” 社区在 GolangUK 2015 会议上,Damian Gryski 提到了 “Gophers” 的文化,这是开发者被 Go 吸引进而成为 “Gopher” 的原因 [14] 。“Gophers” 的社区文化:
– Code
– gofmt- if err != nil { … }- go vet- go build -race- golint (CodeReviewComments)- godoc.org/github.com/user/package- go get- limited use of interface{}- Social- Simple is better than complex- Performance matters- Costs are visible
SlashData 在 2021 年初发布的开发者调研显示 Go 开发者人数已超过 200 万,社区人数排行第十 [15] 。

go语言编译器哪个好用 go语言ide开发工具


编程语言社区人数
在官方调研报告中,约半数开发者清楚了解如何给社区贡献,而感到自己的贡献是受欢迎的开发者比例约为 60%,这两个比例都在逐年提升 [12] 。接受调研的开发者其实已经是相对活跃的,主观感受会导致调研结果有误差,但整体来看,仍有越来越多开发者愿意参与到社区贡献中 。

go语言编译器哪个好用 go语言ide开发工具


Go 开发者调研报告 2020:社区满意度
【go语言编译器哪个好用 go语言ide开发工具】活跃于社区的开发者通过邮件、媒体论坛、固定会议等交流 [16],有约 30% 开发者会频繁参与到开源项目中[12],但更多开发者并不会发出声音,他们在实践中使用 Go,也切实的从社区资源中获益 。

推荐阅读