Rustついて導入としてまとめてみた。


Rustの歴史

Rustは2006年、Graydon Hoare氏(Mozilla所属)がC/C++の不満点の解消のための言語開発からスタートした。
このときに、JavaScriptの考案者Brendan Eich氏により、彼は目にとめられてプロジェクトまで発展した。

Rustの特徴

・ハイパフォーマンスなアプリ、システムソフトウェアの開発に適応
・C++に匹敵する実行速度や細かいメモリ管理
・安全性の高さ
・生産性を高めるモダン機能
・シングルバイナリ、クロスコンパイル
・多言語との連携の簡易性

これらのことから、C/C++に対して、
・メモリ由来のセキュリティ脆弱性がない
・プロセッサの性能発揮
という特徴も持つ。

さらに、最近ならではの機能でハードウェア性能の発揮が最大に出せる今まででも数少ない言語のひとつとなっている。Python, Ruby, Node.jsなどからFFI(Foreign Function Interface)機能を通じてRust言語を呼び出すことができる。
=(すなわち)=
Rustの置き換えが可能。元のコードが多量の場合、Rustの置換によりコード量の減少と処理速度の加速化が望める。

Rustの現状

・Stack Overflowの開発者向けランキング3年1位!
・Kotlin,HCL,TypeScriptなどと並び、オープンソースプロジェクトに貢献したユーザの数の増加が著しい言語のランキングTOP10に入る。(from GitHub:2018"Octoverse")

Rustの導入事例

npmレジストリ

npmレジストリとは、世界最大規模のソフトウェアレジストリのことで、node.jsのためのパッケージマネージャの構成要素。Rustの実装が成功事例としてnpm Inc.から紹介されている。

Frugalos

ドワンゴの開発事例で、OSSとしてFrugalosは分散オブジェクトストレージである。niconico配信系サービスのバックエンドとしての利用。

Dropbox

複数PC間でのファイル共有を簡単にしたクラウドストレージサービス。現在のユーザー5億人超え。現在では、AWSのデータ保持から自社へのサーバへと移行し管理している。

AWS Firecracker

AWSの開発で、OSSとして公開された。マイクロ仮想マシンをサーバなしでのコンピュータ操作時にセキュアなものとして発表。

Mozilla Firefox

webブラウザエンジンの安全性と並列性の向上に向けた再構築を目的としたMozillaの取り組みのひとつ。FirefoxのエンジンのGeckoの進化(パフォーマンス向上)としたQuantumの開発。

かるいまとめ!

現在、日本ではそこまで多くは使われておらず、学習コストのかかる言語である。しかし、それ故にといってよいのかわからないが、メリットは多い。それとともに日本においての普及はこれから広がるのではないか。とおもう。実行速度に関してもかなりの速度であるため、大規模プロジェクトや開発においては重要視される。