Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

プログラミングとは何か

プログラムとは「コンピュータへの指示書」

プログラムとは、コンピュータに「何をしてほしいか」を伝える指示書です。

人間が書く指示書        コンピュータが理解
(ソースコード)    →   (機械語)    →    実行

人間は日本語や英語で考えますが、コンピュータは「0」と「1」の組み合わせ(機械語)しか理解できません。

プログラミング言語は、人間が書きやすい形式で指示を書き、それをコンピュータが理解できる形に変換するための仕組みです。

料理のレシピに例えると

プログラムは料理のレシピに似ています。

カレーのレシピ(人間向け):

1. 玉ねぎを切る
2. 肉を炒める
3. 野菜を加える
4. 水を入れて煮込む
5. ルーを入れる
6. 完成!

プログラム(コンピュータ向け):

fn main() {
    println!("玉ねぎを切る");
    println!("肉を炒める");
    println!("野菜を加える");
    println!("水を入れて煮込む");
    println!("ルーを入れる");
    println!("完成!");
}

どちらも「手順を順番に書いたもの」という点で同じです。

ソースコードとは

プログラマーが書くプログラムの文章をソースコードと呼びます。

  • 人間が読み書きできるテキスト形式
  • 特定のプログラミング言語のルールに従って書く
  • ファイルとして保存する(Rustの場合は .rs という拡張子)

Rustのソースコード例:

// hello.rs(ファイル名)
fn main() {
    println!("Hello, World!");
}

プログラミングの基本的な流れ

┌──────────────┐
│ 1. 書く      │  ソースコードを書く(hello.rs)
└──────┬───────┘
       ↓
┌──────────────┐
│ 2. 変換      │  コンピュータが理解できる形に変換
└──────┬───────┘
       ↓
┌──────────────┐
│ 3. 実行      │  プログラムを動かす
└──────┬───────┘
       ↓
┌──────────────┐
│ 4. 結果確認   │  期待通りに動いたか確認
└──────────────┘

この「変換」の部分が、次のドキュメントで説明する「コンパイル」です。

プログラミング言語の種類

世の中には多くのプログラミング言語があります。

言語特徴主な用途
Python読みやすく書きやすいAI、データ分析
JavaScriptブラウザで動くWebサイト
Java大規模システム向け企業システム
Rust安全で高速システム、Web、組み込み

どの言語も「コンピュータへの指示を書く」という目的は同じですが、書き方や得意分野が異なります。

なぜRustを学ぶのか

Rustには以下の特徴があります:

  1. 安全性: メモリに関するバグを防ぐ仕組みがある
  2. 高速性: C/C++と同等の実行速度
  3. 現代的: 最近の言語設計のベストプラクティスを取り入れている
  4. 成長中: 多くの企業が採用し、需要が増えている

特に「安全性」の部分は、Rust独自の「所有権」という仕組みで実現されています(Phase 2で詳しく学びます)。

エラーは味方

プログラミングを始めると、たくさんのエラーに遭遇します。

エラーは失敗ではありません。学習の機会です。

Rustは特に親切なエラーメッセージを出してくれる言語です。エラーメッセージを読む習慣をつけましょう。

error[E0384]: cannot assign twice to immutable variable `x`
 --> src/main.rs:3:5
  |
2 |     let x = 5;
  |         -
  |         |
  |         first assignment to `x`
  |         help: consider making this binding mutable: `mut x`
3 |     x = 6;
  |     ^^^^^ cannot assign twice to immutable variable

このエラーは「xという変数に2回値を代入しようとしているけど、変更不可(immutable)だよ。mutをつけると変更可能になるよ」と教えてくれています。

まとめ

  • プログラムはコンピュータへの指示書
  • ソースコードは人間が書くプログラムの文章
  • エラーは学習の機会、恐れずに読もう
  • Rustは安全で高速な現代的言語

確認テスト

Q1. ソースコードとは何か?

Q2. プログラミングの基本的な流れとして正しい順番は?

Q3. 以下のRustコードは何を出力する?
fn main() { println!("こんにちは"); println!("Rust"); }

Q4. 以下のエラーメッセージは何を伝えている?
error: expected `;`, found `}`

Q5. プログラミングの本質として最も適切な説明は?


次のドキュメント: 03_compile_vs_interpret.md