依辰

首页 » 网络教程 » 微软计划将 Rust 作为 C 和 C++ 的安全替代品

微软正在探索使用Rust编程语言作为C、C++和其他语言的替代方案,以此来改善应用程序的安全状况。

自2004年以来,微软安全响应中心(MSRC)已对所有报告过的微软安全漏洞进行了分类,所有微软年度补丁中约有70%是针对内存安全漏洞的修复程序。

▲微软每年约有70% 的漏洞仍然是内存安全问题

这样高的百分比是因为Windows和大多数其他微软产品主要使用C和C++编写,这两种“内存不安全”(memory-unsafe)的编程语言允许开发人员对内存地址进行细粒度控制,并且可以执行代码。

于是,探索使用诸如Rust之类的内存安全(memory-safe)语言被提上日程,这或将成为创建更安全的微软应用程序的替代方法。

Rust 是什么?

Rust是一门系统编程语言,专注于安全,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。在语法上和C++类似,但是设计者想要在保证性能的同时提供更好的内存安全。 

Rust最初是由Mozilla 的一个研究项目,用于更安全、更快速地重写 Firefox 浏览器。最近,Brave 浏览器还用 Rust 版本替换了原先用 C++ 编写的广告拦截组件。

Rust编译器是在MIT License 和 Apache License 2.0双重协议声明下的免费开源软件。已经连续三年(2016,2017,2018)在Stack Overflow开发者调查的“最受喜爱编程语言”评选项目中折取桂冠。

开发人员喜欢是因为它的语法更简单,并且使用 Rust 编写的应用程序 bug 更少,因此开发人员可以专注于扩展他们的应用程序,而不是进行持续的维护工作。

Rust 语法

Rust的具体语法和C,C++类似,都是由花括号限定代码块,还有一样的控制流关键字,例如if,else,while,和for。然而也并非所有的C或者C++关键字被实现了。某些Rust函数(比如关键字match用于模式匹配)对于那些精通这些语言的人就没那么熟悉了。

尽管与C/C++极其相似,Rust在深层语法上跟元语言家族的语言像是Haskell更接近。基本上一个函数体的每个部分都是表达式,甚至是控制流操作符。例如,那个普通的if表达式也取代了C的三元表达式。一个函数不需要以return表达式结束,在这种情况下函数最后的表达式就是返回值。

文章如无特别注明均为原创! 作者: 中华软件库,依辰QQ:634800394 转载或复制请以 超链接形式 并注明出处 中华软件库-优质资源分享网
原文地址《 微软计划将 Rust 作为 C 和 C++ 的安全替代品》 发布于2019-7-20

评论

游客

  1. qq_avatar

    文章不错非常喜欢

    热搜榜 2个月前 (2019-12-13)回复
切换注册

登录

您也可以使用第三方帐号快捷登录

切换登录

注册