TOPSoftware > 安全性、平行性、実用性を兼ね備えた言語Rustとは(上)

Software

安全性、平行性、実用性を兼ね備えた言語Rustとは(上)

2019/01/07

Serdar Yegulalp InfoWorld

 Rustが意図するのは、高速で、安全で、ある程度簡単にプログラムを作成できる言語だ。そして、単なる物珍しい言語や、ランキングで選外に終わるような言語ではなく、広く利用される言語を目指している。

 ソフトウエア開発でプログラミング言語を選ぶ時には、速度、安全性、コードの書きやすさという3つのうち、どれか1つは犠牲にせざるを得ない。この状況はずっと前から続いてきた。安全性や機能性に強みを持つ言語は、速度に難があることが多い(例えばPython)。パフォーマンスに強みを持つ言語は、扱いが難しいことが多く、落とし穴にはまりやすい(例えばCやC++)。

Credit: Gratisography

 できれば、冒頭で挙げた3つを兼ね備えた言語を作りたい。そして、さらに重要なこととして、世の中で広く使ってもらいたい。それを実現する試みの1つが、プログラミング言語「Rust」だ。もともとGraydon Hoare氏が考案し、現在は米MozillaのMozilla Researchによる支援のもとで開発が続いている(Googleの「Go」も同じような志向の言語だが、Rustはパフォーマンスでの妥協を極力なくそうとしている)。

 Rustが意図するのは、高速で、安全で、ある程度簡単にプログラムを作成できる言語だ。そして、単なる物珍しい言語や、ランキングで選外に終わるような言語ではなく、広く利用される言語を目指している。速度や機能性に加え、安全性にも同じウェイトを置いた言語を生み出すことは、十二分に理にかなっている。安全性を第一に考えていない言語で作られたソフトウエアは多い。その中には、重要なインフラを動かしているソフトウエアもある。

Rustの特長

 RustがMozilla Researchのプロジェクトになったのは、Webブラウザー「Firefox」の主要なコンポーネントを実装し直すという狙いもあった。そこには2つの理由がある。1つは、現代のマルチコアプロセッサを効果的に利用することはFirefoxにふさわしいという点。もう1つは、いたる所で使われるWebブラウザーには安全性が求められるという点だ。

 だが、この2つの必要性は、Webブラウザーに限らず、すべてのソフトウエアに当てはまる。そこでRustは、ブラウザーのプロジェクトから言語プロジェクトへと発展した。そんなRustには、次のような特徴がある。

↑ページ先頭へ