辞書へ戻る言語の一覧

Rust

らすと言語2010

メモリの安全性を保ちながら高速に動くことを目指して作られた言語。C/C++が抱えがちなバグを言語の仕組みで防げるため、OSやブラウザ、低レイヤの開発で支持を広げている。

概要

Rustは、信頼性が高く効率的なシステムソフトウェアを作りやすくすることを目指したプログラミング言語で、Rust公式ブログは『低レベルの性能制御と、高レベルの利便性・安全性の保証を組み合わせている』と説明している。ガベージコレクタやランタイムを必要とせずに動作するため、Rustのライブラリを既存のCコードの『差し替え(drop-in replacement)』として使うことも可能だとされる。C・C++のプログラマが長年かけて積み上げてきた『ベストプラクティス』を型システムというかたちで明文化した言語だと、公式ブログは位置づけている。

実例

Rust 1.0は2015年5月15日に公式にリリースされた。公式ブログは、この1.0リリースを『安定性へのコミットメントの正式な始まり』と位置づけている。1.0以前のRustは活発な実験と反復の途上にあり、言語自体も標準ライブラリも常に変化していたため、Rustで書かれたプロジェクトの保守が難しい時期が続いていたが、1.0リリース以降は破壊的変更を基本的に行わない方針に転換した。以降はFirefoxやChromeのようなブラウザと同様に、6週間ごとに定期リリースを行う『トレインモデル』が採用されている。

利点と代償

Rust公式ブログは、Rustの型システムの利点を『経験豊富なシステムプログラマにはデバッグに費やす時間を減らせる恩恵があり、初心者には些細なミスが謎のクラッシュに繋がる不安を抱えずに低レベルのコードを書けるようになる恩恵がある』と説明している。パッケージマネージャ兼ビルドツールのCargoを使うことで、依存ライブラリのダウンロード・インストールを1行の設定追加だけで扱えるようにしており、実プロジェクトに欠かせない依存関係管理の手間を減らす設計になっている。

得意システム・低レイヤ
特徴メモリ安全

関連項目

  • C++ビャーネ・ストロヴストルップがC言語にオブジェクト指向などの機能を加えて作った言語。性能と抽象度を両立でき、ゲーム・ブラウザ・各種アプリの基盤として広く使われている。Cとの互換を保ちながら巨大に育った言語。
  • C言語デニス・リッチーがUNIX開発のために作った汎用言語。ハードウェアに近い操作ができつつ移植性も高く、OSや組み込みなど低レイヤの定番として現在も使われ続けている。後の多くの言語の文法の祖でもある。
  • GoGoogleが開発した、シンプルさと並行処理のしやすさを重視した言語。コンパイルが速く扱いやすいため、サーバーやクラウド基盤のソフトで広く採用されている。DockerやKubernetesもGoで書かれている。

関連技術

出典