当今世界科技发展日新月异,2015年5月15日,Rust 1.0版本正式面世,在这六年的时间中,Rust获得众多开发者的支持,越来越多的项目及企业开始选择Rust作为其应用及工具开发语言。
那么Rust凭什么立足于市场?它的存在到底解决了什么问题?
我们经常提及到C++、Java这些语言,但综合来讲,C++、Java这种都算是「立体」语言,abstraction和generalization向上走,存在一定的认知负担,但是概念集很小,很多老语言或者学院派语言都有这种特点。
而很多程序员都非常关注两个点,一是CS基础雄厚,二是不喜欢「不规则」的新特性,这不是因为他们惧怕学习新的东西,而是他们认为,能用基础概念集描述的东西,没必要发明新术语,而Rust正好解决了这个问题。
从设计层面来讲,Rust并不是一门新的编程语言,它只是借鉴了一些独特的思路,这些思路隐藏在学术型原型语言中,从未被大规模采用。而Rust将这些思路巧妙地组合起来,并提供一种实用的编程语言,使程序员能够在构建安全的软件系统的同时仍然保持高效。
快速、可靠、安全
Rust提供了甚至超过C和C++的速度和控制能力,还提供了其他语言(例如Go和Python)的安全性和安全性保证。
MSRC将近70%的漏洞归类为内存安全问题,因此消除此类漏洞至关重要,尽管用C++编译可能会更容易,但是生成的程序更有可能出现错误和漏洞,而Rust编译器的错误消息功能特别有用,通过错误消息,Rust能确切告诉你代码为什么不正确,并给出解决建议,从而落实了安全编程的概念。
简单、便捷
Rust不仅与速度和安全性有关,至少对开发人员而言也是如此,人们对Rust的赞誉,不仅包括语言和编译器,还包括高人气的开发 区和一流的软件包管理器。
Rust提供了称为Cargo的软件包管理器,可以让开发人员从中央存储库中提取开源软件包,在其项目中轻松使用。
套接字
nRF9160开发人员可以直接或通过Zephyr使用Nordic Socket API,这个API严格遵循标准Berkeley套接字API(有如在Linux和Windows中使用),但开发人员必须记住在套接字中调用“nrf_close”,因为如果变量超出范围,套接字将出现泄漏,从而在运行时难以调试。
为了使Rust开发人员能够很好地利用这一功能强大且经过良好测试的程序库,同时帮助他们避免意想不到的错误,42 Technology针对Nordic套接字库开发了Rust包装器。Rust包装器使用高级别并且分类严谨的对象。
Rust + Zephyr
Rust的另一个优点是可以与Zephyr RTOS混合使用。
Rust库可以编译为标准的C静态库,从而与所有开发人员现有的C和C++项目关联。某些项目甚至只需一次替换一个函数,就可以从C语言转换为Rust语言。例如,使用SVG库,其中的库具有相同的API但在内部运行得更快、更安全。
Rust编程语言旨在提高性能、安全性和开发人员生产力,适合不同规模的项目,从超大规模云基础设施到最小的Cortex-M微控制器,此外,由于它可以编译为标准目标码文件,因此开发人员可以充分利用其所有优点,同时仍然将其集成到现有的C和C++项目中。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!