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给了你 可以分配内存,可以消除许多安全和稳定性问题的力量!
关注我们: <ignore_js_op>
|
转载于:https://www.cnblogs.com/melorogee/p/4838144.html
2. Rust的三板斧 安全,迅速,并发相关推荐
- Rust权威指南之无畏并发
一. 简述 安全并且高效地处理并发编程是Rust的另一个主要目标.并发编程和并行编程这两种概念随着计算机设备的多核优化而变得越来越重要.并发编程允许程序中的不同部分相互独立地运行:并行编程则允许程序中 ...
- Rust:并发编程(concurrent programming)
得益于所有权系统以及类型系统,Rust有着非常优异的并发性能. 1. 线程的基本应用 创建线程: use std::thread; use std::time::Duration; fn main() ...
- 为什么Rust连续4年获“最受喜爱编程语言”?
作者 | Mike Tang 责编 | Aholiab 出品 | 区块链大本营(blockchain_camp) 2015年5月15日,Rust编程语言核心团队正式宣布发布Rust 1.0版本. 4年 ...
- 连续 3 年最受欢迎:Rust,香!
简介:我们在选择一种开发语言时会综合考量各方面的特性,根据实际的需求适当取舍.鱼和熊掌往往不可兼得,要想开发效率高,必然要牺牲性能和资源消耗,反之亦然.但是Rust却出其不意,令人眼前一亮!本文将从性 ...
- 全面认识 RUST -- 掌控未来的雷电
文章目录 RUST 简介 如何衡量语言的好坏? 静态语言 编译器 语言定位 代表性项目 Hello World RUST 前景 RUST 简介 Rust 是一种兼顾内存安全.高并发和稳定运行的编程语言 ...
- 为什么 Rust 连续 4 年获「最受喜爱编程语言」?
作者 | Mike Tang 责编 | Aholiab 出品 | 区块链大本营(blockchain_camp) 2015年5月15日,Rust编程语言核心团队正式宣布发布Rust 1.0版本. 4年 ...
- 想要改变世界的 Rust 语言
一门编程语言就像一个小宇宙,语言中的各种语法概念就像一颗颗星辰.对于初学者来说,看这些语法概念与看星罗棋布时产生的迷惑是相似的.幸亏编程语言是由人类创造的,编程语言的作者可以被找到,编程语言的源码也可 ...
- Rust 编程视频教程(进阶)——017_1 消息传递 1
视频地址 头条地址:https://www.ixigua.com/i6775861706447913485 B站地址:https://www.bilibili.com/video/av81202308 ...
- Rust学习记录 -> 线程之间的通道通信
文章目录 前言 一.管道是什么? 二.使用步骤 1.通道类型 2.通道的定义与使用 3.通道中的所有权问题 4.多信息多线程模拟 总结 前言 在结束线程的学习过后,笔者继续学习了关于多线程通信的工具, ...
最新文章
- Git 版本还原命令
- 某高校教授要求:博士生发表论文,必须把他列为第一作者
- 802.11概述及帧结构分析
- java pdf水印排布问题_Java实现pdf文件添加水印,铺满全页。
- 大话设计模式—单例模式
- 一个德国设计奖,怎么就成了中国品牌的财富密码
- Java与C语言混合编程
- html 中的name,id ,value,class,list 作用与区别
- fatal error LNK1169: 找到一个或多个多重定义的符号 解决方案
- 游戏迷看过来 年末促销买个华为平板 M3可畅玩
- C语言实战例题:必会的 10 个C语言经典练习题,源码分享
- GeoMAN:多层Attention网络用于地理传感器的时序性预测
- Sqlite字段长度填坑
- 百度快速排名 24小时进前五 刷网站排名
- 教你使用IL2CppDumper从Unity il2cpp的二进制文件中获取类型、方法、字段等(反编译)
- 最新百度网盘不限速教程(油猴)
- LaTex论文排版 | (25) Latex 字母上面加符号 波浪线 横线 角号等
- 将一个word文档按一页或多页拆分成多个文档
- 一篇“从入门到上手”的PCB设计教程
- 激光焊可以代替氩弧焊吗
热门文章
- python的while分支
- python常用_30个Python常用小技巧
- this指向_前端必须知道的this指向问题
- html中文字空心如何设置,css 中字体文本小诀窍
- android 图片查看源码,Android 简单的图片查看器源码
- 如何减少返工工作量?
- FlexForAndroid:文件读写
- 动态字段无法双向绑定_ASP.NET Core Blazor Webassembly 之 数据绑定
- 三阶段提交(Three-phase commit)
- windows版mysql5.7.18安装