这是Bryan Cantrill(云计算平台joyent的CTO )在最近某次Scala大会上的分享。

更多内容请参看 Slides


选择一门编程语言,一个平台,一个操作系统,是一个重大且最重要的决定,具有持久的影响。因为你不仅仅是选择一个工具,更多的是选择它所代表的意义。

比如,

C的平台价值观:

  • Interoperability「互操性」
  • Performance「性能」
  • Portability「可移植性」
  • Simplicity「简单性」

C++的平台价值观:

  • Expressiveness 「表达能力」
  • Performance 「性能」
  • Portability 「可移植性」

Scala的平台价值观:

  • Composability「可组合性」
  • Expressiveness「表达能力」
  • Interoperability「互操性」
  • Integrity「完整性」
  • Robustness「健壮性」

近十年来,系统软体编程语言所拥有的价值观和软体本身必须保持的价值观之间存在巨大差异。现在的系统软体已经能够提供相对安全和可靠的系统,但这一切是因为编程语言吗?不是!我们是否可以做的更好?

来看看Rust吧!

Rust的平台价值观:

  • Composability 「可组合性」
  • Expressiveness 「表达能力」
  • Extensibility 「可扩展性」
  • Interoperability 「互操性」
  • Integrity 「完整性」
  • Performance 「性能」
  • Rigor 「严谨性」
  • Robustness 「健壮性」
  • Safety 「安全性」
  • Security 「安全保障」

在此演讲中,作者还提供了三种使用Rust进行混合系统开发的方法:

  • Rust子系统。不要用Rust重写旧系统,Rust适合新的开发。这方面在FreeBSD里有一个示例应用。
  • Rust组件系统。传统的系统软体应用很广,而且都以组件方式发布,这里面有很多组件有问题,这正是Rust的应用之地。
  • Rust固件。操作系统之下,硬体之上的固件。可能更适合Rust。

Rust告诉我们:我们可以拥有更美好的东西。

推荐阅读:

相关文章