4

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

 3 years ago
source link: https://zhuanlan.zhihu.com/p/365845688
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

一个人NB的不是标签

Rust连续四年在stack overflow被评为最喜欢的编程语言,声称没有undefined行为,以及没有data race。通过这段时间的学习,发现即使现在我没有使用rust进行项目的开发,它的一些特性,让我对编写程序有了更深入的认识,也让我对C++有了更好的认识。比如多线程编程的困境:Sync, Send, and 'Static让我使用C++编写多线程程序有了更深入地认识。

以下是这段时间编写的对Rust的理解的文章。

薛定谔的喵:Rust那些难理解的点(持续更新)
薛定谔的喵:多线程编程的困境:Sync, Send, and 'Static
薛定谔的喵:Rust module System

还有两三篇在草稿箱里面,会陆续完善发布。

为什么学习Rust会有助于建立正确的编程思考模型?因为Rust为了保证没有data race以及在不引入GC的情况下保证memory safty,它选择的方法是通过类型系统来解决。而要通过类型系统解决,那么很多要求都需要表现在类型上面。当你学习Rust的类型系统的时候,你也就相应地学习了对应的要求以及要解决的问题。比如Send,Sync, ‘static这三个概念,它的提出就是为了解决多线程程序的data race,那么学习为什么这三个概念可以防止data race,那么你就会明白多线程程序里面要注意的事项。(详情请看上面文章关于多线程的文章)。

所以Rust可以帮助你提升编程的内力。(注意并不是唯一的方法)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK