Rust 是有什么黑魔法吗?每次用了就忘

2022-11-22 10:00:54 +08:00
 serco

之前用 Rust 写了个很简短的小项目,时隔一年多,又要捡起来用了,忘了个干净。。。然后翻着翻着突然想起来好像再往前一年也写过一个 Rust 的小项目。。。

Ruby ,Javascript ,Swift 都没有给我这种感觉,甚至 N 久前浅接触的 Elixir 都没有这种感觉,就 Rust 特别行,每次都忘个干净。。。

7128 次点击
所在节点    Rust
27 条回复
fgwmlhdkkkw
2022-11-22 10:06:58 +08:00
因为 Rust 不解决问题,只暴露问题。
serco
2022-11-22 10:08:54 +08:00
@fgwmlhdkkkw 怎么理解?没明白
kunkunzhang
2022-11-22 10:09:46 +08:00
rust 和 C++一样吧。语法多 语言设计偏底层
mysalt
2022-11-22 10:10:51 +08:00
不用就忘,这就是它的魔法
cslive
2022-11-22 10:22:41 +08:00
编辑器教你怎么写,而不是你自己记住怎么写🐶
liyang5945
2022-11-22 10:23:52 +08:00
+1 再学就是第三遍了
fgwmlhdkkkw
2022-11-22 10:39:14 +08:00
@serco #2 就是有一个机器可以解决所有的问题,但是每种问题都需要按对应的按钮……那么你不仅需要了解问题,还要了解每个按钮。
undeflife
2022-11-22 11:08:21 +08:00
语法糖多,用得不够多且不够熟练。
我学完了语言完成了练手项目,大半年后上项目的时候感觉又学了一遍。全职写了一年后就不存在这种感觉了。

真正让我感觉用了就忘的是正则
leonshaw
2022-11-22 11:19:38 +08:00
为了实现看上去优雅的设计,做了太多 dirty hack
akaHenry
2022-11-22 12:57:06 +08:00
这是 rust 学习者的常态. 跟 C++ 一样. 都是暴露设计复杂度给所有人.

rust 和 c++ 都是功能 强大性 vs 易用性, 平衡失败的典型案例.

c++ 经常是为了敲个钉子, 先要发明个锤子, 然后发现没有车床, 就造了个车床, 之后就忘了自己要干什么...

rust 对 c++, 是用复杂对抗复杂. 本身从理念上, 并没有进步.

平衡性, 过去(现在不是)做的好的是 go 和 python. 未来看, 可能是 zig.

rust 只是: 群众, 对当前一个能打的没有的现状的妥协. 比起 c++, rust 虽然难以下咽, 但咽下去了, 还是香的.

吐槽之余, 可以看看 zig 的设计. zig 的平衡性做的非常好.

基本用了很少的语法特性(1 周掌握), 实现了 rust 绝大多数需求点.

简单易学+性能出色. 语法设计也很有美感.

rust 这种"符号学大师", 是典型不懂 "减法原则".
westoy
2022-11-22 13:19:48 +08:00
和主流编程语言差异太大, 包括编程习惯和思维模式

主流编程语言虽然有差异, 但几乎都有类似的脉络,API 设计的时候也趋同, 这就是为什么很多时候学一门新语言几乎是没成本的。 写一个的时候对于已经掌握的其他也有个对照印证、加深记忆的过程

但是非主流语言就不一样了

我以前写 erlang 也是这样的, 写完了隔两个月全忘了, 要改只能再捡起来, 然后隔两个月又忘了
tulongtou
2022-11-22 13:28:22 +08:00
还是写的少,写多了就不会有这种感觉了
qsnow6
2022-11-22 13:33:59 +08:00
说明了语言只是工具
@westoy #11
cmdOptionKana
2022-11-22 14:10:23 +08:00
@akaHenry

> rust 对 c++, 是用复杂对抗复杂. 本身从理念上, 并没有进步.
> 平衡性, 过去(现在不是)做的好的是 go 和 python.

rust 和 C++ 追求极致性能, 没有 GC, 你拿来跟有 GC 的语言对比...

有的语言追求平衡, 有的语言追求极致性能, 用途根本不同, 比如写 Chrome 写 Firefox, 用 go 和 python 怎么写? 就算 go 和 pytho 达到了平衡艺术的天花板, 还是写不了浏览器呀. 这能说理念上的进步退步吗?
cubecube
2022-11-22 14:35:10 +08:00
这么猛,以前这个写完就忘的桂冠可是 perl 的
Jooooooooo
2022-11-22 14:39:11 +08:00
学来学去, 还是 java 好.
libook
2022-11-22 15:36:38 +08:00
Rust 语法糖很多,而且大量使用符号,记忆起来确实有难度,只能多练。

而且我一直觉得 Rust 的语法应该分基础语法和高阶语法,绝大多数程序用基础语法可以不那么优雅实现,遇到更高要求再慢慢引入高阶语法,如果教材可以这么划分,估计能降低学习难度。
xtreme1
2022-11-22 15:48:25 +08:00
@libook
the Rust Book 就是这么做的
libook
2022-11-22 15:53:29 +08:00
@xtreme1 #18 我就是看官方英文的 book 学的,而且照着这本书学了两遍,并没有感觉划分这么明确,当然如果已经掌握 Rust 的人去查阅肯定知道哪些是基础哪些是进阶,但我作为小白来说至少教材没有明确给我这个信息。
wonderfulcxm
2022-11-22 16:08:23 +08:00
没学过 rust ,不过给我这种类似感觉的是 vue😂

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

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

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

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

© 2021 V2EX