Rust 1.8 发布,放弃了 Unix 系统传统 Make 编译系统
2016-04-21 08:53
555 查看
Mozilla 上周发布了 Rust 1.8,这是一个系统级别的编程语言,提供与 C 语言相当的编译速度,和高级别的安全性。这次更新最值得关注的是,Rust 放弃了 Unix 系统传统的 Make 工具,使用 Rust 自己的 Cargo 包管理工具。
为了实现自举,减少对外部工具的依赖,Rust 必须通过自己的语言构建一些工具。其他语言也大多都经过这个过程。Google 的 Go 语言,从1.5版本开始,其编译器和解释器都由 Go 语言实现(有一小部分用了汇编),放弃了基于 C 语言的工具。
从 Make 换到 Cargo 的原因,是因为很多程序员抱怨,部署大型的应用时,会遇到很多多语言方面的困难。比如,他们说现在的基于 Make 的编译系统“在这个星球上只有一小部分人能够熟练使用”,就是说,对大多数 Rust 开发者来说并不友好——这对以友好的开发环境著称的 Rust是不能容忍的。
Rust 放弃 Make 编译系统的另一个原因是可移植性。在 Windows 环境下使用 MSVC 工具需要“疯狂、古怪的技巧运行不同版本的工具,特别是配置脚本和编译工具的时候。” ,Rust的 开发者说。随着兼容性的信息逐渐分离出来,社区可以更好地应用这些信息。
同样,改变编译系统使 Rust 标准库和编译器可以使用4600以上个已存在的 Cargo 包。
Rust 并没有解决 MSVC 编译的问题。很多新的开发语言——当然并不是微软支持的——的用户都会因为平台古怪的编译过程使用户受挫。Rust 已经解决了自身的问题,从1.8版本开始,32位 Windows 系统可以正常地处理错误。长期来看,这项举措可以有效地避免这个坑。
相关文章推荐
- 面向对象编程
- redis的初认识
- 137. Single Number II
- swfupload学习
- TestNG 学习总结 - 参数化测试(十二)
- IOS学习之——用NSUserDefaults保存和读取程序设置
- asp.net js与后台C#代码相互调用
- 1到n的和、阶乘以及阶乘的和
- 第8周项目1
- 第一篇文章 用来测试
- 第八周项目-建立一个简单的学生信息表
- 第七周项目3-用多文件组织多个类的程序1.game.h:类声明
- STM32F4毕业设计(1)
- 第8周项目1 数组做数据成员 工资类(1)
- Java中的接口知识汇总
- 你真的会用Context么?
- ExtJs 入门教程
- 搜索—二分三分搜索—1004
- Velocity教程
- Android SharedPreferences详解