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. Reporting Services的简单使用

    最近公司的功能需要使用报表,用的是微软自带的报表,谈一谈我们的做法,希望可以给想学习的人一些指导 1:新建報表所需的數據源DataSet.cs using System; using System.C ...

  2. Netty源码学习(二)NioEventLoopGroup

    0. NioEventLoopGroup简介 NioEventLoopGroup可以理解为一个线程池,内部维护了一组线程,每个线程负责处理多个Channel上的事件,而一个Channel只对应于一个线 ...

  3. [PHP] print_r()函数美化

    function beautiful_print_r($arr){ echo '<pre>'; print_r($arr); echo '</pre>'; }

  4. JavaScript 函数调用的 this词法

    函数调用时的this实际上是在函数被调用时发生绑定,它指向什么完全取决于函数在哪里被调用. 特例:当函数作为构造函数被调用时,即使用new 来构造一个新对象,会自动执行以下操作: [1]创建一个新对象 ...

  5. java读取配置文件(properties)的时候,unicode码转utf-8

    有时我们在读取properties结尾的配置文件的时候,如果配置文件中有中文,那么我们读取到的是unicode码的中文,需要我们在转换一下,代码如下 /** * 将配置文件中的Unicode 转 ut ...

  6. WPF中的DesignMode判断

    WPF中提供你一个类似WinForm的DesignMode属性的方法来判断当前是否处于设计器模式: bool IsInDesignMode    {        get { return Desig ...

  7. ubuntu 下安装nodejs以及pm2

    ubuntu 12.04服务器可以使用apt-get方式安装Node JS,但是,安装完后的版本为v0.6.12的版本,如果我们想要使用新一点的版本需要做如下配置: 1 2 3 4 apt-get i ...

  8. python 常用的模块(collections)转

    collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: >>> ...

  9. zabbix通过snmp监控windows主机

    1.开启Windows的snmp功能 2.配置snmp服务 设置snmp服务社区名称及允许的主机,设置完成后重启snmp服务 3.在zabbix server上测试 测试需要使用命令snmpwalk, ...

  10. 2017.4.7 e.toString() 与 e.getMessage()的区别

    我使用的时候,抛出了空指针异常,本来是想将异常信息显示在errorInfo里,却发现没有拿到错误信息. 原因:我用的是getMessage(). 用e.getMessage() 时,返回的是null. ...