編集部からのお知らせ
「ZDNet Japan Summit」参加登録受付中! 
新着記事集:「負荷分散」

RubyとHaskell、Scalaが混ざった感じ--「Rust」を学ぶべき7つの理由

ZDNet Japan Staff

2019-04-13 08:00

 プログラミング言語「Rust」は、「C」や「C++」並みのパフォーマンスと、開発者が墓穴を掘るのを防ぐ仕組みとを兼ね備えたプログラミング言語だ。

 Mozillaの開発者だったGraydon Hoare氏の個人プロジェクトから2016年に誕生したこの言語は、今や名前の元になったサビ菌(Rust fungus)のごとく広がりはじめており、ウェブ、組込み型コンピュータ、分散サービス、コマンドラインなどのソフトウェアを開発するのに使われている。

 Rustのコアチームの一員で、書籍「Rust Programming Language」の共著者でもあるCarol Nichols氏は、「Rustの最大の強みは、人々に力を与えるテクノロジである点だ」と語る。

 「小さなメモリフットプリントで非常に高速なコードを書くには、これまでだとCかC++を使うしかなかった。しかし、プロダクションコードで使う場合、メモリを自分で管理しなければならず、未定義の振る舞いが生じる可能性をすべて把握する必要もあった」(Nichols氏)

 このレベルの自由には「最高クラスのプログラマーでも」苦労させられる場合がある証拠に、コードの脆弱性を登録するCVEデータベースは拡大の一途だとNichols氏は指摘する。

 「Rustのコンパイラはもっと厳格で、メモリの安全性が確保されるので、解決しようとしている当の問題に集中できる」(Nichols氏)

 さらに、Rustは一部の高級言語に見られる生活の質という特徴が加わる。

 「Rustについては、表向きは高級言語だが裏では低級言語というふうに考えたい」(Nichols氏)

 「Rustでプログラムを書いてみると、『Ruby』と『Haskell』と『Scala』が混ざったような感じがする。クロージャやイテレータなど機能面で影響を受けており、豊富な型システムはHaskelに似ている」(Nichols氏)

 「できるプログラムは、スピードとメモリ利用の点でCやC++で作ったプログラムにいちばん近い」(Nichols氏)

 この記事では、今がRustの学習を始める好機である理由を7つ紹介する。

(本記事は、TechRepublic Japanで2019年1月25日に掲載した記事からの転載です。続きはTechRepublic Japanでお読みいただけます)

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

特集

CIO

モバイル

セキュリティ

スペシャル

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]