赞
踩
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日期
未完待续........
困了睡一会儿
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。