golang和java开发选哪个?为什么?( 三 )


我们实际上必须使用Makefile 。docker-composes和bash脚本自定义构建所需的依赖关系管理 。这只会使CD / CI的过程和稳定性变得复杂 。
Go微服务通常始于容器 。并在本地 。虚拟Linux机器或不同平台上同时终止 。有时 。它会使CD / CI在开发和生产周期中的工作比所需的更为复杂 。
软件包的名称包括托管域名 。例如:
import “github.com/pkg/errors”
这真的很奇怪 。尤其不方便 。因为如果不更改整个项目代码库的导入 。就无法用自己的实现替换某人的实现 。
在Java中 。导入通常以公司名称开头 。例如:
import by.spirascout.public.examples.simple.Helper;
区别在于 。在Go中 。go get将转到by.spirascout.public并尝试获取资源 。在Java中 。程序包和域名不必关联 。
golang和java开发选哪个?
不一定有最佳答案 。在于你希望用他们开发什么项目/产品 。。。。。。
Java是行业标准 。相比之下 。现在使用Go做开发的还是比较少 。基本是些大厂和涉及大数据的项目 。
但是 。我非常喜欢Go 。
我认为最好的办法是环顾四周 。看看每种语言都可以提供哪些工作机会 。
无疑 。你可能不会找到很多Go作业 。但是会找到很多Java 。
其他观点:
我是十年程序猿 。分别用过c 。java 。golang开发业务代码并有丰富的开发经验 。我们先比较下golang和java的特点:
从功能上来讲 。java可以做到的 。golang也可以做到 。golang能实现的 。java也都能实现;
从软件集成角度看 。java发展了这么多年 。一些第三方的工具和类库非常丰富 。golang则有些逊色 。但是最近几年golang发展迅速 。也在迎头赶上 。
从资源使用上来看 。java比较臃肿 。而golang比较轻量 。java程序运行起来动辄1G以上内存 。但是一个golang程序可能只需要100M内存就可以完美的run起来 。golang的资源节省非常的明显 。
从开发成本来看 。java程序员 。一抓一大把 。价格低廉;golang程序员则比较稀缺 。笔者所在公司的hr曾经在智联招聘的后台过滤有golang开发经验的工程师 。只找到30份简历 。

golang和java开发选哪个?为什么?

文章插图
在我看来 。开发语言选哪个 。绝对不是程序员自己想用哪个就用哪个的 。而是要根据业务场景而定的 。如果你做的产品是平台类的 。上面要跑很多微服务 。而且很多微服务是要跑在不同的用户空间里 。那你可能更在意服务的资源消耗 。因为云服务器是花钱的嘛 。在这种业务场景下 。使用golang就比较合适 。因为它更能帮你省资源 。省下来的资源就是利润 。而如果是给甲方做项目 。那基础设施就是甲方提供的 。那在这种情况下 。你就没必要省着用了 。甚至有些甲方爸爸是国企 。还要靠这个申请经费呢 。那在这种情况下 。就可以很安心的用java开发啦 。
以上是我的回答 。望采纳 。有疑问也可以私信给我 。
其他观点:
一个非常好的问题 。Java是当前使用最普遍的编程语言 。Go是冉冉升级的新星 。根据最新2020年4月份的TIOBE编程语言指数排行榜 。排名前三的分别是Java、C、Python 。Go排名在第12位 。
TIOBE编程排行榜根据全球工程师、课程和搜索引擎数量为指数得出 。在一定程度上反映了编程语言的发展趋势 。
golang和java开发选哪个?为什么?

文章插图
一 。编程语言
从编程语言本身来说 。Java首次推出在1995年5月 。Go在2009年11月正式推出 。
1 。Java
两种语言各有特点 。Java经历了20多年 。一直在不断更新推出新版本 。2009年Oracle收购Sun公司后 。Java发展得到了大力支持 。现在使用非常多的Java8发布于2014年 。当前最新版本是Java14 。和早期版本相比 。从Java8开始 。吸收了越来越多的现代化编程语言的优点 。比如lambda表达式 。
2 。Go
Go由Google的三位大神开发 。Robert Griesemer 。Rob Pike 及 Ken Thompson 。是一种静态强类型、编译型语言 。语法与C相近 。功能更丰富:内存安全 。GC(垃圾回收) 。结构形态及并发计算 。在2016年 。Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言” 。
二 。学习难度
1 。Java
Java是一种静态面向对象编程语言 。继承了很多的C++优点 。功能强大、简单易用、跨平台可移植 。具有多线程、分布式等特点 。入门学习不难 。随着项目经验的积累逐步提升进阶 。
2 。Go

推荐阅读