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 https://static.rust-lang.org/rustup.sh | sh
2006 年,编程语言工程师 Graydon Hoare 利用业余时间启动了 Rust 语言项目,由JavaScript之父Brendan Eich,Dave Herman以及Mozilla公司的Graydon Hoare合力开发。该项目充分借鉴了C/C++/Java/Python 等语言的经验,试图在保持良好性能的同时,克服以往编程语言所存在的问题。其最大的特点在于保持较高的运行效率、深入的底层控制和广泛应用范围的同时,解决了传统C语言和 C++ 语言中的内存安全问题。2009 年,Mozilla 接手 Rust 项目,创建了以 Graydon 为首的专业全职开发团队,并且开放了该项目的源代码。2012 年 1 月,第一个面向公众的预览版本——v0.1 发布。经历了大刀阔斧的 10 年发展,Rust 在 2015 年 5 月份正式发布 1.0 版本。之后,Rust 开始遵守 SemVer 2.0 规范,进入稳步发展的阶段。
目前,Rust 以其无虚拟机、无垃圾收集器、无运行时、无空指针/野指针/内存越界/缓冲区溢出/段错误、无数据竞争等特点已经吸引了广大开发人员的广泛关注。但是,作为一门新兴的语言,Rust 仍然有很多地方需要完善。据 Rust 核心开发团队透露,Rust 在 2016 年的发展主要包括加大在框架上的投入、完善关键特性和扩展应用领域等三个方向。
特点:
1. 代数数据类型
2.模式匹配
3.闭包
4.类型推断
5.零损耗抽象
6.保证内存安全
7.可选的垃圾回收
8.无数据竞争的并发
9.最小的运行时间
10.有效率的C绑定
Rust是现代系统编程语言侧重于安全性和速度。它通过不使用垃圾收集实现了内存安全。Rust是针对多核体系提出的语言,并且吸收一些其他动态语言的重要特性,比如不需要管理内存,比如不会出现Null指针等。
Rust是一门特点鲜明、设计精巧的语言,而绝非普通的“又一门编程语言”。在语法层面,它包含了模 式匹配、闭包、泛型等流行功能,作为系统编程语言,使用的舒适度不亚于脚本语言。另外还可以通过FFI(Foreign Function Interface)调用已有的C语言库,满足了实用性的需要。
Rust官方网站:http://www.rust-lang.org/
未来c/c++程序员将会更多转向rust上来。rust与golang比较,个人感觉: rust >> golang。也许根本不是一个量级的东西,我更看好rust。
Rust语言的更多相关文章
- Rust语言:安全地并发
http://www.csdn.net/article/2014-02-26/2818556-Rust http://www.zhihu.com/question/20032903 Rust是近两年M ...
- Rust语言之HelloWorld Web版
Rust语言之HelloWorld Web版 下面这篇文章值得仔细研读: http://arthurtw.github.io/2014/12/21/rust-anti-sloppy-programmi ...
- Rust语言之HelloWorld
Rust语言之HelloWorld 参考文档: http://doc.crates.io/guide.html 1 什么是Cargo 相当于maven/ant之于java, automake之于c, ...
- 【转】对 Rust 语言的分析
对 Rust 语言的分析 Rust 是一门最近比较热的语言,有很多人问过我对 Rust 的看法.由于我本人是一个语言专家,实现过几乎所有的语言特性,所以我不认为任何一种语言是新的.任何“新语言”对我来 ...
- 半个月使用rust语言的体验
从第一次下载rust语言的编译器到今天刚好第14天. 简单说一下对这个语言的感觉吧. 一.性能 把以前用java写的一个中文地址切分的算法,用rust重新实现了一下(https://github.co ...
- Atitit.rust语言特性 attilax 总结
Atitit.rust语言特性 attilax 总结 1. 创建这个新语言的目的是为了解决一个顽疾:软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升.1 2. 不会 ...
- Rust语言——无虚拟机、无垃圾收集器、无运行时、无空指针/野指针/内存越界/缓冲区溢出/段错误、无数据竞争
2006年,编程语言工程师Graydon Hoare利用业余时间启动了Rust语言项目.该项目充分借鉴了C/C++/Java/Python等语言的经验,试图在保持良好性能的同时,克服以往编程语言所存在 ...
- 5分钟APIG实战: 使用Rust语言快速构建API能力开放
序言:Rust语言简介 参与过C/C++大型项目的同学可能都经历过因为Null Pointer.Memory Leak等问题“被” 加班了不知道多少个晚上.别沮丧,你不是一个人,Mozilla Fir ...
- 我持续推动Rust语言支持Windows XP系统
前言 Rust好像长期以来不支持Windows XP系统.有不少用户发帖提议官方支持XP,基本上都被Rust官方开发人员明白的拒绝了.他们的对话大致上是以这种形式開始和结束的(当中乙方代表官方及其拥趸 ...
随机推荐
- Node.js ZLIB
Zlib 稳定性: 3 - 文档 可以通过以下方式访问这个模块: var zlib = require('zlib'); 这个模块提供了对 Gzip/Gunzip, Deflate/Inflate, ...
- 使用WeihanLi.Redis操作Redis
WeihanLi.Redis Intro StackExchange.Redis 扩展,更简单的泛型操作,并提供一些的适用于业务场景中的扩展 基于 Redis 的五种数据类型扩展出了一些应用: Str ...
- sublime text 2 解决错误 [Decode error - output not utf-8]
以win 10 为例, 找到文件C:\Users\xxzx\AppData\Roaming\Sublime Text 2\Packages\Python\Python.sublime-build 添加 ...
- Bootstrap3 栅格系统-媒体查询
在栅格系统中,我们在 Less 文件中使用以下媒体查询(media query)来创建关键的分界点阈值. /* 超小屏幕(手机,小于 768px) */ /* 没有任何媒体查询相关的代码,因为这在 B ...
- Programming In Scala笔记-第二、三章
本系列博客以<Programming in Scala 2nd Edition>为主,围绕其中的代码片段进行学习和分析. 本文主要梳理Chapter2和Chapter3中涉及到的主要概念. ...
- Oracle常用语句语法汇总
第一篇 基本操作 --解锁用户 alter user 用户 account unlock; --锁定用户 alter user 用户 account lock; alter user sco ...
- 剑指Offer——顺丰笔试题+知识点总结
剑指Offer--顺丰笔试题+知识点总结 情景回顾 时间:2016.10.16 19:00-20:40 地点:山东省网络环境智能计算技术重点实验室 事件:顺丰笔试 知识点总结 快排 霍尔排序(快排) ...
- 一个数组保存了N个结构,每个结构保存了一个坐标,结构间的坐标都不相同,请问如何找到指定坐标的结构(除了遍历整个数组,是否有更好的办法)?
#include <iostream> #include <map> using namespace std; #define N 5 typedef struct point ...
- Android Multimedia框架总结(十)Stagefright框架之音视频输出过程
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52560012 前言:上篇文中最后 ...
- SVN与eclipse整合与使用、SVN与Apache整合
SVN与eclipse整合 下载SVN插件(http://subclipse.tigris.org) http://subclipse.tigris.org/servlets/ProjectDocum ...