当前位置:   article > 正文

rust入门

rust入门

rust作为一名新兴语言,与go又有些许不同,因为它的目标是对标系统级开发,也就是C、C++这两位在编程界的位置。比如我们最常用的windows系统,就是用C/C++语言开发的,也正因如此,我们才能用C++在VS中非常方便的调用win API函数。

涉及到底层,需要控制的细节就会越多,rust试图通过简便语法、便利包管理、安全可靠等良好特性脱颖而出。

目前rust语言最大的缺点是生态还不够完善。

比如当你想要用rust写GUI程序,就很麻烦,因为官方目前还没有推出GUI库,但这并非是无法解决的,rust同样意识到了这个问题,所以它提供了简便的方式让你可以直接在代码中调用C语言开发的库。

这意味着只要是用C语言开发的库,你就能用rust语言调用它进行开发。

比如你可以使用rust绑定C开发的FLTK、GTK等GUI库就可以进行开发GUI程序了,当然也有正在发展的库,比如egui、iced、tauri等等。个人目前最推荐的是Tauri,前提需要会web前端:初识Tauri。

而rust带来的代码安全、便捷的开发又是C语言所无法比拟的,随着Rust生态的不断完善,会取代很大一部分C/C++的份额,不过想要彻底将C/C++取代段时间来看还是有点不现实的,比如windows、linux、mac三大操作系统以及各种C/C++开源库的代码量巨大。

先学C/C++语言,再来学rust:初识C++。

Rust简介
Rust语言在2006年作为 Mozilla 员工 Graydon Hoare 的私人项目出现,而 Mozilla 于 2009 年开始赞助这个项目。第一个有版本号的 Rust 编译器于2012 年 1 月发布。Rust 1.0 是第一个稳定版本,于 2015年5月15日发布。

 为什么要学Rust

Rust是一种令人兴奋的新编程语言,它可以让每个人编写可靠且高效的软件。

它可以用来替换C/C++,Rust和它们具有相同的性能,但是很多常见的bug在编译是就可以被消灭。

Rust是一种通用的编程语言,但是它更善于以下场景

--需要运行时的素的

--需要内存安全

--更好的利用多处理器

与其他语言比较

C/C++性能非常好,但类型系统和内存都不太安全。

Java/C#,拥有GC,能保证内存安全,也有很多优秀特性,但是性能不行。

Rust:

内存安全:
Rust 中的所有内存访问都经过了编译器的严格检查,并且在运行时不会出现空指针异常或数据竞争等问题。这意味着 Rust代码具有更高的可靠性和安全性,可以避免常见的安全漏洞。而C语言则时常需要担心指针、内存问题,尤其是在大型项目中,非常容易因此出现各种各样的Bug。

高效性能:
Rust具有与 C 和 C++ 相当的性能,并采用了现代语言的特性和设计理念,如智能指针、闭包和模式匹配等。这使得 Rust很适合编写高性能、低延迟的系统级应用程序和库。

并发性:
Rust的所有权系统和借用规则使其易于编写线程安全的代码,即使在多线程环境下也可以保持高效率和可靠性。C/C++中则完全需要自己进行控制。

社区支持:
Rust拥有活跃的社区,在crates上提供了许多开源库、工具和框架,可以大幅度提升开发效率。

C/C++虽然学习的人很多,但却几乎没有官方的、活跃的社区可以供大家交流,都是在各搞各的。

统一包管理
C/C++中,最让人诟病的便是包管理了,想要用一个包,还需要自己下载、安装、配置等等。

而Rust则直接提供了一个统一的包管理程序,只需要写一行代码,就能自动为你下载配置好你所需要的一切,并且还提供对应的文档,使用起来非常方便!

综上,能看出Rust的优势。

Python有一个统一的包管理程序pip,可以很方便的下载各种第三方包,而不需要像C++那样自己配置。而一旦学会了Rust,即使是作为较为底层的开发人员,我们同样也能享受到这种便利了。

这是学习C/C++所无法想象的,虽然目前有一个vcpkg包管理库很不错,但这毕竟不是标准委员会推出的,而是微软带头组织的一个开源项目,如果不会科学上网,中国几乎也无法使用。

也无法使用。

Rust特别擅长的领域

高性能Web Service

WevAssembly

命令行工具

网络编程

嵌入式设备

系统编程

Rust的用户和案例

Google:新操作系统Fuschia,其中Rust代码量大约占30%

Amazon:基于Linux开发的可以直接在裸机、虚拟机运行容器的操作系统

System76:纯Rust开发了下一代安全操作系统Redox

蚂蚁金服:库操作系统Occlum

斯坦福和密歇根大学:嵌入式实时操作系统,应用于Google的加密产品

微软:正在使用Rust重写Windows系统中的一些低级组件

微软:WinPT/Rust项目

Dropbox、Yelp、Coursera、LINE、Cloudflare、Atlassian、npm、Ceph、百度、华为、Senty、Deno...

安装Rust编译器
与C/C++一样,Rust也是一门编译型语言,也就是说,Rust的代码必须要先编译成为二进制程序之后才能运行。比如window系统中我们最常看到的.exe二进制可执行程序,而python则是解释性语言,无需编译,只要有python的解释器,就能一行一行的解释代码然后执行,这同样也是影响python速度的一大原因。

一般在浏览器中直接搜索Rust,出现的第一个就是Rust的官网了,不过我这里也还是放一下它的官网地址,可以直接点击查看:Rust

然后点击“马上开始”:

之后就是下载Rust的安装器,由于目前一般都是64位的电脑,所以选择第二个即可:

下载后,点击运行这个程序,等待其安装完毕。

由于我原本就安装了VS2022,所以它并没有提示我安装任何东西,如果你没有安装VS,则可能要你安装上方提示的Microsoft C++生成工具,确认安装即可。

安装完成后,进入控制台运行命令:cargo --version

能打印出版本则说明安装成功了,不会进入控制台的可以参考文章:推荐文章-3.程序员常识-酷程网 (kucoding.com)

第一次使用你可能就会觉得有些疑惑,明明安装的是Rust,这里怎么是Cargo命令呢?

这一点可以看官网说明:

简单来说就是Cargo是Rust语言的包管理软件,后面我们开发Rust时,使用的也基本都是这个命令。

更新与卸载Rust

更新Rust

--rustup updata

卸载Rust

--rustup self uninstall

安装验证

rustc --version

--结果格式:rust x.y.z(abcabcabc uuuu-mm-dd)

--会显示最新稳定版的:版本号、commit hash、commit日期

未完待续........

困了睡一会儿

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/847168
推荐阅读
  

闽ICP备14008679号