根据现在的局势,在未来5年内,JAVA和go哪个比较好,现在大三了,想确定一个方向?

先说结论,未来五年,Java还是优于Go,可以先看一下两门语言各自的优缺点:

golang

优点:最主要的优势便是简单易学,其表达的能力强大,支持很多的特性包括继承、重载、对象等等,可以在在不依赖其他库的前提下可以直接编译成机器码,而且当前Go已经内置了大量的库,特别是其网络库十分强大,当然,要说它最大的特色还是支持并发,可以使用多核很容易的实现并发

缺点:Go语言没有一个主要的框架,类似Ruby 的 Rails 框架、Python 的 Django 框架或 PHP 的 Laravel,同时在错误处理方面,Go语言通过函数和预期的调用代码简单地返回错误,这种方法虽然有效但却很容易丢失错误发生的范围,此外,Go 语言在软件包管理上不是完美的,默认情况下,它没有办法制定特定版本的依赖库,也无法创建可复写的 builds。

Java

优点:完全的面对对象编程的语言,相比C或者C++,Java去掉了头文件、指针、结构、联合等内容,是语言的复杂度大大降低,其次,Java的运行通过JVM来实现,具有很高的可移植性和跨平台性,其在整个行业具有健壮的生态体系,就拿包管理功能来说,从go vendor到go module,都没有java maven强大

缺点:Java的性能在串行和并发的也无暇都是劣于Go,其次由于Java是跨平台的,无法和操作系统底层打交道。

我们可以再来看一下这两个个语言近两年的热度(这个是使用人数的排行),可以看出Java在前列基本是保持平稳,而golang目前虽有逐渐提升的趋势,但作为新秀语言使用的人数相比仍旧较少。

可以说,就单看使用人数以及单下的就业面来看,Go是难以代替Java的,Java在各个公司已经渗透到了方方面面,即使在某些方面比Go简单,在某些情况运行的速度快于Java,但在面对一些业务复杂的情况,依旧是属于Java的主场。

猜你喜欢

转载自blog.csdn.net/soukenan/article/details/132275492