在当今比较流行的编程语言排行榜中,Go语言一直位居榜首。近年来,Go语言在互联网圈非常流行。抛开国外的谷歌、facebook、AWS等,国内的阿里巴巴、腾讯、百度、抖音、小米、京东、360、网易、新浪、爱奇艺术、bilibili等已经开始使用Go语言大规模开发各种应用程序。我身边很多研发同学都在想,要不要转Go?Go语言的优点是并发性能强大(Go内置了Goroutine协程调度机制,处理并发能力相当强大);开发速度快(这种奇特的语言代码的简洁性接近Python,运行速度堪比C语言);人才缺口大(供需比1:10),导致就业薪资高(3年薪25k+),方向广(移动互联网、数据服务、电子商务、金融、企业服务、游戏、O2O、社交网络、文化娱乐、教育、医疗健康、广告营销等)。Go语言应用领域服务器编程(日志处理、数据打包、虚拟机处理、文件系统)网络编程(Web应用、API应用、下载应用)PaaS云平台领域分布式存储领域(内存数据库)区块链领域容器Go的行业生态比如虚拟化Go相对于PHP的优势是类型安全,因为Go是静态类型语言,而PHP是动态类型语言。这意味着编译器在运行时做了很多工作,以确保你编写的代码能够正确编译和运行。Go优于C++的优点是简单。在Go中,一切都那么简单。总结就是:Go的特点是它与生俱来的速度,无论是写代码还是运行。一般情况下,在不做任何特殊优化的情况下,你可以将Go语言的性能提升5-10倍。同时,Go也是一门简单的语言,易于使用,易于替换现有项目中的微服务。此外,许多IT基础设施工具,如Kubernetes、Docker和Vault(举几个大例子)都是用Go构建的。为了维护这些项目,给这些项目打补丁。这可能是Go的采用率持续增长的另一个原因。这项技术在公共技术设施和部署中使用得越多,Go的发展速度就会越快。那么,要不要考虑改用Go?好了,上面说了这么多,可能要劝退你了。做任何事情,都需要拷问自己的初心。你为什么考虑改用Go语言?Answer可能是:就业(搬砖比较好),或者危机感/焦虑感,想换语言栈。下面一一分析:1)语言重要吗?这很重要!因为语言不仅是语言本身,还是整个生态。比如Java开发就是Java语言+Maven+Spring+Mybatis(国内现状)。另外,你还需要对JVM的工作原理有一个大概的了解。每一项学起来都不难,但要练到熟练、游刃有余就不容易了。至少需要半年的实践。2)但是有多重要?与几十年的职业生涯相比,什么都不是。不管社招校招,所有的招聘人员都乐于让你在工作的同时熟悉语言&框架(当然前提是你的基础扎实,容易掌握)。与您为团队带来的收益相比,这些只是运行成本。随着级别的提高,面试的时候连编程语言的问题都不会问了,因为大家的编码能力默认已经达到了足够的水平。3)如果你只是想尝试另一个语言栈,我们常说,你必须保持核心竞争力。工作多年后,你会花多少时间来扩充自己的知识面?如果你精通PHP、java、go、python、ruby等,那么你其实并没有“拓宽”,只是在语言方面学到了很多同质化的东西。虽然这些编程语言的语法不同,适合做的事情也不同,但实现的价值却不尽相同。差别太大了。当然,我并不是不赞成你会更多的编程语言,你所追求的应该是你工作中最核心的不可替代性。而如果你精通:JS、PHP、MySQL、Nginx,那你就进步了一点点;再上一层楼就是针对特定领域和行业的解决方案,这意味着你有真正的核心竞争力。
