2. Rust的三板斧 安全,迅速,并发_C/C++_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > C/C++ > 2. Rust的三板斧 安全,迅速,并发

2. Rust的三板斧 安全,迅速,并发

 2016/5/12 5:33:22  吴凡鑫的个人主页  程序员俱乐部  我要评论(0)
  • 摘要:Rust不是一个拥有前沿科技的革命性语言,但是Rust合并了已经在老的语言中证明了自己的技术。当然它在c++的基础上大大的提升安全性。Rust的开发者,设计Rust成为通用的有大量实例的语言。就像C++,他是结构化的面向对象语言。除了这一点,它从现有的语言中集合和继承了许多先进的技术。在Rust中,输入变量是静态和强壮的因为Rust已经被编译好。但是,不像java和C++,开发者不用强制去制定所有实物的类型,Rust的编译器在很多情况下可以推测类型。C和C++中
  • 标签:

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给了你 可以分配内存,可以消除许多安全和稳定性问题的力量!
关注我们: 
  • 相关文章
发表评论
用户名: 匿名