如题,各位是怎么坚持的,取点经,谢
1
Borch 2022-04-15 17:31:39 +08:00 2
cpp 、haskell 熟练不,熟练了问题就不大
|
2
agagega 2022-04-15 17:32:29 +08:00 5
有三件事这么多年来我重新开始过很多次:健身、看足球、学 Rust ,每次比上一次懂得多一点,习惯就好了😄
|
5
chloerei 2022-04-15 17:37:42 +08:00 1
如果你没有目的性的学一门语言,例如接下来要解决的问题需要这门语言,那是比较容易放弃。
|
6
Borch 2022-04-15 17:42:31 +08:00
@kernelpig rust 画饼要解决的内存安全线程安全问题就是针对 C 的,很多语义借鉴了 Cpp ,从汇编角度理解起来会容易得多(就是熟练 cpp ),类型系统是借鉴 haskell 等等,入门曲线确实很陡峭
|
7
twing37 2022-04-15 17:42:56 +08:00
看你要干什么
|
9
kernelpig OP @chloerei 确实是,目前的活 node,go 就足够了,以前用 c ,所以想着再看看没有 gc 的语言,应该找个之前的小项目 Rust 来一遍,是不是能更坚持😃
|
10
kernelpig OP @Borch 汇编相关的知识还好,就是感觉语言的类型,各种特性语法,太多了,每次以为看个差不多了,又翻到了 Rust 的一本书,越看越 emo 了😥
|
12
darkengine 2022-04-15 17:51:22 +08:00
写了个 hello world ,关掉。。。
|
13
wjx0912 2022-04-15 17:51:42 +08:00
张汉东有个 rust 视频课,挺不错的
|
14
twing37 2022-04-15 17:53:35 +08:00
@kernelpig 呕吼,我是因为一个 state server, go 上的 gc 抖的太厉害才用 rust 的
是挺陡峭的,我看了下 commit, 距离第一行代码正好一个月. |
15
kernelpig OP @darkengine 这个可以,我又学会了 N 门语言😥😃
|
18
cfeitong 2022-04-15 17:58:48 +08:00
不会 c/cpp ,学会写 rust 也没啥意义。你只知道怎么搞过编译,无法理解 rust 为什么要做这样的设计。
|
19
twing37 2022-04-15 18:02:51 +08:00
作为菜鸡.现在能感触就是围着 borrow 转.智能指针.
可能有些库去适应,比如错误处理的方式. 从 str string 里到生命周期也是转的迷糊.现在编译器说啥就是傻,已躺平 还有一个感觉就是有些 api 总是套着,看源码才知道有些被移动的,内部却又使用了借用. 这种情况被我归结为"灵活". 以上~ |
21
gengchun 2022-04-15 18:07:23 +08:00
这里有没有人用 rust 玩 stm32 之类的?照理来说这样应该能学进去一点。
|
22
zwpaper 2022-04-15 18:10:34 +08:00
可以试试从项目中学习
推荐个比较容易上手的 Rust 项目,项目代码写的 Rust 风格不是特别重, 上手起来会简单点,上手了再去学习更 Rust 的风格就是了 https://github.com/Peltoche/lsd 利益相关: 我是 Collaborator ,可以找一个 `Good First Issue` 或者 `Help Wanted` 的 Issue 开始, 不知道如何下手的话,可以在 issue 下 @ 我,id 同 v2 |
28
haoliang 2022-04-15 18:35:21 +08:00 3
楼主之前只是一个问题,看完一楼的回答,现在有三个问题了 ...
|
30
cassyfar 2022-04-15 19:00:58 +08:00
别在语言上为难自己,都是工具。要用的时候再学就好了。
|
31
tramm 2022-04-15 21:04:19 +08:00
时隔大半年之后, 我又拾起 Rust 开始学习了.
如果学的可以了, 就把我们物联网终端接入层重构一下, 学不成就拉倒 :P |
32
DonkeyBenjamin 2022-04-15 21:39:38 +08:00
为啥都觉得这东西难学?跟着 Tour of Rust 和 The Rust Programming Language, 然后自己动手写一下小项目,不就水到渠成
|
33
irytu 2022-04-15 21:42:32 +08:00 via iPhone
感觉还是得用它 官网上一些例子可以试试扩展一下 或者用它来刷各种体型 实现各种数据结构
|
36
kernelpig OP @DonkeyBenjamin 可能还是我接触的少或者懒吧😥,只看书动手少,纸上得来终觉浅,绝知此事要躬行🦀🦀
|
38
memorycancel 2022-04-15 22:08:11 +08:00
|
39
mascteen 2022-04-15 22:08:14 +08:00 via Android
语言跟下棋一样,规则很简单,但是成为大师很难,任何语言无非三个方面:数据类型,组合方式,抽象化,后面就是不断练习
|
40
whx 2022-04-15 22:41:51 +08:00 via iPhone
Rust 权威指南
推荐楼主看下这本书,简明易懂。 rust 有个学习曲线,光入门难度就比一般的语言高很多。 如果真心想学,坚持下去,跨过那个曲线就好了。 |
41
kernelpig OP @memorycancel 老哥🐂,已坚持这么长时间了,已⭐️
|
44
xuanbg 2022-04-16 05:37:20 +08:00
不用不学
|
45
cdxjcl123 2022-04-16 10:34:39 +08:00 via Android 1
https://course.rs
可以看看这本 Rust 圣经,蛮不错的 |
46
chuanqirenwu 2022-04-16 10:46:25 +08:00
我是和 C++ 一起学,这样很多概念更容易理解。
|
47
northernlights0 2022-04-16 12:01:28 +08:00 1
|
48
sheep3 2022-04-16 13:05:21 +08:00
真的那么难学吗?
不用的话还是别学了。 我转 Rust 感觉一个月就全搞定了,线上的项目都重构完了,后来招人转 Rust ,基本都是很快就上手了。 我感觉你的主要问题是没有目的,学了 Rust 干啥。 |
51
kernelpig OP @chuanqirenwu 老哥稳啊,还一块学着 cpp
|
52
kernelpig OP @northernlights0 谢老哥推荐,我看下🦀🦀
|
54
kios 2022-04-16 14:35:06 +08:00
我觉得还是需要有应用场景支撑才有持续学下去的动力。
|
55
wobuhuicode 2022-04-16 15:44:02 +08:00 via iPhone
把之前做过的项目用 rust 写一遍就好了
|
56
TK4E 2022-04-17 09:51:00 +08:00 via Android
我一个只会写 c 的结构体的人都学会了
rust 真的不是特别难 实践后觉得 rust 里最多的麻烦就是 1. 类型不匹配 2. 生命过短 3. 临时变量 解决方法 1. 如果编译器说 &str 和 String 不匹配 那么想办法把 &str 变成 String 就好了 2. 比如 这段会报错 ```rust let a = { let b = 5; // 这里 } println!("{}",b); ``` 写成这样就可以了 ```rust let b; let a = { b = 5; // 这里 } println!("{}",b); ``` 3. 大概是这样 具体例子想不起来了 ```rust v.xxx().yyy(); // 有时会出错 let a = v.xxx(); a.yyy(); // 需要这样 ``` 其他的 trait/macro/泛型 不太常用 除非你是在写依赖库 实践的例子 https://github.com/TK4E/Learn/tree/main/Rust/Project |
57
abutter 2022-04-17 10:41:32 +08:00
我也是在找 C 的 replacement ,现在基本是 go ,看过 rust ,在看 zig 。
|
59
kernelpig OP @wobuhuicode 已开启,想明白了,没必要开始掌握所有特性,学 50%就可以动手了,在实践中逐步提高吧
|
60
kernelpig OP @TK4E 嗯嗯是的,不考虑高级特性的话,还是容易接受的,主要是看高级特性看迷惑了,先动手实践吧,在实践中成长
|
62
timothyye 2022-04-17 15:44:11 +08:00
|
63
zglzy 2022-04-17 16:54:38 +08:00 via Android
也推荐一本教科书 :Rust in Action 然后就是动手做项目在实践中和 borrow checker 做斗争吧
|