Rust 学习几个月之后,真正要自己写的时候就懵逼

2025 年 4 月 24 日
 5261

Rust 入门这几个月之后,主要学了 axum 、tokio 、tonic 这些后,然后准备自己写个 tg bot api 玩玩,发现已经有现成的 teloxide ,然后再这个基础上写自己的 bot api

写到一半的时候发现还是有很多内容不熟悉,看文档的时候都知道是咋回事,真正自己上手写的时候就懵逼

这种感觉真的太受挫了!

4054 次点击
所在节点    Rust
25 条回复
coderlxm
2025 年 4 月 24 日
哈哈哈这就对了 我学了 1 个月就感觉跟没学似的
5261
2025 年 4 月 24 日
@coderlxm 才 1 个月,继续加油吧,还有不少内容要学的
arloor
2025 年 4 月 24 日
纸上得来终觉浅嘿嘿,这种感觉跟学第一门编程语言应该有点像
jianjian714
2025 年 4 月 24 日
为啥要学 rust ?现在有厂开始大面积推了?
zlo309618100
2025 年 4 月 24 日
同问,为啥要学 rust
5261
2025 年 4 月 24 日
@jianjian714
@zlo309618100 别问,问就是打开编程视野,总不能在 Java 路上死绝!
nebkad
2025 年 4 月 24 日
@jianjian714 @zlo309618100
因为在使用 Rust 语言的实践过程中,创造了一些以前的编程语言不能实现的解法。
这些解法通过 Rust 语言的一些特色设计来实现,包括但不仅限于,显式声明生命周期,借用检查,等等。
所以如果你对这些解法感兴趣,例如解决什么问题,如何解决的,那么就可以去学习一下。

推广了才来学那完全没必要,推广的时候除了浅显的 hello world ,很难理解上面的举例到底是干啥的。
因为推广而学一门编程语言,就像低买高卖一样,可能可以赚钱,但可以赚钱是不太可能的
5261
2025 年 4 月 25 日
@nebkad 学完之后,Rust 的 过程宏和借用检查确实惊艳到我了!

不过恶心的也有,就是 符号是真的多,理解起来有难度,有的时候很懵逼!
yy9999
2025 年 4 月 25 日
正常的, 编程这个东西, 需要 刻意练习, 需要悟道, 积累多了, 某一天就突然一下子 "通了", "开窍了"
OneDemo
2025 年 4 月 26 日
rust ,从入门到再次入门,我都前前后后入门三次了
PTLin
2025 年 4 月 26 日
https://cheats.rs/ 建议从头到尾过一遍,确保除了宏之外的东西能看明白 80%,并且要完全理解 Language Sugar 那一章提到的内容。
5261
2025 年 4 月 26 日
@PTLin 好的,这个链接的内容我是在计划要看的
webnewobject1
2025 年 4 月 28 日
有条件的话建议学习 lambda 演算法。可以尝试去理解一下函数式编程。rust 想要理解透彻的话,还是得要学这两个的。进阶的话可以先去学一下 haskell ,然后学习一下怎么使用和组装组合子。这样的话基本上能看懂很多东西了。我也是从 oop 过来的。oop 有很多东西并不适用于 rust ,但是如果把 rust 弄清楚了。会有很多好点子用到 oop 上面
5261
2025 年 4 月 28 日
@webnewobject1 老哥目前 Rust 是主力语言还是第二语言呢
webnewobject1
2025 年 4 月 28 日
@5261 主力,fp 和 oop 为辅助,fp 提供理论支撑,oop 提供实践工具。目前亲测最好的实践就是 rust+haskell+ts 或 Python ,这样可用性较强,java 的话心智消耗太高了,而且有些设计是冲突的,所以就放弃了。golang 可以当玩具写,毕竟 ts 和他很像。
5261
2025 年 4 月 28 日
@webnewobject1 主要写底层还是中间服务呢? 我是主要 Java web 开发,rust 拿来写 web 或者业务也不知道是否合适
webnewobject1
2025 年 4 月 28 日
@5261 其实他啥都能写,不过 ui 不是很好写。个人感觉来说 web 也很合适,跟 Java 不相上下。但是呢,Java 上的很多方法论在 rust 的上是用不了的。很多思想要换过来,就比如说这个 sql ,rust 更倾向于在 rust 代码上去解决这个事情。尽量不要用原生,因为无法预期控制。让组合子去代替动态 sql ,不过现在 rust 的最大的问题就是轮子太少了。很多东西都要自己写,而且他要求就是说在写之前就得想好,不是想好细节,就是想好整个项目的大体抽象。
所以呢,它更像是将原本的程序设计变得更重要了,就是在软件工程领域上的话。如果设计不好的话就容易写不下去。这就是为什么很多人写这个东西就觉得非常难受。说通俗点就是你拉屎之前必须把这个擦屁股的动作就给想好了。
如果说你的程序设计弄得比较好,抽象结构都比较合理的话,写起来就非常爽。基本上固定下来之后跑上去的东西不用怎么写测试。只需要回顾一下逻辑对不对就行了。然后弄上去的东西基本上不需要维护。然后特定的抽象设计,还能把形式化给他引进来。这样的话甚至都不用测试,因为数学已经证明过了。(当然对于 web 来说这感觉有点像牛刀杀鸡)
总的来说就是,rust 强迫你回顾你的程序设计,降低造屎概率。
还有就是他其实不是很适合快速原型,快速原型用其他的就好了,比如说 Python 之类的。
webnewobject1
2025 年 4 月 28 日
@5261 还有一个就是非常简易的判断标准,可以看需求到底完不完善。或者说需求是要做一个可靠程序,还是说快速原型?如果是前者的话就直接上 rust ,如果是后者的话,就直接用胶水语言就行了。因为快速原型不需要搞那么多错误处理,只需要原型能跑出来就行了。
Lhcfl
2025 年 4 月 29 日
可以用 teloxide_core 这个库,是 teloxide 的 api 层,糖少一点比较方便理解
caobug
2025 年 4 月 30 日
@webnewobject1 想在 RUST 上堆屎山代码并不容易。

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

https://study.congcong.us/t/1127817

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

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

© 2021 V2EX