做项目选择 golang 而不是 Java 的理由?

2024-03-06 17:09:48 +08:00
 slideclick

golang 是代替 java 的,因为两个都是 GC 语言 java 是 c++替代者第一代 golang 是 c++替代者第二代 (rust 无有 GC 所以真正进入了 linux windows kernel 而 golang 不能进入)

做项目选择 golang 而不是 java 的理由? 并发来说,估计 java 的库也不错 选择 go 唯一的理由是没有 vm 所以节省内存?

19553 次点击
所在节点    Go 编程语言
126 条回复
securityCoding
2024-03-06 17:14:08 +08:00
写 go 代码心智负担小
ychost
2024-03-06 17:15:30 +08:00
看个人顺手了,性能方面大差不差,所以我选 kotlin
JKeita
2024-03-06 17:16:05 +08:00
java 环境部署还是第三方库管理感觉都跟屎一样
ychost
2024-03-06 17:16:32 +08:00
@ychost JVM 有个好处,支持编译语言比如 Java/Kotlin ,同时也支持 Groovy 这种脚本,且可以在项目里面混编应对各种需求
blackmirror
2024-03-06 17:18:03 +08:00
每段时间都会出来语言之争,这重要吗
Jinnrry
2024-03-06 17:20:33 +08:00
上手快,无论以前是写什么语言的,招进来一周就能开干。

技术选型的时候好不好招人绝对是第一优先级,性能啥的在招人面前不值一提。选 java 基本上只能招以前写 java 的程序员,但是选 go 你可以招一切程序员
zjsxwc
2024-03-06 17:25:07 +08:00
服务器成本以及方便部署上来讲,golang 对配置需求远远低于 java ,golang 能跑在更多设备上,我甚至把 golang 写的 frp 内网串通程序直接运行在我的一个 4 年前 53 元一个的廉价小米路由器 4c ( cpu 是 mips 架构,刷 openwrt linux )上。
coderxy
2024-03-06 17:27:10 +08:00
新入行的兄弟们不想跟 java 的存量庞大群体卷了, 另开一个赛道。
NessajCN
2024-03-06 17:32:14 +08:00
啥乱七八糟的,谁告诉你 go 替代 java ,java 替代 c++ 了。 有个 gc 就替代了?你咋不说他们都用 if 呢
mightybruce
2024-03-06 17:32:59 +08:00
软件项目考虑的首要根本不是并发,再说一遍 不是并发, 你自己算算开 Java 线程 要多少内存,java 每个对象有多少元数据吧, 每条 tcp 连接到底占多少内存。

如果考虑真正的高并发, 那么 java 和 go 都不是首选。go 的 并发设计是很容易让一个普通程序员写出不错的业务和并发兼顾的程序。

很没意思的帖子和话题,多学学几门语言去做项目,而不是停留在表面。
slideclick
2024-03-06 17:35:26 +08:00
@NessajCN
java 替代 c++ 是不争论的事实
mightybruce
2024-03-06 17:37:54 +08:00
什么替代, 搞笑, 你讨论这个,我觉得你以后大概率被 AI 替代了。
hello2090
2024-03-06 17:38:06 +08:00
我先来
1. 云原生
2. java 太卷
3. 我就听说过这么多!
icy37785
2024-03-06 17:49:51 +08:00
我一直觉得 c++,go 和 java 他们都不是一个赛道的,为啥在你这里都是这个代替那个的。
lstz
2024-03-06 17:50:08 +08:00
go 没那么多语法糖,体积小,内存小!

最主要是,年轻,没那么多复杂啰嗦的设计模式,写代码直接怼上就完事了
Curtion
2024-03-06 17:51:28 +08:00
当然是因为我不会 JAVA😎
magicZ
2024-03-06 17:52:29 +08:00
最近公司给我一个活儿用 golang 写,之前我主要写 java ,就靠着 gpt 加看一些基本规范,再找人问问, 慢慢就磨下来了。用什么语言开发,更多的不是来自技术本身,看现有条件和需求。
最后,go module 用起来有点怪,只能从 github 拉代码吗? 能不能想 java 一样打个 jar ,有人知道麻烦 @我一下,谢谢
zysuper
2024-03-06 17:53:59 +08:00
1. go 薪资更高。
2. go 编译更快。
3. go 面向未来的语言,早晚都要学,有机会不如找在项目里面实践。
4. 面向前途编程,万一将来 java 不行了,还有条退路。
wangbin526
2024-03-06 17:56:42 +08:00
go 直接编译成多平台二进制可执行文件,以 fiber 框架做个物联网后后台为例,docker 编译打包完才几兆大,服务器性能好不特别,但 go 能在低配嵌入式电视盒比如斐讯 t1 跑到 1W QPS
NessajCN
2024-03-06 17:58:45 +08:00
@slideclick 行了行了你说的都对,opencv, qt, unreal 他们没用 java 肯定是因为太菜学不会

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

https://ex.noerr.eu.org/t/1021175

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

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

© 2021 V2EX