golang 何时干掉 Java

2018-06-23 23:04:32 +08:00
 xypcn

用 java 超过 10 年,golang2 年,就这两年的心得来看,golang 应该是能把 java 干死的。 但从招聘反馈的信息来看,java 的高薪资岗位明显多于 golang. 只怪 java 的沉淀太多,有很多事情 golang 可以替代的,golang 的实施成本要低很多,用 golang 的感觉也很舒服,但工作上因放弃 java 吃了大亏

36672 次点击
所在节点    程序员
153 条回复
lihongjie0209
2018-06-24 10:48:13 +08:00
@blless #79 说到包管理我想到了 npm
Cbdy
2018-06-24 10:48:37 +08:00
我就想问问,写 go 项目,是不是要把用到的库源码 copy 下来? go 有模块化系统这个设计吗?
ZSeptember
2018-06-24 11:29:12 +08:00
曾经我也是这么想的,做了一些项目以后,发现还是不可能的。
golang 要做一些复杂点的业务太繁琐了,不过做一些微服务还是可以,但还是要写很多模版代码,只能用代码生成技术。
个人的想法是自己的项目用 Go,公司的还是用 Java 吧。
CFO
2018-06-24 11:39:38 +08:00
@miketeam 自己无知 代码写的烂怪语言咯?
xuhp
2018-06-24 11:44:06 +08:00
java 还能再苟十年
wangxiaoaer
2018-06-24 11:44:59 +08:00
@blless #79 快速故障定位,java 配合 ide 没觉得哪里痛。
import 这种仁者见仁吧,我认为是可以集成到版本控制中的,当然这个不算痛点,格式化同理。
说到依赖管理,非开源项目怎么提供直接可用的 go 包?
语法而言,写起来简直回到了蛮荒时代。map[string]interface{} 真的好看?


----------------------
王垠批评 golang 的那篇文章,我觉得挺中肯。
wwqgtxx
2018-06-24 11:47:01 +08:00
@miketeam 说 ij 写代码还不好用的,还是回去老老实实的读读 help 文档吧,好吃只会骑自行车的说飞机功能弱爆了
cocode
2018-06-24 11:54:43 +08:00
怎么还有天天闹着要干掉 xxx 语言的啊,Java 是害你工作丢了么还是咋滴。。。
breeswish
2018-06-24 12:01:42 +08:00
哈哈楼主竟然是为了「就不会有读什么源码,jvm 优化了」而想让 java 被 golang 干掉。那么 golang 的 gc 了解一下? golang channel 怎么实现的? goroutine 泄露了解一下? golang ffi cost 太大怎么办?换个语言照样有一堆你不知道的问题。
tedzhou1221
2018-06-24 12:04:29 +08:00
作为个人的吐槽还可以
我现在要靠 java 吃饭,所以我很喜欢 JAVA
woncode
2018-06-24 12:17:09 +08:00
我觉得说 Java 繁琐、历史包袱大的,怕不是还停留在五六年前吧。
用过 spring boot、spring cloud、spring data jpa 等 spring 的新项目吗,还是停留在认为 sping 家的东西只能做 ioc 和 aop,并且要使用 xml 做一大堆配置的年代。
拜托,用上面的那些 spring 新项目、基于 java 注解配置,我不相信其他语言做 web 开发、curd 操作、微服务,还能更加轻便、配置更加少,而且是不管做大项目,还是小项目。
并且 java 可是几乎全方位的解决方案都有,不想其他语言可能你在某个方面很爽,但是扩展了一点东西后可能发现自己得全部手写实现了。
xypcn
2018-06-24 12:22:17 +08:00
@cocode java 是在浪费资源. 干掉什么什么是没意义,人要进步,社会也要进步。当然也有守旧的.
一个人的精力是有限的,不可能同时用多个语言,就后台而已,java 的那些事 golang 完全可以取而代之.
java 不做后台,除了 IDE,好象其它方面特别难用,开发 IDE 也是原因先发优势。
java 现在的体系很庞大,确实很难死,除非有新的公司用 golang 取得巨大的的成就。
现在成功的最有名是 docker.
每年还有很多 java 的新生补充。
用第二语言至少在精通一门语言之后,精通第一门语言至少需要 5 年时间,第二语言也至少需要 1 年以上,java 存在很长一段时间。
如果 golang 与 java 都精通后,会发现微服务开发方面 golang 确实比 java 好很多倍,这个谁用谁知道,有些事情是没有比较就没有伤害,当然有这个感觉你至少工作了 6 年以上。
Mitt
2018-06-24 12:26:15 +08:00
@AngelCriss 解决痛点跟比 cpp 好是两码事
casillasyi
2018-06-24 12:30:34 +08:00
未来可能是 rust,swift 和 kotlin 三足鼎立,java 暂时只可能被 kotlin 替代
blless
2018-06-24 12:33:33 +08:00
@wangxiaoaer #86 我说的不是开发过程 debug,而是一些比如死循环,内存泄漏,goroutine 泄露之类排查,go 的 pprof 我感觉比别的语言做的好 而且简单易用。针对性优化,排查疑难杂症都很好用。说到这个我还想起来 go 的单元用例 /benchmark,相比其他语言都要第三方库支持也算友好易用。很多人写代码都不注重这些,但是项目管理里就很重要了。
casillasyi
2018-06-24 12:35:21 +08:00
至于先用层主一直强调的 java 干的事 go 都能干,还比你占用内存低。你就说哪一种静态语言有不能干的事吗?为了追求内存低,你为何不用 c 不用汇编?内存只是工具选择时的一方面,语言的设计,生态等等都很重要
wangxiaoaer
2018-06-24 12:41:14 +08:00
@blless #95 pprof 这个东西我倒没有接触过,没有发言权啊。

不过说起单元测试,感觉和源文件混在一起搞成文件爆炸,真不爽。

越来越觉得王垠说 go 的设计者是一帮偏执狂还是有道理的。


----------------------

我自己尝试过 go,但是写起来真的是感觉步步维艰,无从下手,python 也一样。

java js 感觉就是可以闭着眼睛写,加上 IDE,简直要飞起。

我对 java 唯一的抱怨就是包过大,spring 的项目动不动就上百兆(不是太大,但总归自动部署不便),频繁的重启也耗费时间,另外就是内存占用,虽然是白菜价了。

go 的二进制发布,轻量安装包,双击运行,内存占据不大,很合我的口味,这也是当初尝试 go 的主要原因,可惜实在坚持不下去。
woncode
2018-06-24 12:45:56 +08:00
@xypcn 我觉得放着 java 全面的生态不用,而要重新去造轮子才是浪费资源呢。
什么?要跟 java 比后台以外的领域?那看来只能认怂了,java 本来就是专注于后台领域。
你想比前端?那去干掉 js 吧,你想比 ai ?那去干掉 python 吧?
莫非这里说的 golang 干掉 java 不是在后台干掉 java 吗?还是说 golang 的目标是全领域的干掉所有语言,一统江湖?
难道我们大伙都走错片场啦?😂
CoderGeek
2018-06-24 12:46:22 +08:00
too young too native
blless
2018-06-24 12:49:08 +08:00
@wangxiaoaer #97 2333,我只能说应该是八字不合了,测试用例我本身认为是另一种文档,是文本文档的补全,而且更直观 更高效,所以我觉得跟源码放一起是没有问题的。😂我对 nodejs 也有同样的感觉,压根不知道怎么写

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/465334

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX