Java与go哪个更适合新手,零基础学哪个好?
Java语言目前在后端开发领域有广泛的应用,尤其是大型互联网平台往往选择Java作为主要的后端编程语言。同时,Java自身的生态比较健全,也有大量的成功案例,所以采用Java做后端编程语言是一个风险比较小的选择。
Go语言是一个非常新的编程语言,是Google在2009年才正式发布的编程语言,Go语言强调运行性能和开发效率,在多处理器环境下Go语言有设计上的优势。目前随着大数据的发展,Go语言得到了更多的重视,很多大数据开发人员开始尝试使用Go语言做大型的并发式服务。
可以说大数据时代给了Go语言一个非常好的发展契机,在大数据时代背景下,Go语言是否能够复制当年Java在互联网时代背景下的发展速度还有待观察,但是目前,Go语言毫无疑问已经是一个不容忽视的编程语言了。
从目前的应用来看,Go语言还远没有达到普及的程度,目前Google公司也对Go语言的使用非常谨慎,当然这可能是一个积累的过程,某一天Go语言全面爆发也不是没有可能,因为Go语言是一个可以做落地应用的编程语言。但是目前,Go语言与Java语言在实际项目的使用上还存在着巨大的差距。
对于新手而言,学习Java是一个比较稳妥的选择,一方面Java的应用比较普遍,而且按照目前的发展情况来看,未来Java的应用空间依然非常大。另一方面Go语言并不是为初学者准备的编程语言,Go语言在很多概念的理解上还是需要一定基础的,如果有java基础再学习Go语言会更加容易一些。
如果市场上有个调查,我相信 Go 程序员的平均薪资是能高出 Java 一节的.
第一, Java 不管是大小厂都在用,低级 java 数不胜数,工资也入门级的,这些金字塔低端的人拉低了 java 的平均薪资.
第二,Go 主要是大厂在用,小厂不敢冒险跟一种新技术(除非有强力 CTO 坐镇),而且 Go 基本上没有新手可言, Go 的使用者绝大部分集中在多年后端经验的老鸟,大部分由 Python、c++、java 转过来的,因此平均薪资极高,能跟 Scala、Erlang 媲美的高薪一族(注意这俩高薪也是跟 Golang 一个情况,多年 java、c++转的).
说到这里清楚了吗?
薪资一定是 Golang 高,然而对于题主而言,你除非水平极高,不然一个在校学生估计被老鸟秒成渣, java、php 起码岗位多,能养活菜鸟,Scala、Erlang、Golang 这种高薪语言不养菜鸟的.
还有一点,题主搞错了,不是你会一门 Golang 很有竞争力,而是转向 Golang 的那些后端老鸟本身就很有竞争力, Golang 语法简单地要死,老鸟尤其是 c++的转 Go 半个月都用不了,上手看着文档就直接干了,真以为 Go的语言会是你产生竞争力的原因?哪个职业程序员搞他半个多月写不了 Go? 但是你让那些金字塔低端的程序员去写 Go 会有用吗? Go是为高并发而生的语言,号称云计算时代的 c 语言,大量得被用在c++与 java 之间的中间地带,既没有 c++靠近底层也没有 java 靠近业务,更多的扮演的是消息缓存中间件、服务发现、服务代理、控制系统等功能,连个业务代码都写不好的菜鸡写这些东西是来坑爹的.
所以,请问题主如何学习用 Golang 开发中间件?如何开发服务代理?如何处理高并发的业务场景,如何保证高可用...兄弟你知道去哪学么?
根本没得学, Go 那些老鸟们也不用学这个,他们早在开发 c++、java 的时候就处理过这些问题,然后发现 Go 比 c++、java 更适合处理这些问题,然后就用 Go 开发了,而不是一个新手觉得 golang 高薪学了这门语言,然后其他的那些服务端知识自己就顺带学会了,你没有这种经验是学不会的,最后只会用 Go 写几行业务代码而已...
学习不要走马观花的学,每个知识重点大纲,就是学习路线都是根据每一天市场上多数公司用到的新技术整理,在学习的时候还需要结合练习题来做这里的话我也将我之前在学习过程中用到的一些学习资料整理成了文档,以及我自身之前的一个面试文案和知识点补充,有需要的朋友可以加我的QQ群697888503,这里也希望大家最终都能够学有所成,学习编程不是一天两天的功夫,勤能补拙才是硬道理,祝大家最终都能成为一名合适开发攻城狮。