为什么许多原本的 Java 项目都试图用 go 进行重写开源?

Python014

为什么许多原本的 Java 项目都试图用 go 进行重写开源?,第1张

项目推倒重构是项目开发大忌,一方面我们要尽量避免做项目推倒重构,尽量在前期就规划好,另一方面,我们又希望项目能常做小重构,这对项目可持续性开发是很有帮助的。而语言的重构,把Java项目用Go语言重写一遍,无疑是一次重大的推倒重来。

一、Go语言的优势在哪里

Go语言领先于Java的最大优势,就在于快。Go语言会被编译成机器代码,直接执行;Java语言则使用JVM运行其代码,这比Go语言要慢了很多。另外,Java语言的内存管理,相比于Go语言,也复杂得多,而内存管理,不管对于程序运行,还是对程序员的开发,都极为重要。最后,Go语言没有引用只有指针,这比Java语言处处引用,又领先了一个身位。

二、Go语言为什么更适合开源

开源,也就是开放源代码,最大的好处在于,可以利用全世界的程序员资源,来帮助你完善你的产品,开发新需求,或者修复产品BUG。这对产品的可持续发展,是非常有帮助的,很多企业纷纷将自己的产品开源,其实就是这个道理。而Go语言更易学,更易避错,更易阅读等特点,就决定了它更适合用来做开源项目。

三、Java语言的优势

Java语言是目前软件开发中使用率最广泛,也是最重要的程序之一,它的地位,绝对不是目前Go语言可以比拟的。Java在WEB应用的开发中,有着很重要的地位。但是,Java语言相对复杂的并发设计,相当庞大的项目体系,使其在开发、测试阶段都略为复杂,在某些方面已经逐步落后于其他语言。

困难肯定是有的。但你如果确定要转了,就要对得起自己的决定。虽然困难,也要勇往直前。

知乎用户枫泪也有和你类似的经历。他认为golang无论是从语法还是到性能,真的是比java好太多了,java现在就是生态比较好,但是云服务这块go有天然优势,无论是阿里,华为,腾讯,百度这些大厂,都不断加强go语言的使用比重。go语言相对于java内存消耗少的多,也就是对于服务器方面,使用go语言可以赤裸裸的省钱。