Rust之旅 linux下rust环境搭建

Rust之旅 linux下rust环境搭建,第1张

从今天开始,我们将开始我们的Rust语言学习之路。Rust 语言是一种高效、可靠的通用高级语言。其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有的兼顾开发效率和执行效率的语言。

首先我们需要搭建好开发环境,本次选用linux作为服务器系统,也是为以后项目环境做考虑。毕竟windows作为服务器系统还是过于小众。

如果您曾经安装过 rustup,可以执行 rustup update 来升级 Rust。

在ssh界面运行以下命令:

如果您熟悉rustup安装程序并希望自定义安装,请选择第二个选项。 但是,出于本教程的考虑,我们仅选择默认的第一个选项,然后按Enter。

在 Rust 开发环境中,所有工具都安装在 ~/.cargo/bin 目录中,您可以在这里找到包括 rustc、cargo 和 rustup 在内的 Rust 工具链。

运行以下命令

运行以下命令

如果出现以下版本号则证明安装成功

如果想卸载 Rust,您可以运行

如果想更新Rust,可以运行

Rust 是一门系统级编程语言,被设计为保证内存和线程安全,防止段错误产生。作为系统级编程语言,它的基本理念是 “零开销抽象”。理论上来说,它的速度与 C/C++ 同级。Rust 可以被归为通用的、多范式、编译型的编程语言,类似 C/C++。与这两门编程语言不同的是,Rust 是线程安全的!Rust 编程语言的目标是,创建一个安全和并发的软件系统。它强调安全性、并发和内存控制。尽管 Rust 借用了 C/C++ 的语法,却杜绝了空指针和悬挂指针,而这二者是 C/C++ 中系统崩溃、内存泄露和不安全代码的根源。

虽然 Rust 是一门系统级编程语言,但并不意味着它只能写底层程序( *** 作系统、驱动、工具、数据库、搜索引擎等),它的抽象层次之高完全给人惊艳的感觉,实践证明它对问题建模的能力和方便性不比 C++/Java/Python/Ruby 差。但 Haskell 这类超高抽象语言,也不是 Rust 的发展方向。Rust 力求在抽象与现实世界中找到一个平衡。

在向SCRY 项目研发负责人Peace交流时,他说到,当时选择Rust,主要有两个原因:一是有高性能要求时,原来好多人会选择C/C++,现在多了一个Rust选择,还解决了C/C++许多不足;二是Rust应用在区块链有成熟的参考。最后Peace给了未来使用SCRY项目开源部分的学习者一些建议,“快速的学习能力,快乐地把小事做好,正确合理定义一个函数。”

Rust到底有多受欢迎呢?目前,Rust 已经在 StackOverflow 的年度语言评选中,连续 4 年荣获“程序员最喜爱语言”第一名(2016, 2017, 2018, 2019)。以下是 2019 年调查的截图:

但比起Python、C、C++ 等,Rust还只是个小年轻。调查显示,更多的人不去学习 Rust 还是因为 Rust 没有足够的活跃商业项目让它成为企业的一部分。

不过,Rust 在工作中的占比也越来越高。过去一年间,Rust 在商业应用上有着令人惊讶的成长。下面是部分人们熟知的公司:

国内的百度,阿里,也已经在内部小范围的使用上了Rust。

就在本月初,微软还推出了基于 Rust 的 Windows 运行时项目 Rust/WinRT。该项目和 C++/WinRT 一脉相承,用标准语言和编译器为 Windows 运行时构建语言投影,从而方便 Rust 开发人员调用 Windows API,更轻松地使用 Rust 构建各类 Windows 应用和组件。

(https://blogs.windows.com/windowsdeveloper/2020/04/30/rust-winrt-public-preview/)

2015年下半年,Gavin Wood 博士创立了 Parity Technologies,推出以太坊(Ethereum)客户端 parity,而这个 parity 客户端就是使用Rust写的。实际在 parity 出现之前,MaidSafe项目就已经出现了。MaidSafe用 Rust 语言尝试了很多东西。Rust语言本身强调的安全性以及MaidSafe这些前沿项目,可能给了 Gavin 充分的理由选择 Rust 作为 parity 开发语言。

写一个有效率的、符合习惯的Rust程序比写一个有潜在危险的程序容易得多。下面是Linux内核在2018年一月到四月期间发现的bug:

而对于Rust而言,上图右侧占比 51% 的部分,从语言层面就可以避免。也就是说,对Rust来说,根本不存在上图右边这些问题。

Rust在实现内存安全和并发安全的同时,并没有以损失性能为代价。更牛逼的是,它甚至是用同一套抽象解决了内存安全和数据竞争这两个不同领域的问题。

Rust的零开销抽象让你在享受安全性的同时,又不损失性能。这正是传统的程序员梦寐以求的。

Solana的首席执行官Anatoly Yakovenko在一段采访中提到刚开始项目的时候,他用了两周时间使用C语言,但是当用到一些外部库的时候,还得写makefile,手动下载这些库,比较麻烦。所以,他决定尝试一下Rust。就在那一刻,“Holy shit, this is amazing.”“我才觉醒到,这是一个和C语言一样快的语言,并且还给了我Haskell般的类型安全。Rust击中了我,这真的很酷。”

今天Rust满5岁了(2020年5月15日,是Rust语言正式发布5年生日)。Rust语言正在IT工业各个领域快速发展,而由于区块链本身的特质,区块链领域是较早接纳Rust的领域之一。在区块链领域,Rust正以势如破竹之势占领区块链新兴项目市场,很多著名的老项目也在考虑转向使用Rust重写。

祝Rust 5周年生日快乐!

参考:

1. Why Rust?

https://www.parity.io/why-rust/

2. Meetup with Solana, Zcash, &Parity — Why Rust Is Ideal For Blockchain Development?

https://medium.com/solana-labs/solana-at-portland-dev-meetup-72e4dc7ad32c

3. Rust 2017 Survey Results

https://blog.rust-lang.org/2017/09/05/Rust-2017-Survey-Results.html

4. 微软开源 Rust/WinRT,方便使用 Rust 构建 Windows 应用

https://www.oschina.net/news/115354/microsoft-winrt

5. Stack Overflow’s Developer Survey Results 2019

https://insights.stackoverflow.com/survey/2019#developer-profile-_-what-inpidual-person-will-have-the-most-influence-in-tech-this-year

6. 当区块链遇上Rust

https://rustcc.cn/article?id=289da7be-19ce-49fe-af6d-3a7946404ca6

Rust 提供简单的一键安装,命令如下:

rustup 是 Rust 官方的版本管理工具,安装前首先配置国内镜像加速更新工具链:

运行以下命令进行安装:

安装后工具链会被安装到 $HOME/.cargo/bin 目录,.cargo/bin 目录会被添加到系统的 $PATH 环境变量,重新登录后即可使用 rustc,cargo 等命令。

使用国内镜像加速更新 crate 拉取,将如下配置写入 $HOME/.cargo/config 文件:

Rust 有三个 发布通道 (release channel):

使用 nightly 版本:

安装 RLS 组件:

安装 WASM:

安装 racer:

https://rustcc.gitbooks.io/rustprimer/content/install/install_rust_on_linux.html


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7298741.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存