一些疑惑,为什么 rust 干不过 go 呢

2023-06-17 17:28:50 +08:00
 vincent7245

先叠 buff

观点

个人感觉 rust 的难点就是理解其变量所有权、引用、借用的思想,这一关过了也就没什么难度了。而且 rust 的枚举、泛型、面向对象的特性要比 go 完善很多

所以为什么 rust 不如 go 火呢

随便骂吧

个人愚见,不同观点可以随便说,别骂的太难听就行

18717 次点击
所在节点    程序员
122 条回复
daliusu
2023-06-17 20:37:37 +08:00
rust 你们写起来不难受吗? 写个 tauri ,那个所有权转移,给我转麻了,尤其是各种库太少了,go 我不了解,但是 node 和 python 巨多的库 rust 都要自己实现
wangYQ
2023-06-17 20:41:40 +08:00
rust 上手的难度不小,需要系统的学习,并且写起来艺术感觉很强,但是想流行 需要推广啊。go 的推广多强
gogorush
2023-06-17 20:44:01 +08:00
rust 内部现在还在打架呢 先看看情况
lysS
2023-06-17 20:49:15 +08:00
@Alias4ck 想而已,先学了再说
hefish
2023-06-17 20:49:51 +08:00
明明 php 才是最好的语言。
WuSiYu
2023-06-17 20:50:11 +08:00
感觉这俩语言差异还是很大的,所以使用场景也有差异,到你感觉上 go 比 rust 火很多。

首先 go 是个带自动垃圾回收的语言,go 的另一个特点是其对协程有很好的支持,所以场景也比较面相网络应用,比如后端,或是一些别的服务端这些网络 I/O 密集的应用,所以有人会称其为“互联网版的 C”、“C 一样的 Java”(而不是 C++),19 年那会写过几个月 Go ,当时感觉确实这语言确实很简洁,甚至有些简陋。

Rust 的话,我接触不多,但感觉是一个更加对标 C++的语言,更偏向于“系统编程语言”,相比之下其既不使用自动垃圾回收,也不使用手动管理,还是比较折腾程序员的。

所以性能不敏感,或者是只有网络 I/O 密集的场景,考虑到 rust 比较还是比 go 更复杂,自然选择 go 的更多。
XiLingHost
2023-06-17 20:54:18 +08:00
rust 比较适合用来写偏向底层,安全和性能优化倾向的程序,主要是开发周期长和门槛高导致它的人力成本高于 go 。
我自己也只有开源项目或者自己的玩具会用 rust ,要快速开发的项目或者公司项目一般不会选择 rust 。
xLuoBo
2023-06-17 20:57:32 +08:00

用图说话
t6gfx4ddv3
2023-06-17 20:59:13 +08:00
很难比,去年看推特感觉 Rust 已经快要一统天下了,还好 Rust 基金会一顿操作给它降了波温
BBCCBB
2023-06-17 21:25:26 +08:00
我看了很多 go 相关, 后面突然想学 rust. 学了后很喜欢, 除了的确比 go 难的多, 语言方面很爽.
yplam
2023-06-17 21:47:07 +08:00
缺杀手级应用,缺大公司投入,rust 的生态真的一言难尽啊,举个比较有代表性的例子:ring 库,基本上与 tls 相关的都会依赖 ring ,最新版本 0.16.20 发包时间是 2021 年 2 月,最后一次代码提交是 4 个月前,github release 页面也根本找不到 0.16.20 这个 tag
tyzandhr
2023-06-17 22:12:31 +08:00
rust 的难点,不在于函数式编程?你用 rust 写面向对象?
prenwang
2023-06-17 22:12:55 +08:00
@ispinfx

“写过 Rust 以后再也不想写 Python 了”

最终要看应用场景,人工智能如火如荼的当下,python 碾压了所有语言, 这种情况, 你没有选择, 你不可能用 rust 去吧一个个成熟的 python 库换掉。

go 简单吧, 比不过 python 更简单, 很多搞算法,搞科研的最合适上手的就是 python , 不可能是 rust ,go 等等。

所以, 哪怕 python 性能再差,也稳坐头把交椅。

rust 就像阳春白雪 ,浑身都是有优点, 看过的人都推崇, 但是真正决定学习使用的人很少, 原因就是自己的应用场景并没有那么迫切。

生态太重要了, 使用 golang ,rust 做人工智能其实有很多优势, 但是最终弃坑的太多, 就是因为生态玩不过 python 。
lixon166
2023-06-17 22:26:23 +08:00
主要学 rust 中国找不到工作 看培训机构就知道了
gamexg
2023-06-17 22:34:37 +08:00
刚开始时想学 rust ,结果看了几篇文章发现语言本身还不稳定,有些以前的代码直接不能编译了。
当时就没学,像等他稳定了在学习。

目前的确有些像学习,但是没足够的时间。
另外我主要写网络应用,经常写自定义协议。go 的协程心智负担很小,同步方式写网络 io 的 read write 操作,语言自动转换为异步,很方便。
但是大体看了 rust 文章,rust 没有这个特征,想想以前写程序碰到的回调地狱就觉得不想用它写网络应用了。
dollar
2023-06-17 22:36:25 +08:00
从入门到放弃,生命周期写起来太不灵活了,而且好多语法很丑。还是 c++写起来更习惯些
dollar
2023-06-17 22:38:40 +08:00
另外 rust 和 go 本身定位也不一样,类比 c++和 java
Jackeriss
2023-06-17 22:40:22 +08:00
前段时间不是说微软正在用 Rust 重写核心 Windows 库吗?
ihciah
2023-06-17 23:03:38 +08:00
领域不同,时间未到
shui14
2023-06-17 23:23:05 +08:00
国内还是 java/php ,毕竟业务导向,并且人的精力压力大
如果有的选,专业导向的,比如驱动协议之类的 rust 优,混个业务或者胶水项目软硬件结合的 go 优,传统 curd java/php 优
现在一些 rust/go 岗位也是在造轮子或者,那它来替代,比如 go 替代部分 java ,一方面拆分服务比 java 微服务更加纯粹,出活也不慢,还有一点 go 抹平差异,十年老手跟一年半的新人代码本身是一样的,它是一种格式化范式,而 java 是约定一个开发模式朝着同一方向。它们是填空题,rust 是只严格规则,是阅读理解题。
如果是技术导向,可以底层 rust ,应用层 go

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

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

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

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

© 2021 V2EX