golang 是代替 java 的,因为两个都是 GC 语言 java 是 c++替代者第一代 golang 是 c++替代者第二代 (rust 无有 GC 所以真正进入了 linux windows kernel 而 golang 不能进入)
做项目选择 golang 而不是 java 的理由? 并发来说,估计 java 的库也不错 选择 go 唯一的理由是没有 vm 所以节省内存?
1
securityCoding 253 天前 4
写 go 代码心智负担小
|
2
ychost 253 天前 7
看个人顺手了,性能方面大差不差,所以我选 kotlin
|
3
JKeita 253 天前 3
java 环境部署还是第三方库管理感觉都跟屎一样
|
5
blackmirror 253 天前
每段时间都会出来语言之争,这重要吗
|
6
Jinnrry 253 天前 via Android 2
上手快,无论以前是写什么语言的,招进来一周就能开干。
技术选型的时候好不好招人绝对是第一优先级,性能啥的在招人面前不值一提。选 java 基本上只能招以前写 java 的程序员,但是选 go 你可以招一切程序员 |
7
zjsxwc 253 天前
服务器成本以及方便部署上来讲,golang 对配置需求远远低于 java ,golang 能跑在更多设备上,我甚至把 golang 写的 frp 内网串通程序直接运行在我的一个 4 年前 53 元一个的廉价小米路由器 4c ( cpu 是 mips 架构,刷 openwrt linux )上。
|
8
coderxy 253 天前
新入行的兄弟们不想跟 java 的存量庞大群体卷了, 另开一个赛道。
|
9
NessajCN 253 天前
啥乱七八糟的,谁告诉你 go 替代 java ,java 替代 c++ 了。 有个 gc 就替代了?你咋不说他们都用 if 呢
|
10
mightybruce 253 天前 4
软件项目考虑的首要根本不是并发,再说一遍 不是并发, 你自己算算开 Java 线程 要多少内存,java 每个对象有多少元数据吧, 每条 tcp 连接到底占多少内存。
如果考虑真正的高并发, 那么 java 和 go 都不是首选。go 的 并发设计是很容易让一个普通程序员写出不错的业务和并发兼顾的程序。 很没意思的帖子和话题,多学学几门语言去做项目,而不是停留在表面。 |
11
slideclick OP @NessajCN
java 替代 c++ 是不争论的事实 |
12
mightybruce 253 天前
什么替代, 搞笑, 你讨论这个,我觉得你以后大概率被 AI 替代了。
|
13
hello2090 253 天前
我先来
1. 云原生 2. java 太卷 3. 我就听说过这么多! |
14
icy37785 253 天前
我一直觉得 c++,go 和 java 他们都不是一个赛道的,为啥在你这里都是这个代替那个的。
|
15
lstz 253 天前 via Android 1
go 没那么多语法糖,体积小,内存小!
最主要是,年轻,没那么多复杂啰嗦的设计模式,写代码直接怼上就完事了 |
16
Curtion 253 天前
当然是因为我不会 JAVA😎
|
17
magicZ 253 天前 1
最近公司给我一个活儿用 golang 写,之前我主要写 java ,就靠着 gpt 加看一些基本规范,再找人问问, 慢慢就磨下来了。用什么语言开发,更多的不是来自技术本身,看现有条件和需求。
最后,go module 用起来有点怪,只能从 github 拉代码吗? 能不能想 java 一样打个 jar ,有人知道麻烦 @我一下,谢谢 |
18
zysuper 253 天前
1. go 薪资更高。
2. go 编译更快。 3. go 面向未来的语言,早晚都要学,有机会不如找在项目里面实践。 4. 面向前途编程,万一将来 java 不行了,还有条退路。 |
19
wangbin526 253 天前 via Android
go 直接编译成多平台二进制可执行文件,以 fiber 框架做个物联网后后台为例,docker 编译打包完才几兆大,服务器性能好不特别,但 go 能在低配嵌入式电视盒比如斐讯 t1 跑到 1W QPS
|
20
NessajCN 253 天前
@slideclick 行了行了你说的都对,opencv, qt, unreal 他们没用 java 肯定是因为太菜学不会
|
21
jimrok 253 天前
做业务你就用 java 吧,做系统网络服务就选 go 吧。
|
23
liyafe1997 253 天前 10
@slideclick Java 替代 C++你是搞笑的吗?你把 Chromium, Firefox, Gnome, KDE, Qt, 乃至 Windows ,到一系列嵌入式设备固件,包括你电脑上跑的 UEFI BIOS ,用 Java 来写试试?
就连 Android 这个由 Java/JVM 打造的庞大框架,底下的 system services 都是一堆 C++在跑,你用 Java 实现个 surfaceflinger 试试? 我不是否定或者贬低 Java ,它自然有适合它的赛场,但是作为一种依赖 VM 的托管语言,跟 C/C++就注定不是同一类东西,没有可比性。 |
24
gamexg 253 天前
不想客户端带着 java 运行时.
|
25
Richared 253 天前 1
@liyafe1997 c++和 java ,go 就不是一个赛道,写业务老老实实用 Java ,偏向网络的中间件,比如业务网关之类的用 go 重构了,再底层一些基础组件,之前用 c/c++写的现在在用 rust 重构,不用 c/c++是因为真的不好招人。我们现在是这样的。用 go 去写纯业务没有看到比 Java 好在哪里,面向 Spring 编程的 javaer 便宜又好用。
|
26
Yukineko 253 天前
java 替代 c++的结论是怎么来的。。
|
27
mxT52CRuqR6o5 253 天前 via Android
我倒觉得 go 是替代 php 的
|
28
jaycelhz 253 天前
并不影响我月薪 3000
|
29
DefoliationM 253 天前 via Android
主要有个 jvm ,没 jvm 都一样
|
30
yolee599 253 天前
看到 java 和 golang 替代 c++,绷不住了。这都不是一个赛道的,替代啥?
|
31
Reficul 253 天前 1
可以都试试看,高兴写哪个写哪个。
对我来说我不喜欢写 Java 的主要原因是 Java 历史包袱太重了,没这个功夫从 Servlet TomCat 学,也没功夫去搞这些八股文。有些东西,比如操作系统,数据结构,算法是不会变的,什么时候学都不会褪色。但是一个编程语言那么八股文很大一部分是因为路径依赖,各种演进带来的问题,是补丁上面打补丁。而且 Java 在一些新的领域比如云原生,这个领域就是在 Java 之后才有的,本身就没有这么大的包袱,社区自然也没必要陪着 Java 一起卷八股文。 其次,Java 太 JB 罗嗦了。 |
32
jorneyr 253 天前 4
因为项目小,是运维工具,所以选择 Go 。
复杂业务系统继续老实的用 Java 。 |
33
twogoods 253 天前
云原生时代了 java 也能编译成 native 的了,写起来自己感觉哪个舒服就哪个,面向工资和岗位就行了
|
34
zapper 253 天前
典中典之编程语言日经帖
|
35
liaojl 253 天前 via iPhone
你们都转 go 吧,我强烈支持,这样就没人和我卷 Java 了。
|
36
jeesk 253 天前
哪个库好用点就用哪个? 比如 golang 有原生的 webdav, java 没有. golang 有 http 路由相关的库, java 很少, 难用.
那有没有 java 的有的, golang 没有? 那还真有, 比如 hadoop 之类. |
37
fox0001 253 天前 via Android
@jorneyr #32 用 go 写过几个小工具。几乎全平台都可以跑,低内存占用(相比 java ),部署方便(一般只有运行文件和配置文件),不需要安装 JVM
|
38
roundgis 253 天前 via Android
Go 用來替代 java 卻是作者始料不及的事
|
39
xdeng 253 天前
java 替代 c++ 是不争论的事实,当你说出这句话时我就知道你的水平了。
|
40
ZZ74 253 天前
|
41
chendy 253 天前
1. 喜欢 go
2. 不差钱 3. 基础设施类项目 否则商业项目第一要务“能找到便宜量大的程序员”就把 go 毙了 |
42
fox0001 253 天前 via Android
@ZZ74 #40 我是觉得没必要纠结那么多,编程语言只是工具,重点是拿来做出了什么。退一步来说,手上多个工具,不是坏事。
关于跨平台,同一个 go 项目,能分别编译出 Linux 和 Windows 的可执行文件。这对我来说,已经够好用了。 |
43
crazyweeds 253 天前
那请用 Go ,再见。
|
44
panlatent 253 天前 via iPhone
楼上所谓替代其实是某一语言(新)从另一语言(旧)手里抢份额,实质应该是编程语言在各个领域不断细化不断开花的结果。
go 替代不了 java ,但某些场景更合适。java 与 c++ 也是这样。 |
45
zhwguest 253 天前 1
如果是后端开发,推荐 golang 。
从运行时来说,golang 的协程比较自然,在服务器上来说,这对性能提高非常大;当然,更重要的,golang 入门比较容易,没有那么多模式,标准库也设计得非常精良,所以对团队非常友好。 但是,我想说,golang 真的太土了,写多了真的很郁闷。现代化的语言那么多了,golang 出来还是那么朴素..... 代码密度太低了..... |
46
tracymcladdy 253 天前 via iPhone
i.dont.expect(code).to.read().like(english);
assert(simple > clever); |
49
flyqie 253 天前
@slideclick #11
看到你这句话,大半夜的给我笑得。 不争的事实,给个出处?很好奇是哪个神人。 你一个带 gc 的语言跟 cpp 这种讲替代,cpp 多少年来一直有的 mem 管理问题被你吃了? |
50
fgwmlhdkkkw 253 天前 via Android 1
@securityCoding 写 tag 简直反人类
|
51
dcsuibian 253 天前 15
golang 的语法跟屎一样
|
52
veightz 253 天前 via Android
心智成本低,spring 生态有很多不错的轮子,也可能有很多滥用黑魔法的轮子。golang 搞不了,都是静态可见的代码,容易控制和调试。
|
53
YsHaNg 253 天前 via iPhone
@slideclick 。。。我们 hls 开发从来没见过 java
|
54
leohuangsulei 253 天前
@magicZ 可以用自己的代码库的
|
55
Promtheus 253 天前
你的项目已经到了要选语言才能进一步优化的地步了吗,如果没有到这么高端的话都是业务肯定是哪种语言好招人,轮子多用哪个啊。
|
56
ExplodingFKL 253 天前
会什么就用什么, 都会就用最顺手的 , 哪有那么多语言之争 ..
|
57
layxy 253 天前
公司项目基本还是 java,部分中间件用了 go,个人项目还是喜欢用 go,毕竟随便玩玩买个低配服务器就可以,java 用 spring 那一套东西 512m 内存估计不一定跑得起来
|
58
zsdroid 253 天前
有时间去医院看看
|
59
gollwang 253 天前
所有的为什么都是领导决定
|
60
slideclick OP @zhwguest 是这样的.java 是 95 年出现的,那时没有 web
今天一票语言都是 web/mobile 时代 95 年后 java 抢走了大部分 c++的后端和 ui 份额 而 golang 确实在侵入 web 和中间件,显然是抢 cpp java 份额 rust 不是,它是试图替代 cpp 的一众语言里面唯一敢于继续不 GC 的 c#不值得一提,java 是一代, golang/rust 是二代 c#抄袭 java,可惜了安德森这个人才,没有达到 golang/rust 的高度 |
61
RRRoger 253 天前
我喜欢 typescript
|
62
cstj0505 253 天前
为啥你们选个语言还能说这么多,哪个熟悉选哪个,语言只是个工具而已,你选个“新”出的语言能证明你更 NB ?
又不是编译器开发者,这玩意有啥好争个高下的。 c ,java ,python ,scala ,go 我都写过 |
63
xz410236056 253 天前
@ychost #2 那我可选 swift 了啊
|
64
gaoxifengfordawn 253 天前
我觉得没有一个替代是对的- -。
|
65
qiyilai 253 天前
语言看场景和成本吧 没谁替代谁一说
|
67
sankooc 253 天前
@slideclick 纸上谈兵 哈哈 你聊的这几个语言都不是一个赛道的
|
68
wervserwe 253 天前
不会 java
|
70
hxzhouh1 253 天前
语法比较简单把,真的 半天就能上手写代码了,
编译速度快也是优势像我这种长期 debug 的人。 |
71
tudou1514 253 天前
不说做什么,只说语言好坏的都是流氓。业务首选还是 Java ,脚本 python ,shell ,groovy 等。。。。
|
72
Jinnrry 253 天前 via Android 1
|
73
Sunny33 252 天前
改改,应该说 go 是替代 basic 、Delphi 、java 、C# 、Php 、Javascript 、Ruby 、Swift 等等。
后浪推前浪 这不很正常吗?就好像说 Java 17 是替代 Java 5 的,可是还拿这样的东西来讨论已经没有意义了。 |
76
StubbornHuang 252 天前
哈哈,看到 java 替换 C++真的绷不住了。也许移动互联网时代刚刚开始的时候你可以说 C 艹相比 java 没那么热门了,但是现在 AI 时代来临了,还有人喷 C 艹不行,我是真的绷不住了,神人。
|
77
iyaozhen 252 天前
@slideclick [java 替代 c++ 是不争论的事实] 谁告诉你的 工作这么多年,没听说过
用 c++的场景压根瞧都不会瞧一下 Java 说下字节的情况,之前用的 Python ,要换语音,那时候备选也只有 go 、c++、Java ,c++门槛高,做业务不适合,然后又都不喜欢 Java ,只能选 go 了 看似 java 和 go 有竞争,其实不然,被干死的是 Python web 和 PHP |
78
ByteCat 252 天前
不喜欢 Golang ,要搓很多轮子,都是半成品。
Java 又啰嗦,所以现在我都写 Kotlin🥲 |
79
feixiangcode 252 天前
新团队新项目肯定没啥历史包袱,庞大的 Java 开发群体在这,环境复杂,类库多,用不好容易被喷,golang 就没这些顾虑。
|
80
slideclick OP @iyaozhen 你这个字节的例子恰恰说明了 c++是第 0 代,java 是 1 代,golang 是 2 代
|
81
slideclick OP @iyaozhen 创业时候用动态语言,后来切换静态,选择了 c++的第二代替代品:golang.rust, 字节没毛病
|
82
wervserwe 252 天前
gc 语言永远替代不了 cpp
|
83
cocong 252 天前
选啥都无所谓,软件最大的魅力是随时可以重构,错了就重新选择呗。什么,你说重构成本高 ?那你这个业务看来并不赚钱。
|
84
xiaowangge 252 天前
项目分大中小,也分领域。具体情况具体分析。
想起来 一篇文章 https://coolshell.cn/articles/21672.html 「注,一些有主观喜好的人一定会对我上述对 Java 的描述感到不适,我还用一些证据说明一下——全中国所有的电商平台,几百家银行,三大电信运营商,所有的保险公司,劵商的系统,医院里的系统,电子政府系统,等等,基本都是用 Java 开发的,包括 AWS 的主流语言也是 Java ,阿里云一开始用 C++/Python 写控制系统,后面也开始用 Java ……你可能会说 B 站是用 go 语言,但是你可能不知道 B 站的电商和大数据是用 Java……懂着数据分析的同学,建议上各大招聘网站上搜一下 Java 的职位数量,你就知道某个技术是否主流和热门……」 |
85
chitanda 252 天前 1
选 go 也不咋地,很多人用 go 随便写点什么,一堆 tm 的 interface 嵌套,最终把 go 写成了 java 的模样
|
86
zhangdp 252 天前
世界第一语言不是 php 吗
|
87
jim9606 252 天前 via Android 1
|
88
hepin1989 252 天前
感觉现在有虚拟线程了,Java 也还好?
|
89
datoujiejie221 252 天前
就是觉得 go 比较新鲜,就像 windows 用久了想体验一下 macos 。
|
90
hellomsg 252 天前 2
旁边公司销售跟客户说:我们的系统是用 go 开发的,比 java 更高级。。。
|
91
dif 252 天前
对我来说,我会选择 java ,但会抽空用 go 再写一遍。 那个熟悉用哪个,那个快用哪个。性能那些东西,说白了不到一定瓶颈根本无需关注。另外一个就是单人用 go ,多人用 java 。
|
92
gitrebase 252 天前
只要 team leader 的技术水平和架构水平 hold 得住,语言什么的都好说
|
93
yxzblue 252 天前
低消耗,响应国家碳中和
|
94
realJamespond 252 天前
代码量大,微服务肯定是 java 好管理,go 适合单人搞简单项目
|
95
lidedongsn 252 天前
适合自己的就是最好的,语言本身是工具,帮助解决问题的,无所谓好坏之分
|
96
iyaozhen 252 天前
@slideclick 你不要瞎总结结论 go 和 c++、java 没啥替代关系
|
97
sophos 252 天前 via iPhone
利益相关:go 和 java 重度用户,github 开源了大量 go 项目的开发者
轻量高效会折腾选 go ,拿来就用写业务选 java:) |
98
Pony69 252 天前 via Android
看老板,老板要我用啥就用啥
|
99
bugfan 252 天前
我就想问个问题,写了几年 golang ,vue ,js 也挺熟悉,未来还应该写写啥呢?想玩玩新鲜的,也有前途的,好找工作的
|