第一 java的内存强调预分配,oom往往只是设置的最大值小了
第二 大数据大的核心是分布式的存储和计算,内存占的少还分布个p,不符合大数据场景
第三 大数据是比较重量的,使用手感很重要,灵活而严谨的语法和类型系统非常重要,范型,函数式,并行是基本需求,丰富的数据结构和生态环境缺一不可,灵活的错误处理机制可以大大减少使用成本
go的语言设计上就是和大数据需求冲突的
一个协程出错带崩整个进程,抽象只能靠object和反射,多返回值没法级联调用,函数只能括号套括号,数据结构只有map和动态数组,错误机制只是一个官方定义的接口的语言
虽然不是不能做,但是现在大数据开发的话,明显稍显蹩脚,大数据使用的话,是不是会用sql就完事了
至于基础建设,有docker,tidb,还要啥自行车
有没有好的包管理,对生态非常重要,因为引用的成本就不一样,大数据是一个综合性非常强的领域,生态一定要丰富,go现在的应用相对偏低层和微服务,原因就web处理是go原生自带的,而底层工具对第三方要求的也少,而go在组件层面的生态也就到此为止了,如果go完全满足了大数据开发的需求,那它在复杂度上和java也不会有太多区别,也就失去了go本身上手容易开发快的优势了