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能基于继承实现组合,Trait是Rust泛型中重要角色。3

5. Ref3

1. 创建这个新语言的目的是为了解决一个顽疾:软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升。

Rust是针对多核体系提出的语言,并且吸收一些其他动态语言的重要特性,比如不需要管理内存,比如

Rust 最早是在2010年7月的Mozilla的社区峰会上公之于众的,当时就有人问以后是否会用Rust重写Firefox,Brenda说希望如此。Rust目前还处于初

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

2. 不会出现Null指针等等

2.1.1. Rust 1.1 稳定版 更新内容

·

编译速度相对于1.0版本提升了32%。

·

·

编译器提示信息更加完善,参数--explain可提供更多编译错误类型的详解

·

·

模块std::fs中新增了一批稳定版API

·

·

初步支持静态链接C运行库MUSL,Linux环境下编译出的程序可实现零依赖(可以不再依赖glibc)

·

·

Cargo增加新命令cargo rustc,支持向rustc传递任意参数

·

2.1.2. Rust 1.2 测试版 更新内容

·

编译速度在1.1版本的基础上再提升30%

·

·

并行编译又能用了,默认未开启,如果开启,还能提升33%的编译速度(数据来自4核编译rustc)

·

·

Cargo性能提升(编译Servo时启动速度提升10倍),可在多个package之间共享依赖包缓存

·

·

初步支持MSVC(Microsoft Visual C),以后Windows环境中不需要MinGW/MySYS/GCC了

·

Rust 1.2 稳定版 将在六周之后发布,届时还将一并发布 1.3 测试版

3. RAII

但是Rust系统并不依靠GC,而是在编译时通过RAII(Resource Acquisition Is Initialization)实现资源自动释放,

3.1. 无数据竞争(Data Race)…无需竞争的并发,Rust能够确保在并发编程中的数据安全

,某个时间点同时只能有多个读操作或一个写操作被允许访问共享数据。

Java 如何引入,新加货扩展现有集合类等。

4. 是基于继承的组合,Rust能基于继承实现组合,Trait是Rust泛型中重要角色。

与Go语言比较,Go语言相比Rust太简单,太小型化了,Go适合企业软件开发,类似以前的java,另外Go语言是由Google推动的,如果以后公司利益与社区利益冲突如何处理?而Rust则是由非营利组织Mozilla 推动的。

5. Ref

Rust语言_百度百科.htm

Rust语言介绍 -解道Jdon.htm

Atitit.rust语言特性 attilax 总结的更多相关文章

  1. Atitit. Object-c语言 的新的特性  attilax总结

    Atitit. Object-c语言 的新的特性  attilax总结 1.1. Object-C语言由 Brad J.Cox于20世纪80年代早期设计,1 1.2. Object-C新增的数据结构: ...

  2. Atitit.go语言golang语言的新的特性  attilax总结

    Atitit.go语言golang语言的新的特性  attilax总结 1. 继承树less  动态接口1 1.1. 按照书中说的,Go语言具有以下的特征,下面我们分别来进行介绍.  q 自动垃圾回收 ...

  3. atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js

    atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js 1. 两个方法:: bat vs mysqldump(推荐)  vs   lang  ...

  4. Atitit.dart语言的特性  编译时js语言大总结

    Atitit.dart语言的特性  编译时js语言大总结 1. 原型环境1 1.1. Dart可以编译js3 2. 第二个期待的理由是Dart的语言特性,没有什么特别特性好像,类似java c#一小时 ...

  5. Atitit opencv版本新特性attilax总结

    Atitit opencv版本新特性attilax总结 1.1. :OpenCV 3.0 发布,史上功能最全,速度最快的版1 1.2. 应用领域2 1.3. OPENCV2.4.3改进 2.4.2就有 ...

  6. Atitit mac os 版本 新特性 attilax大总结

    Atitit mac os 版本 新特性 attilax大总结 1. Macos概述1 2. 早期2 2.1. Macintosh OS (系统 1.0)  1984年2 2.2. Mac OS 7. ...

  7. Atitit.jquery 版本号新特性attilax总结

    Atitit.jquery 版本号新特性attilax总结 1. Jq1.4 1 2. 1.5 1 3. 1.6 3 4. Jq1.7 3 ⒉提升了事件委派时的性能有了大幅度的提升.尤其是在ie7下: ...

  8. Atitit hibernate3 hinernate4 hibernate5新特性attilax总结

    Atitit hibernate3 hinernate4 hibernate5新特性attilax总结 1.1. Hibernate3的新特性 1 1.2. hibernate4.1版本中的新特性和h ...

  9. Atitit js es5 es6新特性 attilax总结

    Atitit js es5 es6新特性 attilax总结 1.1. JavaScript发展时间轴:1 1.2. 以下是ES6排名前十的最佳特性列表(排名不分先后):1 1.3. Es6 支持情况 ...

随机推荐

  1. (12)C#枚举,结构

    枚举 枚举类型是类似自定义的一个类,类里放着你自己定义的常量,关键字enum. enum Season{spring,summer,fall,winter} 想用这里的常量的话,首先把变量定义成 Se ...

  2. poj3264(Sparse-Table 算法模板)

    poj3264 题意 询问区间最大值最小值之差. 分析 dp_max[i][j] 表示以 i 为起点,长度为 \(2^j\) 的区间最大值. 利用递推预处理出区间最大值最小值. code #inclu ...

  3. [BZOJ2460][BJOI2011]元素(线性基)

    2460: [BeiJing2011]元素 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 2195  Solved: 1119[Submit][Sta ...

  4. JavaScript继承(图解笔记)

    JavaScript有多种继承模式,总结起来用到的方法有:原型链的传递.构造函数的借用.对象的复制.   对于原型链和原型的解释,可参考:JavaScript 原型中的哲学思想这篇文章讲得很清晰,让我 ...

  5. 命令行解析函数:getopt/getopt_long

    参考: http://blog.csdn.net/zhangyang0402/article/details/5671410 http://www.cnblogs.com/gnuhpc/archive ...

  6. linux命令详解:jobs命令

    转:http://www.cnblogs.com/lwgdream/p/3413571.html 前言 我们可以将一个程序放到后台执行,这样它就不占用当前终端,我们可以做其他事情.而jobs命令用来查 ...

  7. Charles 抓包的工具

    下面是整个链接. http://www.winshy.com/2013/08/something_about_charlesproxy/?utm_source=rss Charles:移动端抓包工具安 ...

  8. CM3大礼包

  9. JAVA常见算法题(十三)

    package com.xiaowu.demo; /** * 企业发放的奖金根据利润提成: 利润(I)低于或等于10万元时,奖金可提10%: 利润高于10万元,低于20万元时,低于10万元的部分按10 ...

  10. 本地缓存localstorage使用

    最近做项目遇到一个问题,即从“个人中心”点击进入“修改支付宝”,需要自动获取用户手机号怎么做? 修改支付宝的api不提供用户手机号数据,但是发现个人中心提供,于是想通过localstorage在个人中 ...