感觉 rust 门槛太高了

2023-07-24 07:56:50 +08:00
 yaott2020

都说 rust 难学,我自己跟着 b 站入门教程学完之后觉得 rust 比想象中的更难以上手。学完基础语法之后依旧不太会写,总是写 bug 。rust 语法略微有点怪异,并且限制太多,我如果按照以前写其他语言(例如 go )的习惯是不行的。各位 v 友们学过 rust 分享一波上手经验呗

9412 次点击
所在节点    程序员
72 条回复
nkidgm
2023-07-24 22:28:08 +08:00
哈哈,以前 C++经常被吐槽是世界上最难的编程语言。。。

现在 rust 摘取桂冠了,不过听说 rust 上手后,写出的程序质量还真不错,就是学习周期很长很长。
Perolong
2023-07-24 23:19:46 +08:00
打算先 c 写明白再去学 rust
iwdmb
2023-07-25 03:54:49 +08:00
确实入门了好多次 Rust
到现在还没入门
suyulingxm
2023-07-25 09:09:31 +08:00
rust 就像开飞机,先要熟悉各种规则,起飞了就不用操心了
franklu
2023-07-25 09:52:54 +08:00
@Jirajine 我感觉你的意思是 async 语法没问题,有问题的是 async 的实现,底层用了太多类型系统导致没做好,使用者没法无缝使用,而且很快就会碰到问题,而一碰到问题就要去看代码代码,是吧?
Jirajine
2023-07-25 10:15:12 +08:00
@franklu 不是说语法没问题,而是语义,或者是整体的设计,还没有完善就急着稳定化,以至于后面发现问题又不能 breaking ,就只能屎上雕花了。
最典型的就是 async trait ,还没设计好之前,就不该把 async 稳定化。
maotao456
2023-07-25 10:27:12 +08:00
@Jirajine async 的问题是啥? 初学者好奇。
lynx
2023-07-25 10:37:15 +08:00
学习 rust 最好还是拿实际的项目来练手比较好,我跟周围的工友都是参与线上的 rust 项目核心流程开发之后快速提升的。社区的一些练手项目只能让你熟悉 rust 的语法和规则,实际项目中会遇到更多的问题。
另外现在 rust 的 async 虽然已经达到日常使用的水准了,但是 async fn in trait 没有稳定之前有些东西用起来会很别扭,新手暂时将这个当作固定规则来用就好了。
Jirajine
2023-07-25 10:43:49 +08:00
@maotao456 当你真的去用 async tust 写实际应用/库的时候遇到困难就知道了,那不是你的问题,而是 rust 的问题。
async wg 列出了很多需要改进的问题 https://rust-lang.github.io/wg-async/
这个博客 https://fasterthanli.me/ 有很多篇高质量文章帮助深入理解 async ,虽然文章质量非常高,但“需要深入理解才能实际使用”本身就说明问题了。
berry10086
2023-07-25 13:13:54 +08:00
@Rooger 同感,Rust 实践课讲的云里雾里,是大雷
isexdpac
2023-07-25 15:27:54 +08:00
是很难,生命周期,所有权,智能指针等等..... 后面还有更难的异步 async
zdustrong
2023-09-29 06:49:23 +08:00
Rust 的所有权分为三种使用方法.
1. 移动, 将所有的权交给其他方法, 不会归还. 对于基础类型(数字, 布尔值, &str, char),它是复制.
2. 只读借用. 一次可以借个多个方法.
3. 可读可写借用. 一次只能借给一个方法, 使用完自动归还.
掌握了这三种用法, 无论是普通方法, 还是 async 都很容易.
我的项目代码( https://github.com/zdu-strong/my-rust-project).

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

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

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

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

© 2021 V2EX