一、Rust简介
Rust语言至今已经成为了一门同时追求安全、并发和性能的现代系统级编程语言。
为了打成目标,Rust语言遵循了以下三条设计原则:
-
内存安全
一般来说,一门语言只要保证类型安全,就可以说它是一门安全的语言。简单来说,类型安全是指类型系统可以保证程序的行为是意义明确、不出错的。C/C++语言的类型系统就不是类型安全的,因为他们并没有对无意义的行为进行约束。简单的例子就是数组越界。C/C++并不对其做任何检查,导致发生了语言规范规定之外的行为,也就是未定义行为(Undefined Behavior)
Rust语言如果想保证内存安全,首先要做的就是保证类型安全,其中所有权系统、借用和生命周期起主要作用,详细介绍后面会补充
-
零成本抽象
关于抽象表达能力,Ruby是最具有代表性的语言,但是Ruby的抽象能力完全是靠牺牲性能换来的,而Rust的抽象并不会存在运行时性能开销,这一切都是在编译期完成的。Rust零成本抽象的基石就是泛型和trait,后面会逐步揭开。
-
实用性
评价一门语言的实用性,可以从以下三个方面进行评价:
1.实践性
2.有益性
3.稳定性
这三者对于Rust而言,都做足了准备。
二、Rust如何实现跨平台
重点讲一下Rust如何实现跨平台语言,这一点大家也可以与Java进行对比。
Rust跨平台得益于LLVM,Rust编译器是一个LLVM编译前端