Java 玩腻了 其实发现 golang 也还不错 确实很简洁

331 天前
 silentsky
18287 次点击
所在节点    程序员
179 条回复
timnottom
331 天前
golang + codegen 其实写起来还行,没有那么糟糕
lesismal
331 天前
@lsk569937453
#1 单比较语言指令 cpu 消耗那些,不同测试项的确是各有千秋总体差不多。但是 java 离不开社区全家桶,当 java 都用这些东西的时候,实际生产项目的性能确实挺差的

#11 也不算上升到品味,也不是饭圈。而是实事求是、确实是品味有问题
lesismal
331 天前
@yazinnnn0
也可能是 java boy 技术还不够深入、经验还不够丰富的阶段、get 不到 java 有多差
golang 虽好但毕竟性能还是达不到极致,java 的香,用郭德纲的话说,全靠同行衬托
txzh007
331 天前
目前来说,java 的 review 是我做过最舒服的,剩下的语言都多少有点奇怪
ryanking8215
331 天前
我知道大家都懂,看到了几个帖子,还是忍不住要提一下,python 是强类型。
J2ephyr
331 天前
ts 天下第一
Dogtler
331 天前
我觉得不用写分号是个优点,以及 function 简写 func
lvlongxiang199
331 天前
@sunny352787 我觉得写 cpp 模板才难受(没 concept 的情况下), instantiation 的报错根本没法看
sunny352787
331 天前
@lvlongxiang199 golang 的泛型不支持成员函数,我心里万马奔腾...
soupu626
331 天前
太简洁了,以至于我在不同的工程中看到了好多不同的 listContains 实现。。。
又是怀念 apache-common 和 guava 的一天
to2false
331 天前
@silentsky #3 残废版泛型
GeekGao
331 天前
每一届踏入社会的程序员感慨 X 语言比 Y 好用。所以互联网上每年都会有不同年份的月经贴。
coding 折腾 20 年的老狗就没这么些感悟了。已经懒得言语这些了。
silentsky
331 天前
@GeekGao 可能太闲了 偶尔来一下技术交流😂
GeekGao
331 天前
@silentsky 对新技术的新鲜感还没过,玩多了就觉得都差不多,也可能是因为面向工资编程比面向喜好更实际了。
byte10
331 天前
@yazinnnn0 我不喜欢 go ,因为他的类型和变量名 位置相反的,跟 js es6 ,跟 python ,c#,c c++ ,java 跟很多语言不太一样,非常的出戏,导致我的不喜欢它。
byte10
331 天前
@szdev 其实 java 有一个东西叫做 AOT ,安卓就是使用这样的技术,开发出来的 app 电视盒子都可以跑。当然 go 天生更加简单。
@lesismal java 差?一个生态好的语言,性能也不错语言,不知道为啥你说差。你了解得多少深入?分享一下。
Bingchunmoli
331 天前
@silentsky 时间处理算是不舒服的点,, 还有就是因为没有垄断生态,写项目要考虑技术选型,还有第三方库不太会找
kneo
331 天前
写小应用内存占用十几 M ,很舒服。
ShiJh
331 天前
err 处理绝对是最恶心人的,每次至少占用三行代码,虽然说这样对异常情况比较清晰,也会自觉的去处理各种异常情况,但是就是处理 err 就是多到令人烦躁
lesismal
330 天前
@byte10 Hi 好久不见!
当年 golang 还没成熟的时候,我写 c/cpp 觉得有点累,于是手撸 NIO 被 java 的臃肿恶心到了,然后想想还是继续撸 c/c++算了,golang 成熟了我就撸 golang 了。
性能这个,同样的看我前面楼层,别说语言指令这种,要用大家常用的对比。可能跟老 php py 这些比是要强些,跟 nodejs 、go 比应该都是被吊打。剩下的也只有所谓的生态优势,但对于 curder 来说其实主要是行业技术栈优势,例如电商、企业级已经有那么多 java 那没必要重新造一遍,但这并不是别的语言不能搞、而是它还算稳定所以没必要重新搞,它占领市场早所以岗位多罢了。但是新生领域或者说需求变化快的领域,它也并不具备优势,所以直接头条 b 栈猎豹移动七牛各种新兴势力倾向 golang 。抛开这些行业选择它的历史优势,很多 java 不适合的,例如云原生。还有一些虽然用了 java 实现的基础设施、但其实如果用其他语言会比它效果更好,同样也是历史原因罢了。

另外,javaer 遇到“复杂”点的问题容易懵逼,例如系统知识,怎么排查网络、数据库各种。我不是说所有 javaer 都不懂,而是相比于 c/cpp/go 这些,javaer 不懂的人的比例有点多。言必称希腊,聊技术就是框架、全家桶、八股文。当然,我不是针对 java ,脚本语言的人绝大多数也基本都这样。并不是怪这些开发者不求上进,而是因为 java 社区就流行这种氛围,见过太多八股文选手,背了一大堆,侃知识点说的头头是道,离开八股文范畴面试问他点深入的就容易 game over 。
我也看到过很多 javaer 自己总结:背会了很多八股,但结合实际了却不知道怎么应用。

再说下 java 性能不错,比如 2018 年那会我门一些兄弟部门业务重构由 java 切到 go ,切换后对比了下,业务量还是原来那么多,他们对比了重构前后的消耗,以前 java 的内存消耗大概是 go 的 2-3 倍,cpu 消耗是 go 的 1.5-3 倍,响应时间 go 略好但整体上倒是没差太多基本可以忽略,因为并不是把服务硬件指标跑满、主要时间都是花在数据库上。别人喜欢用重构后消耗降低了多少百分比,但百分比看上去就好像是节省了一个比例罢了,反过来看,假设以前是 go 、切换到 java ,硬件成本直接翻 2-3 倍,这个情景就比下降的百分比更明显了

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

https://www.v2ex.com/t/1011186

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

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

© 2021 V2EX