Go 语言今年 11 岁,何去何从,现状到底如何?
source link: http://developer.51cto.com/art/202011/631752.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
不说不知道,一说下一跳。Go 语言已经开源 11 周年了,感觉是一路高歌,Release History (polarisxu 整理)如下:
2011 年 3 月 16 日,Go 语言的第一个稳定版本 r56 发布;
2012 年 3 月 28 日,Go 语言的第一个正式版本 Go1 发布,并承诺 1.x 的 兼容性;
2013 年 5 月 13 日,Go1.1 正式版才发布。
2013 年 12 月 1 日,Go1.2 正式发布;
2014 年 6 月 18 日,Go1.3 正式发布;
2014 年 12 月 10 日,Go1.4 正式发布;
2015 年 8 月 19 日,Go1.5 正式发布。该版本实现了自举,即移除了 C 代码,使用 Go 开发 Go 语言;
2016 年 2 月 17 日,Go1.6 正式发布;
2016 年 8 月 15 日,Go1.7 正式发布;引入 context 包;
2017 年 2 月 17 日,Go1.8 正式发布;
2017 年 8 月 24 日,Go1.9 正式发布;引入别名;
2018 年 2 月 16 日,Go1.10 正式发布;
2018 年 8 月 25 日,Go1.11 正式发布。开始强势支持 Go modules;
2019 年 3 月 1 日,Go1.12 正式发布;
2019 年 9 月 3 日,Go1.13 正式发布;
2020 年 2 月 25 日,Go1.14 正式发布;goroutine 支持异步抢占调度;
2020 年 8 月 11 日,Go1.15 正式发布;
2021 年 2 月,预计 Go1.16 正式发布;将包含新的文件系统接口和支持在构建时的静态文件嵌入,链接器的重写,Go modules 默认开启且正式对 Apple Silicon(GOARCH=arm64)Mac 进行支持。
目视现在
现在的 Go 语言在国内已经掀起了一浪又一浪的热潮,炒的非常火热。各大平台极客时间、拉勾教育、掘金小册、慕课网等纷纷出现了大量 Go 语言相关的付费专栏/视频。
在现实工作层面,字节跳动、腾讯向 Go 语言侧偏,以及其它各大一二线厂均出现了不少 Go 的岗位,也正预示着当前已经到了一个比较好风口。
在开源项目层面,Kubernetes、Etcd、Prometheus、Docker 等大量的云原生相关组件均以 Go 语言开发,懂一门 Go 语言,排查问题也更方便了。
与企业开发层面,出现了大量其他语言的开发者向 Go 语言转型,在企业的软件开发中出现,新项目用 Go 语言,老项目保留,形成同时维护新老系统,再渐迁的绞杀者模式:
绞杀者模式
在面试中比较常见的是 PHP、C++ 语言,就会在企业中形成了 Go+PHP(新+老系统)的局面,又或是 Go 调 CGO 的运行模式。这也得益于 Go 语言的易用性和一定的胶水特性。
在培训机构层面,各大机构都多少曾经向 Go 语言发起过进攻,但目前 Go 语言大多以中高级人才为主,也就是有过其他语言经验的软件开发从业者为主。因此培训机构的市场行情相对较差。
在社会招聘和岗位层面,狭义上来看,与 2018 年我写的 《带你了解一下Golang的市场行情》基本情况仍保持一致:
2018 年市场行情分析
以下为 GoCN 所收集的 “2020 中国Go 开发者调查报告” 的地域分布:
2020 中国Go 开发者调查报告
Go 语言的大热门地区依然是:北京、上海、深圳,主体集中在一线城市,机会这里最多。
看看数据:TIOBE
从 TIOBE 的编程语言排行榜来看,整体上 Go 语言的热门程度并不会特别高(与老牌语言相比),但作为一门编程语言在短短 11 年内已有很不错的表现:
TIOBE 排行榜
同时业内时常说 Go 语言要干掉 PHP、C++、Java 等,目前来看短期内不现实,官方也没有这方面打算,因为合适的场景选择合适的语言就好了。
TIOBE 提示本月的排名在第 13 名,且最高排名出现在 2020 年 5 月,在第 10 名,近期基本稳定在这个位数附近,至少近年是干不掉老大哥们的。
展望未来
Go1 目前一如既往的遵守了 Go1 兼容性承诺,这给不少正在使用 Go 语言的企业带来了一注强心针。但给 Go 语言也带来了一些 “麻烦”。那就是存在破坏性变更的变动无法在 Go1 中实现。
因此为了解决一些 ”问题“,也想达到更好的特性目标。2018 年时释出了 Go2 的计划,详细可参见Go 2, here we come!,其中包含了大量的功能特性。
从目前的基本论调和实际情况来看,可兼容实现的,都会在 Go1 实现,例如大家最期待的功能之一 ”泛型“,预计最早会在 Go1.17 会释出,样例:
// Print prints the elements of any slice.// Print has a type parameter T and has a single (non-type)// parameter s which is a slice of that type parameter.func Print[T any](s []T) { // same as above}
其在 6 月下旬发布了最新的设计草稿,若对泛型有更进一步需求可关注 design/go2draft-type-parameters,而一些不兼容的修改,若确切评估后无法直接实现的,将会到 Go2 的 计划中去:
Milestones
相信 Go2 发布时,肯定也不是 go run xxx 了,估计会变更命令集,以示区分。
总结
11 岁,Go 语言目前在国内已经火起来了,最近接触的一个运营大佬称 Go 语言为 “准备霸占未来语言半壁江山” 的语言。还在观望的读者可以考虑下手,吃一波红利。
但现阶段的 ”成功“ 并不代表后续一定持续强劲,背后离不开所有开发者在社区开源的努力。
TIOBE Index
我们一起思考两个问题:
你为什么喜欢 Go 语言?他有什么短板?
如果 Go 语言想继续占领更多的市场,需要在什么领域发力?
你的答案是什么?在评论区告诉大家吧!
Recommend
-
40
来源:天文茶餐厅双子座流星雨几乎是每年最强烈最稳定的流星雨(可能没有之一)。通常,它的ZHR值都能达到100+。ZHR值是“天顶每时出现率”(zenithalhourlyrate)的缩写,指在一个完全晴朗、黑暗的地方、目视极限星等6.5等(
-
7
炎忍的博客updateConfiguration 弃用之后更换语言应该何去何从发表于2020-05-09|更新于2020-11-18|编程字数总计...
-
0
1、你认为今天是:A、艳阳天B、熊出没2、你认为今年是:A、大牛市B、大熊市3、看图,你认为今年最好的入市点是:A、1月4日B、2月18日C、3月25日(欢迎大家到评论...
-
3
随着10月20日的预售开始,今年双11的战斗已经提前打响了。昨天和几个参与过各大平台双11整合营销活动的朋友进行了一些讨论,以及我自己这几年的观察和...
-
10
2022年中国翻译及语言服务市场现状及发展趋势分析 多元化发展趋势凸显
-
5
今年找工作到底有多难? – Android开发中文站 Android开发中文站
-
2
广告人现状:去年找合作,今年找工作 首发:
-
4
发哥旗舰芯片今年到底站起来没?实测给你说明白
-
2
传腾讯游戏XR团队调整,XR市场今年到底有多难? 2023-02-17 •
-
2
V2EX › 程序员 OSDT2022 分享: 凹语言项目起源及现状
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK