Java与go哪个更适合后端开发呢?哪个更适合新手呢?

网友解答: 谢谢邀请!Java语言目前在后端开发领域有广泛的应用,尤其是大型互联网平台往往选择Java作为主要的后端编程语言。同时,Java自身的生态比较健全,也有大量的成功案例,所以采

网友解答:

谢谢邀请!

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和Go都适合做后台开发,给你说明当前形势,你自己做选择。

第三方库,Java的第三方库数量非常庞大,任何业务场景需求都能满足;Go的第三方库远远比不上Java,但增长速度飞快,未来一定会有一个完整的生态环境的。

学习及上手,相对大部分其他语言,Java还是比较偏底层的,文件IO和网络开发都会涉及IO流,面向对象也是偏底层原理,知识点还是比较多的;Go结合了C语言和python语言的特点,其语法有静态和动态语言的身影,但Go是静态语言,已经掌握其他语言的同学需要适应,但对新手来说无所谓,相比Java,Go语言对偏底层的程序设计做了更高级的封装,用起来更方便,这一点跟python的编程思维一致,Go从诞生之初就定位系统开发级语言,v1.5之前内核是C编写,经过Google大神的特别优化,其运行速度媲美C语言了,比Java快得不止多少倍了(当然Java也已经很快了),v1.5以后的Go内核又Go来编写,Go程序可以自编译为机器码,这跟其他语言程序需要借助C编译为机器码不一样,这是要在某些领域取代C的节奏。

应用场景,Java和Go在一些场景是重复的,其他语言何尝不是呢,尤其是web服务端开发,个人认为Java的生态更成熟的多,不是一般的成熟,是非常成熟;Go可以做web,但更适合做有高并发需求的系统,Go语言最显著的特征就是语言级别的支持协程,用Go做线程通信实在太容易了,所以近几年国内外许多科技企业用Go重写了自己的后台系统,就是看中了Go语言超强的性能

新手学习,对于真正的新手,建议先结合计算机科学和操作系统学一学C吧,计算机基础很重要,要不然以后你会听不懂看不懂很多东西;对于半路转型的开发者,如果你已经会Java或C++了,Go绝对是值得学的;对于从动态语言转来的开发者,别怪我说话直,这类的开发者,对面向对象设计的了解只是皮毛而已,没错,虽然已经够用了,但只能做做应用级的开发,做系统级开发还是不行滴,这类开发者需要先认真学习Java或C++,就算你不学,直接学习Go也是可以的,Go语言做了更高级的封装,也没有了我们常见的接口等面向对象的设计思维,Go语言开创了另一种思维,但孰好孰坏还不好说,从原有编程思想角度看待新思想或许少走一些弯路

个人观点,欢迎指正

标签: