Rust不是一个拥有前沿科技的革命性语言,但是Rust合并了已经在老的语言中证明了自己的技术。当然它在c++的基础上大大的提升
安全性。
Rust的开发者,设计Rust成为通用的有大量实例的语言。就像C++,他是结构化的面向对象语言。除了这一点,它从现有的语言中集合和继承了许多先进的技术。
在Rust中,输入变量是静态和强壮的因为Rust已经被编译好。 但是,不像java和C++,开发者不用强制去制定所有实物的类型,Rust的编译器在很多情况下可以推测类型。
C和C++中,有被人熟知的一系列问题会导致系统的崩溃,
内存溢出。而且这些问题是很难被调试和解决的。
想象一下 dangling pointers,缓冲区溢出,空指针,segmentation
错误,数据风暴等等都可以被避免是多么美好。
Rust的编译器又叫做RUSTC 是非常
智能,而且在编译时可以识别处这些
异常。从而在执行中保护内存的安全。 这些是编译器的工作,并且同时编译器保留内存布局的控制,这样就不需要在运行时,垃圾收集器带来的负担。
另外它的安全也意味着更少的
安全隐患的可能性。
Rust类似Go和Julia语言一样的编译代码。但是,和Go和Julia相比,Rust不需要垃圾收集器。 在这个方面,这和java的
JVM和其他运行在JVM上的语言比如Scala和Clojure也有很大不同。 其他的大部分语言比如 .NET,JavaScript,Python,Ruby,Dart和其他,都需要虚拟机和垃圾收集器。
作为Rust的其中一个并发机制,Rust采用Erlang中熟知的角色模型。 轻量级的进程叫做现成平台,所有现成平行运行。它们之间不
分享堆内存,但是数据通过频道交流,数据风暴被Rust的type系统所屏蔽。
这些原函数使的开发者在未来计算机平台中平衡
多核cpu。
这个rust编译器是自我编程的,说明它本身也是用Rust编写的并且是被它的前一个
版本的自己编译的。它使用LLVM 编译框架作为它的后端(关于 LLVM http://en.wikipedia.org/wiki/LLVM) ,然后制作本地可执行的代码,这样它可以运行的非常的快,媲美C++ (一个关于速度的
例子 http://benchmarksgame.alioth.debian.org/u64q/rust.php).
Rust设计时是作为可一直语言的比如C++,而且它运行在广大的在使用中的硬件和软件平台。 现如今,它可以运行在Linux,MacOS X,Windows,
FreeBSD,Android和IOS。 它可以称作为C系列语言,就和C一样简单和高效,一样可以调用它自己的代码,而且相反,C语言也可以调用Rust的代码。
下面是Rust的Logo。
其他Rust的特性我们后面再详细讨论。如下:
Rust的
变量初始化时是不变的。
枚举
模式匹配
泛型
高阶功能和回路
界面系统(叫做traits)
一个干净的宏系统
零消耗的抽象画,这表示Rust有高级语言的构造但是在表现上没有突破。
总结一下,Rust给了你 可以分配内存,可以消除许多安全和稳定性问题的力量!
关注我们: