返回 登录
0

初识Rust(二) 目前的Rust用例

阅读2499

因此对于系统黑客来说,Rust看起来是个很棒的选择,但是对那些并不熟悉底层语言的人来说怎么办?可能你上次听到“C”和“堆/栈分配”已经是10年以前在CompSci 101中(也许根本没听说过)。Rust提供了只有在底层系统语言中才能看到的性能——但是大部分时间都感觉像是一个高层语言!这里有一些例子告诉大家在实际应用中如何利用Rust:
Rust

我想要在硬件上进行hack/编写物联网应用

物联网时代和maker运动的延伸为硬件项目带来了真正的民主化。无论是树莓派,Arduino,或是年轻的titans例如BeagleBone或是Tessel,开发者可以从很多语言中进行选择来为硬件项目编码,包括Python或是JavaScript。

有时尽管这项语言提供的性能很简单,但是不够用。有时,你针对的微控制器硬件与这些语言要求的运行时间并不匹配:低速的微小的记忆储备和超低功耗应用仍然需要一个接近金属的语言。传统来讲,是C语言,但是你可以猜到,Rust是这块的新生儿。

Rust支持很多外来平台。尽管一些仍然在实验中,支持包括generic ARM硬件,德克萨斯仪器TIVA dev board以及树莓派。一些最新的物联网板例如Tessel 2也获得了官方的、开箱即用的Rust支持!

我在操作扩展到多核的高性能计算应用

研究显示Rust在高性能计算(HPC)上非常棒。开发者甚至不需要在Rust中重写整个应用:它的灵活的外部功能接口(Foreign Function Interface ,简称FFI)提供了有效的C绑定,开发者可以展示和调用Rust代码无需任何明显开销。这使得开发者可以来按模块重写应用,慢慢的转向更好的开发者体验,获得等同于旧的代码或更好的性能。开发者还可以获得更好维护的包含更少错误的代码库,在多核上更好扩展。

我只是简单的想要更快!

Rust在重写应用中对性能敏感部分非常有利。它与其他余语言通过FFI交互,和C和C++相比,尽管资源有限,在大多数情况下运行时间更短。

尽管语言本质的工作进展,还有关键业务,生产生活中的应用让Rust能够在一些时候被很好的利用:Yehuda Katz的startup,Skylight使用高性能Rust代码嵌入在ruby gem中做数据分析。1.0.0稳定版也是一个重要的里程碑,自此不会有很大的改变了。现在可以安全的想更严苛和强大的应用推荐Rust!

来看下Yehuda Katz和Tom Dale对Rust编程基础的讨论以及他们如何在其应用中使用Rust和Ruby。

(未完待续)

原文转自 火狐社区 Mozilla.com.cn

评论