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. 推荐一个国内的免费公共静态cdn

    https://cdn.baomitu.com/ 更新速度比bootcdn要快,收录的库也很齐全.

  2. [TopCoder8600]MagicFingerprint

    题目大意: 定义magic(x)为将x按十进制顺序写下来,依次对相邻两个数写下差的绝对值,并去除前导0得到的新数. 若对得到的magic(x)重复进行多次magic,最后会变成一个一位数. 若最后变成 ...

  3. SQL表操作习题3 11~13题

  4. elasticsearch 分布式部署

    修改配置文件 /config/elasticsearch.yml 我用两台机器,内网地址分别为230 和 231 处理启动报错一: [2017-01-12T15:55:55,433][INFO ][o ...

  5. UITableView的横向使用

    UITableView只支持竖向显示,要实现横向的显示,需要设置tableView 和cell 的transform属性为CGAffineTransformMakeRotate(-M_PI/2) // ...

  6. dragon-book-exercise-answers

    https://github.com/fool2fish/dragon-book-exercise-answers

  7. Understanding Memory Technology Devices in Embedded Linux

    转: NAND Chip Drivers NAND technology users such as USB pen drives, DOMs, Compact Flash memory, and S ...

  8. NSPredicate 条件查询或过虑

    NSPredicate用于查询和过滤 在SQL中作为查询条件通常用WHERE,但在COREDATA中作为查询条件就可以用到NSPredicate. NSPredicate 不单可以和COREDATA中 ...

  9. C# 下利用ICSharpCode.SharpZipLib.dll实现文件/目录压缩、解压缩

    ICSharpCode.SharpZipLib.dll下载地址 1.压缩某个指定文件夹下日志,将日志压缩到CompressionDirectory文件夹中,并清除原来未压缩日志. #region 压缩 ...

  10. Linux用户配置sudo权限(visudo)

    sudo的工作过程如下: 1,当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限 2,确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认 ...