AI活用の教科書
バックエンド開発テストふつう3分で読了

コンパイラ

Compilerこんぱいら

ひとことで言うと

人が書いたプログラムを、コンピューターが分かる言葉にまとめて翻訳する道具です。

📖 もうちょい詳しく

何が新しいの?

コンパイラは、人が書いたプログラムを、コンピューターが直接実行できる言葉に翻訳する道具です。
コンピューターの本体(CPU)は、0と1の世界である「機械語」しか分かりません。でも、人がいきなり機械語を書くのはとても大変です。そこで、人に読みやすい言葉で書いて、それをまとめて機械語に変換するしくみが生まれました。それがコンパイラです。新しい技術というより、コンピューターの歴史とともにある定番の道具です。

どうやって動いてるの?

コンパイラは、人が書いたソースコード(プログラムの元の文章)を読み込み、文法に間違いがないか確かめながら、機械語へ翻訳していきます。
このとき、ただ置きかえるだけでなく、無駄を省いて速く動くように整えることもあります。翻訳は実行する前にまとめて行われるので、できあがった機械語のファイルは、あとは何度でもそのまま動かせます。文法に間違いがあると、翻訳の途中でエラーとして教えてくれます。

何ができるの?

書いたプログラムを、その場で動く形に作りかえてくれます。
パソコンのアプリやスマホのアプリ、ゲームなど、私たちが日ごろ使うソフトの多くは、コンパイラを通して作られたものです。まとめて翻訳してから動くため、実行のときの動作が速くなりやすい、という長所があります。

🌱 身近なたとえ

コンパイラは、本まるごとの翻訳家で例えると分かりやすいです。
日本語で書いた原稿を渡すと、翻訳家が一冊まるごと外国語に訳して、完成した本にしてくれる——そんなイメージです。一度きちんと訳してしまえば、その本はあとは誰でもそのまま読めます。書き間違いがあれば「ここの文がおかしいです」と指摘してくれる、丁寧な翻訳家でもあります。

✅ まず覚えるポイント

  • コンパイラは、人が書いたプログラムを機械語に翻訳する道具
  • コンピューターは0と1の機械語しか直接は分からない
  • 実行する前に、まとめて翻訳しておく
  • 翻訳のときに文法の間違いを見つけて教えてくれる
  • まとめて訳すぶん、動作が速くなりやすい

🧭 よくある勘違い

コンパイラとインタプリタは同じもの?

役割は似ていますが、進め方が違います。
コンパイラは実行の前にまとめて翻訳しておくのに対し、インタプリタは動かしながら少しずつ翻訳します。前者は事前に本を訳しておくやり方、後者はその場で通訳してもらうやり方、とイメージすると違いがつかみやすいです。

コンパイラを通せばエラーは全部なくなる?

そうとは限りません。
コンパイラが見つけてくれるのは、おもに文法のおかしさです。文法は正しくても、計算の考え方そのものが間違っていれば、動いてから変な結果になることはあります。文法の番人ではあっても、中身の正しさまで保証してくれるわけではありません。

どの言語にもコンパイラが必要なの?

言語によります。
事前にまとめて翻訳する言語ではコンパイラを使いますが、動かしながら翻訳するタイプの言語もあります。最近は、両方のやり方を組み合わせて、いいところ取りをするしくみも増えています。

🧩 関連して覚えると楽な言葉

  • ソースコード: 人が書いた、プログラムの元の文章。コンパイラの入力になる
  • ランタイム: プログラムが実際に動くときの環境。翻訳後のコードはここで動く
  • JavaScript: ブラウザ上で動かしながら翻訳されることが多い言語
  • アルゴリズム: 問題を解く手順。文法が正しくても中身が肝心なところ

🏁 ひとことでまとめ

コンパイラは、人が書いたプログラムを、コンピューターの分かる言葉にまとめて翻訳してくれる道具です。
原稿を一冊まるごと訳す翻訳家のように、先に全部訳しておくからこそ、できあがったプログラムは何度でも速く動かせるのです。