Rust 学习 day1"/>
Rust 学习 day1
一、Rust简介
是什么、可以干什么、为什么要使用它、解决的问题:
1、Rust是一门新的系统编程语言,兼具C和C++的高性能和底层控制能力,而且能保证内存安全和线程安全,是系统编程发展史上的一个巨大进步;
2、比如,“系统层面”(“systems-level”)的工作,涉及内存管理、数据表示和并发等底层细节。
3、但 Rust 并不局限于底层系统编程。其表现力和工效足以令人愉悦的编写出 CLI 应用、web server 和很多其他类型的代码 —— 在本书中你会看到两个简单示例。使用 Rust 能将你在一个领域中学习的技能延伸到另一个领域;你可以学习 Rust 来编写 web 应用。
4、因为还缺一门无 GC 且无需手动内存管理、性能高、工程性强、语言级安全性以及能同时得到工程派和学院派认可的语言,而 Rust 就是这样的语言。
5、要学好 Rust,你需要深入理解内存、堆栈、引用、变量作用域等这些其它高级语言往往不会深入接触的内容。另外,Rust 会通过语法、编译器和 clippy 这些静态检查工具半帮助半强迫的让你成为更优秀的程序员,写出更好的代码。
6、目前 Rust 的主战场是在开源上,Go 的成功也证明了农村包围城市的可行性。
- UI 层开发,Rust 的 WASM 发展的如火如荼,隐隐有王者风范,在 JS 的基础设施领域,Rust 也是如鱼得水,例如
swc
、deno
等。同时nextjs
也是押宝 Rust,可以说 Rust 在前端的成功完全是无心插柳柳成荫。 - 基础设施层,数据库、搜索引擎、网络设施、云原生等都在出现 Rust 的身影,而且还不少。
- 系统开发,目前 Linux 已经将 Rust 列为即将支持的内核开发语言,是继 C 语言后第二门支持内核开发的语言,不过刚开始将主要支持驱动开发。
- 系统工具,现在最流行的就是用 Rust 重写之前 C、C++ 写的一票系统工具,还都获得了挺高的关注和很好的效果,例如 sd, exa, ripgrep, fd, bat 等。
- 操作系统,现在在使用 Rust 开发的操作系统有好几个,其中最有名的可能就是谷歌的 Fuchsia,Rust 在其中扮演非常重要的角色。
- 区块链,目前 Rust 和 Go 可以说各领风骚,未来 Rust 可能会一统江湖。
现在有大量的项目在被用 Rust 重写,同时还有海量的项目在等待被重写,这些都是赚取 star 和认可的好机会。在其它语言杀成一片红海时,Rust 还留了一大片蓝海等待大家的探索!
7、
8、C/C++你不去手动管理内存马上就崩,这是最蛋疼的;写了同样一个需求,java和go都占用内存100M,rust占用3M;rust 在性能速度上确实超过了C++, 仅次于 C。 并且能比C++提供更好的内存安全性和多线程安全(编译时防止数据竞争). 适合并发编程
9、
缺点就是生态少工作少
10、
二、安装环境
一定要先安装c++环境,再安装rust,
windows下rust开发环境可以选择 MSVC 或安装 MinGW + GCC 。前者需要安装 Visual Studio 2013 或以上的环境(需要 C/C++ 支持)以使用 MSVC。vs安装太占空间了,动则十几G。而MinGW + GCC 只需要500多M,压缩包50M内。所以笔者选择MinGW + GCC。
rust开发环境mingw64 - 简书
Rust安装(windows)_cheniie的博客-CSDN博客_rust安装
安装:1.2 - 安装 Rust_哔哩哔哩_bilibili
判断是否安装,以及查看安装版本:
三、开发工具
我这里选择前者,安装vscode很快。
不过插件现在 选择下面这个
四、hello_world
设置函数rust程序名字 为 main.rs
五、对于大项目,用Cargo
更多推荐
Rust 学习 day1
发布评论