古代编程语言有很多,在我的编程学习外面有小学阶段的 LOGO , 中学阶段的 Pascal ,也有在大学阶段的 C/C++ , Java , .NET ,再到工作的 Objective-C , Swift , Go ,Kotlin ,以及 Rust 。在完结了2021年4个月的人工智能课程后,我在想有什么技能能够带给各位 Reactor 的小伙伴, 我有想过是我司三朵云上很 Cool 的产品,还是一些解决方案的事件。在衡量后, 我决定带给大家 Rust 作为2022年新的开始。
为什么抉择 Rust ?
不晓得从哪个工夫开始,每个语言诞生都在说本人的高性能,可靠性,和生产力。假使你真正入坑后,总会有各种埋怨。 我理解 Rust 是3年前衣明志老师介绍的。 他是怎么安利的我遗记了,不过我就踏入了这个坑了。首先 Rust 的语法和 C++ 很像, 具备高速和内存安全性。 Rust 是零碎级别编程语言。
咱们来看看 Rust 和 C/C++ 的一些对于内存平安的比照
int checkStr() { char *str = strdup("Hello Reactor!"); return 0; }
在 C/C++ 中下面语法,就遗记了开释指针,导致了内存泄露,这是一个十分根底的问题,但到了 Rust 就通过作用域去防止了同样的问题
fn checkStr(){ let str = String::from("Hello Reactor!"); }
就单从内存安全性就真心好用了。还有 Rust 通过 Crates 去治理相干的包, 和整个我的项目代码从我的项目建设,构建到测试,到运行部署的周期, 对比起在 C/C++ 开发时的横七竖八,真的是太难受了。
用什么开发工具 Rust ?
一个好的工具,能够晋升开发的效率,开发 Rust 我强烈还是举荐用 Visua Studio Code ,外面有十分欠缺 Rust 反对。 rust-analyzer 和 CodeLLDB , crates 三大插件装置好, 你就能够十分高效地实现rust的开发。
我的课堂上也利用了另外一种形式用 Jupyter Notebook 来实现, 通过 Notebook 你能够实现相干的一些语法学习,以及做一些数据分析。
在课后也有一些小伙伴问我如何装置。这里我就附上一些装置步骤。
- Python环境装置和根本的 Jupyter Lab 装置
请参考我的之前的文档 :
Windows 装置
https://github.com/kinfey/Han...
Linux/macOS 装置
https://github.com/kinfey/Han...
- 组件装置
cargo install evcxr_jupyterevcxr_jupyter --install
留神: 这里有不同的系统配置要求,更多能够参考这里 https://github.com/google/evc...
对于 Rust 利用在哪里
Rust 的利用场景很宽,基于本身特点,罕用于一些底层,后端服务,网络编程的工作。官网也列出了一些次要利用场景
在这次系列课程里,我次要针对 Web 后端的工作做了相干介绍,当然也提及到 WebAssembly 。倡议小伙伴能够回看我的 Rust 课程第二第三讲。
Rust 的 Web 框架
Actix 和 Rocket 都是十分成熟的 Rust 页面服务框架,两者不相伯仲,我的课程以 Actix 框架为主 ,当然你也能够尝试一下 Rocket 这个框架 。 以下是两个框架的一些介绍, 本人能够依照理论状况进行框架的抉择
我集体是比拟重视架构,好的架构是一个好的我的项目的开始,做后端服务,大家离不开 MVC 这个相熟的模式, 联合 Rust 的包的常识能够把 Actix 的后端解决方案架构出十分好的我的项目。倡议大家在架构 Rust 后端服务的时候,参考下我的第三讲所提到的形式。
课程的后续补充
三周的课程是十分短的, Rust 波及的点还有很多。例如如何用 Dapr 和 Web Assbembly 的利用 也是我想讲的,接下来我会通过 Work Shop 的形式和大家说说,敬请期待!
最初附上这三个系列课程
点击进入看 Rust 编程语言 - Rust 根底学习
点击进入看Rust 编程语言 - Rust 网页编程
点击进入看 Rust 编程语言 - Rust 网络编程&IoT编程