コンパイラ
Compiler/こんぱいら
ひとことで言うと
人が書いたプログラムを、コンピューターが分かる言葉にまとめて翻訳する道具です。
📖 もうちょい詳しく
何が新しいの?
コンパイラは、人が書いたプログラムを、コンピューターが直接実行できる言葉に翻訳する道具です。
コンピューターの本体(CPU)は、0と1の世界である「機械語」しか分かりません。でも、人がいきなり機械語を書くのはとても大変です。そこで、人に読みやすい言葉で書いて、それをまとめて機械語に変換するしくみが生まれました。それがコンパイラです。新しい技術というより、コンピューターの歴史とともにある定番の道具です。
どうやって動いてるの?
コンパイラは、人が書いたソースコード(プログラムの元の文章)を読み込み、文法に間違いがないか確かめながら、機械語へ翻訳していきます。
このとき、ただ置きかえるだけでなく、無駄を省いて速く動くように整えることもあります。翻訳は実行する前にまとめて行われるので、できあがった機械語のファイルは、あとは何度でもそのまま動かせます。文法に間違いがあると、翻訳の途中でエラーとして教えてくれます。
何ができるの?
書いたプログラムを、その場で動く形に作りかえてくれます。
パソコンのアプリやスマホのアプリ、ゲームなど、私たちが日ごろ使うソフトの多くは、コンパイラを通して作られたものです。まとめて翻訳してから動くため、実行のときの動作が速くなりやすい、という長所があります。
🌱 身近なたとえ
コンパイラは、本まるごとの翻訳家で例えると分かりやすいです。
日本語で書いた原稿を渡すと、翻訳家が一冊まるごと外国語に訳して、完成した本にしてくれる——そんなイメージです。一度きちんと訳してしまえば、その本はあとは誰でもそのまま読めます。書き間違いがあれば「ここの文がおかしいです」と指摘してくれる、丁寧な翻訳家でもあります。
✅ まず覚えるポイント
- コンパイラは、人が書いたプログラムを機械語に翻訳する道具
- コンピューターは0と1の機械語しか直接は分からない
- 実行する前に、まとめて翻訳しておく
- 翻訳のときに文法の間違いを見つけて教えてくれる
- まとめて訳すぶん、動作が速くなりやすい
🧭 よくある勘違い
コンパイラとインタプリタは同じもの?
役割は似ていますが、進め方が違います。
コンパイラは実行の前にまとめて翻訳しておくのに対し、インタプリタは動かしながら少しずつ翻訳します。前者は事前に本を訳しておくやり方、後者はその場で通訳してもらうやり方、とイメージすると違いがつかみやすいです。
コンパイラを通せばエラーは全部なくなる?
そうとは限りません。
コンパイラが見つけてくれるのは、おもに文法のおかしさです。文法は正しくても、計算の考え方そのものが間違っていれば、動いてから変な結果になることはあります。文法の番人ではあっても、中身の正しさまで保証してくれるわけではありません。
どの言語にもコンパイラが必要なの?
言語によります。
事前にまとめて翻訳する言語ではコンパイラを使いますが、動かしながら翻訳するタイプの言語もあります。最近は、両方のやり方を組み合わせて、いいところ取りをするしくみも増えています。
🧩 関連して覚えると楽な言葉
- ソースコード: 人が書いた、プログラムの元の文章。コンパイラの入力になる
- ランタイム: プログラムが実際に動くときの環境。翻訳後のコードはここで動く
- JavaScript: ブラウザ上で動かしながら翻訳されることが多い言語
- アルゴリズム: 問題を解く手順。文法が正しくても中身が肝心なところ
🏁 ひとことでまとめ
コンパイラは、人が書いたプログラムを、コンピューターの分かる言葉にまとめて翻訳してくれる道具です。
原稿を一冊まるごと訳す翻訳家のように、先に全部訳しておくからこそ、できあがったプログラムは何度でも速く動かせるのです。
TERM SEARCH
ほかの用語を調べる
検索ボックスを準備中…