找回密码
 立即注册
注册 登录
×
热搜: 活动 交友 discuz
查看: 74|回复: 4

Rust 系列:正确编程的思考模型

[复制链接]

2

主题

3

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2022-11-28 13:15:07 | 显示全部楼层 |阅读模式
Rust连续四年在stack overflow被评为最喜欢的编程语言,声称没有undefined行为,以及没有data race。
通过这段时间的学习,发现即使现在我没有使用rust开发项目,它的一些特性,也让我对编写程序有了更深入的认识,也让我对C++有了更好的认识。
比如多线程编程的困境:Sync, Send, and 'Static总结了多线程编程的一些注意事项。
以下是这段时间编写的关于Rust的文章。
一、Rust那些难理解的点
二、多线程编程的困境:Sync, Send, and 'Static
三、Rust module System
四、闭包是什么, C++和Rust的视角
五、怎么理解C++虚函数?fat pointer in GO/Rust vs thin pointer in C++
六、C++:Rule of five/zero 以及Rust:Rule of two
七、什么是move,理解C++和Rust的一步
八、Rust: PhantomData,#may_dangle和Drop Check 虚虚实实
九、Rust源码阅读:引用计数/Rc
十、内部可变性/Interior Mutability in Rust
十一、Rust源码阅读: Cell/RefCell与内部可变性
十二、Rust: Pin与刻舟求剑
十三、Rust: Lifetime 解惑, 生命周期还在
十四、
为什么学习Rust会有助于建立正确的编程思考模型?
因为Rust为了保证没有data race以及在不引入GC的情况下保证memory safty,它选择的方法是通过类型系统来解决。
而要通过类型系统解决,那么很多要求都需要表现在类型上面。
当你学习Rust的类型系统的时候,你也就相应地学习了要解决的问题以及对应的解决办法!
比如Send,Sync, ‘static这三个概念,它的提出就是为了解决多线程程序的data race,那么学习为什么这三个概念可以防止data race,那么你就会明白多线程程序里面要注意的事项。(详情请看上面文章关于多线程的文章)。
所以Rust可以帮助你提升编程的内力。(注意并不是唯一的方法)
回复

使用道具 举报

0

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2022-11-28 13:15:57 | 显示全部楼层
这些文章内容都很凶猛,建议想深入学习 Rust 的同好们都仔细读一下
回复

使用道具 举报

1

主题

3

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2022-11-28 13:16:45 | 显示全部楼层
好像连续七年了
回复

使用道具 举报

1

主题

3

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2022-11-28 13:17:28 | 显示全部楼层
[飙泪笑]再过一年估计是八了
回复

使用道具 举报

0

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2022-11-28 13:18:22 | 显示全部楼层
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋| 黑客通

GMT+8, 2025-10-13 00:57 , Processed in 0.112499 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2020, LianLian.

快速回复 返回顶部 返回列表