Yomiage

Rust基礎 1: Rustは何を守ってくれる言語なのか

Updated 2026/6/22 0:29:15 · published

このブラウザでは Web Speech API が利用できません。

# Rust基礎 1: Rustは何を守ってくれる言語なのか Rustを学ぶとき、最初に覚えたいことは、文法よりも思想です。 Rustは、速く動くプログラムを書くための言語です。 同時に、メモリに関する危険なバグを、できるだけコンパイル時に見つけようとします。 つまりRustは、実行する前に、かなり厳しく確認してくれる言語です。 ## Rustの特徴 Rustには、大きく三つの特徴があります。 一つ目は、速いことです。 Rustはガベージコレクションを使わず、CやC++に近い性能を目指せます。 二つ目は、安全であることです。 特に、メモリの使い方に関するミスを防ぐ仕組みがあります。 三つ目は、並行処理に強いことです。 複数の処理が同時に動くときの危険な状態も、型システムで見つけやすくなっています。 ## 変数は基本的に変更できない Rustでは、変数は基本的に変更できません。 たとえば、数値を入れた変数を作ると、その値はそのまま固定されます。 あとから値を変えたい場合は、変数に `mut` を付けます。 ここが、JavaScriptやPythonと少し違うところです。 Rustは、変更できるものと変更できないものを、はっきり分けます。 そのおかげで、コードを読むときに安心できます。 ## 所有権という考え方 Rustで一番大事なのは、所有権です。 所有権とは、ある値を誰が持っているのか、というルールです。 Rustでは、一つの値には、基本的に一つの所有者があります。 所有者がスコープの外に出ると、その値は自動的に片付けられます。 この仕組みによって、Rustはガベージコレクションなしでメモリを管理できます。 ## 値は移動する Rustでは、値を別の変数に渡すと、所有権が移動することがあります。 たとえば、文字列を変数 `a` に入れます。 その文字列を変数 `b` に渡すと、文字列の所有者は `b` になります。 そのあとで `a` を使おうとすると、コンパイラがエラーにします。 最初は不便に感じます。 でもこれは、同じメモリを二重に片付けるような危険を防ぐためです。 ## 借用する 所有権を移動したくないときは、借用します。 借用とは、値を一時的に使わせてもらうことです。 Rustでは、参照を使って値を借ります。 参照を使えば、所有権を渡さずに、関数へ値を見せることができます。 読み取りだけなら、不変参照を使います。 値を変更したいなら、可変参照を使います。 ただし、可変参照には厳しいルールがあります。 同じタイミングで、同じ値を自由に何人も変更することはできません。 このルールが、データ競合を防ぎます。 ## 今日のまとめ Rustは、速さと安全性を両立しようとする言語です。 変数は、基本的に変更できません。 変更したいときは、`mut` を使います。 Rustの中心には、所有権があります。 値には所有者があり、所有者がいなくなると値は片付けられます。 所有権を渡したくないときは、借用します。 借用によって、値を安全に一時利用できます。 Rustは最初、少し厳しく感じます。 でもその厳しさは、あとで安心してコードを変更するための味方になります。 次は、変数、型、関数をもう少し具体的に見ていきます。