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

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 编译框架作为它的后端(关于 LLVMhttp://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给了你 可以分配内存,可以消除许多安全和稳定性问题的力量!

关注我们: 

时间: 2024-10-12 20:06:23

2. Rust的三板斧 安全,迅速,并发的相关文章

Rust入坑指南:齐头并进(下)

前文中我们聊了Rust如何管理线程以及如何利用Rust中的锁进行编程.今天我们继续学习并发编程, 原子类型 许多编程语言都会提供原子类型,Rust也不例外,在前文中我们聊了Rust中锁的使用,有了锁,就要小心死锁的问题,Rust虽然声称是安全并发,但是仍然无法帮助我们解决死锁的问题.原子类型就是编程语言为我们提供的无锁并发编程的最佳手段.熟悉Java的同学应该知道,Java的编译器并不能保证代码的执行顺序,编译器会对我们的代码的执行顺序进行优化,这一操作成为指令重排.而Rust的多线程内存模型不

Rust的“并发安全”设计

部分内容参考Aaron Turon的文章<Fearless Concurrency with Rust > 昨天发了一篇说异步IO和轻量级线程的文章,有人问我为什么不在后面补充一下rust的并发模型.其实rust并不存在一个独特的并发模型,但它从语言层面上提供了一整套机制来保证并发的安全,借助这套机制,你可以安全的实现很多并发模型,如消息传递式.共享状态式.无锁式和纯函数式.昨天晚上我在群里和人讨论有关设计的话题,我觉得一个好的设计应当有两方面表现,一方面是符合直觉,也就是各个方面保证一致性以

Atitit.rust语言特性&#160;attilax&#160;总结

Atitit.rust语言特性 attilax 总结 1. 创建这个新语言的目的是为了解决一个顽疾:软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升.1 2. 不会出现Null指针等等1 2.1.1. Rust 1.1 稳定版 更新内容1 2.1.2. Rust 1.2 测试版 更新内容2 3. RAII2 3.1. 无数据竞争(Data Race)…无需竞争的并发,Rust能够确保在并发编程中的数据安全3 4. 是基于继承的组合,Rust能基于继承实现组合,

半个月使用rust语言的体验

从第一次下载rust语言的编译器到今天刚好第14天. 简单说一下对这个语言的感觉吧. 一.性能 把以前用java写的一个中文地址切分的算法,用rust重新实现了一下(https://github.com/naturemickey/addressCut_use_rust).运行的速度上,rust的release版本要比java快上一倍左右. java版本的代码量是800多行,而rust版本的代码量是600多行. 这个体验还是很不错的,毕竟才刚刚开始学习rust语言,很多代码自己都觉得写得丑陋无比(

传教文:Rust 大法好

Rust 是一门设计得非常不错的语言.我在 Twitter 上经常提起它.现在发布了 1.0 Alpha 测试版,是时候开始安利了! 不好意思图贴错了, 简介 Rust is a systems programming language that runs blazingly fast, prevents almost all crashes, and eliminates data races. 这是网站上的宣传语.作为一个系统级编程语言 Rust 并没有 .NET 或者 JVM 那样厚厚的

Rust语言的多线程编程

Concurrency并发 在计算机科学上,并发Concurrency 和并行 parallelism是非常重要的话题,也是软件产业一个热门的话题.电脑有了越来越多的的核,但喝多程序员没有准备好充分利用它们. Rust的内存安全特性也应用于并发.Rust程序必须内存安全,没有数据竞争.Rust的类型系统 很胜任这工作,很容易让你理解在编译时的并行代码. 在谈论Rust并发特色之前,了解一些东西很重要:Rust是一门足够低级的语言,所有这些都由标准库提供,而不是语言本身.这意味着如果你你不喜欢Ru

为什么我说Rust是靠谱的编程语言

为什么我说Rust是靠谱的编程语言 作者:Liigo(庄晓立) 时间:2015年5月16日 原创链接:http://blog.csdn.net/liigo/article/details/45757123 版权声明:未经作者许可不得转载:授权转载需注明出处. 序言:本文试图帮您解答"我要不要(投入大量时间和精力)学习Rust语言?"这个问题.作者尽量较少的谈及Rust语言本身,反而尝试从Rust语言周边入手,长时间.大范围.多角度地考察,研判Rust语言是否靠谱,并给出尽可能客观的理由

Rust与D 的PK 2

比较Rust与D的并发运算能力,Rust 1.0 alpha2 ,D 2.067b1.都设置为使用总CPU数的75%. 比较2点:1.使用内存,2.运行时长. (注:虽然此题已在 以下两篇文章中以"数学公式"法做过比较,但对运行效率的比较意义不大. http://blog.csdn.net/iilovetopview/article/details/43745059 http://blog.csdn.net/iilovetopview/article/details/43913027

Rust语言

Rust语言 https://doc.rust-lang.org/stable/book/ http://www.phperz.com/article/15/0717/141560.html Rust是一款全新的系统编程语言,专注于安全性和性能,致力于打造更高效.更可靠的系统.同一时候,Rust也是Mozilla新一代浏览器引擎Servo的编写语言,希望能在确保安全性的同一时候提升在移动设备上的性能和表现. on command installation: $ sudo curl -sf -L