「Rust」にプログラマーが安心感を抱く“根本的な理由”GoとRustを比較する【第4回】

プログラミング言語「Rust」は、安全なプログラムを開発するための複数の機能を有する。どのような仕組みがあるのか。注意点と共に解説する。

2023年04月28日 08時15分 公開
[Kerry DoyleTechTarget]

 「Rust」は、独立性の高い小規模サービス「マイクロサービス」の開発など、幅広い用途で活躍するプログラミング言語だ。Rustの特徴の一つである安全性の確保は、どのような仕組みが実現しているのか。

プログラマーが「Rust」に抱く“安心感”の正体

 メモリ内容の破壊を防ぐ「メモリ安全性」を確保するために、Rustはさまざまな機能を備える。例えばRustの構文は、

  • 無効なメモリ領域を指す「ダングリングポインタ」
  • 異なるスレッド(プログラムの実行単位)が同じメモリ領域を書き換えようとする「データ競合」

などのよくあるコーディングエラーを排除し、メモリ安全性を確保する。

 Rustは、複数のスレッドが共有する値の「型安全性」(変数や関数の型の整合性)を保証する。加えて各スレッドについて、自身が所有権(メモリ領域を操作する権利)を持つ値にのみアクセスできるようにすることが可能だ。これらの仕組みにより、複数のスレッドが同じメモリ領域を書き換えるといったトラブルを防止できるメリットがある。

 特定の操作を実行するために、開発者は生ポインタ(メモリの特定のアドレスを直接指すポインタ)を使うことで、部分的にRustのメモリ安全性機能を回避することが可能だ。ただし生ポインタを使用する際、開発者はメモリ安全性を自己責任で確保しなければならない。


 第5回は、Rustのデメリットを解説する。

TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

アイティメディアからのお知らせ

From Informa TechTarget

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。

ITmedia マーケティング新着記事

news017.png

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

news027.png

「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

news023.png

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...