今天周末想继续发点不那么技术的内容,和大家聊聊天。

和大家聊聊  Go 语言为啥这么香,却不太火,以及目前  Go  可预见性的发展的方向。

一、资源的缺少

我特别羡慕是近些年才开始学 Go 语言的同学,或许你们永远体会不到那种。

在网上百度谷歌想找点资料学习时,发现除了官网就官方的英文文档的感觉。

以及经过一番折腾,终于在某一个不太起眼的网站找到一些中文的教程那种兴奋,就更别提系列教程或者视频了。

虽然现在网上的资源已经不少了,但是毕竟还很年轻,2009 年 11 月 10 日才发布,毕竟距离现在才十来年。

比起 Java(1996 年 1 月 23 日) 和 PHP(1995 年,26 年前) 在这些面前,Go 就像刚上小学的学生。

我相信很少人会有时间和能力可以靠一堆官方文档学成大神,这是事实。

在这种资源短缺的情况下,自然用它的人就会少,队伍很难快速大起来。

二、框架少

虽说现在的 Go 里面以及有不少的可用于商化的框架,比如 Gin、Beego 但是这些框架更加擅长的是单体服务。

在微服务领域虽然已经有了 go-micro ,但是比起 Java 的 Spring 系列还是有很多待完善的地方。

框架的欠缺自然大厂的使用率就不会特别高。

在国内的互联网公司,都有一个特点就是向大厂看齐。

似乎有认知就是,大厂都能用的东西,都能满足他们,自己的公司也一定能满足。

不过这确实也是,大厂毕竟高手云集,有他们在前面踏坑,自己确实能少踩不少坑。

三、领域性特别强

我一直都喜欢「物尽其用」这个词,每种技术都有他擅长的地方。

最开始 Go 出现时,大家都那他和 C++ 比,如今好像都不太拿去比较了。

如果你此时需要开发一套门户网站,你如果用 Go 去开发,我可以告诉你可能会让你写到吐,你会思念 PHP 的日子。

但是如果你做高并发的 API 时,你用 Go 你会发现那叫一个爽,一个关键词就启协程了,没有这么爽的体验了。

于是你会发现,基于 Go 开发的出名的系统大都是用在了 API 或者系统服务方向的,比如 Docker,K8S 等,商业化了的企业里面七牛也是那他做的对象存储的底层。

不是说 Go 不可以做网页做其他领域的,他也是是支持的,只是使用时没那么顺手而已。

就比如你一个石匠,那你石匠的工具去做木工的活,大的东西也不是不能做,只是做起来不爽而已。

我们在学东西的时候,一定要清楚这项技能的特性才能更好的使用它。

四、现在是学习 Go 的时机么?

这个问题其实很难去界定,你能说现在学习 PHP 就落后了么?

应该也不会吧,现在很多二线三线城市依旧还有不少企业在用 PHP。

但是你会发现现如今招聘网站上招聘 Go 相关开发岗位的薪资没往几年高了,是企业觉得不行了么?

其实不是,这就是物以稀为贵的定律。

1、为什么呢?

还记得那会而 iOS 特别火的时候,只要你会写点基础的界面就能轻松找到工作,而且薪资之高。

因为从业人员稀少呀,大家都抢,你不开高工资谁来你这里,哪怕你是大公司,谁也不会和钱过去不去是吧。

但是这些年,随着培训机构的批量生产,自然用人单位也就想好还想好了,你不干别人要干,这么简单。

如此来看,最适合学习 Go 的时机是刚出来没多久时,只要你肯下功夫,能力够,相信已经找打了合适的工作了。

而如今的时间,个人感觉他正处于爆发的前期,目前市场的需求量和供应量还没有出现像 iOS 那样的相差之大。

聪明的人会在社会资源、人脉资源和技术积累上提前布局,默默等机会。

只有韭菜才会喜欢高抛低吸,并乐词不疲。

这就是人和人之间的区别,总不能所有好事都被你一个人都占据了吧。

2、对于 Go 语言目前可预见的方向

微服务中高级方向、云原生开发方向、偏底层、偏算法基础中间件等。

但这些领域始终有技术门槛,不是随随便便且不下功夫就能学得会的。

请始终相信,你觉得简单的东西,别人也会觉得简单,你觉得难的东西,别人也觉得难。

后者是可以下功夫而解决的,但是很少人会这么做。