辞書へ戻る概念の一覧

コンパイラ

こんぱいら概念1952

人が書いたプログラムを、機械が実行できる形へ翻訳するソフトウェア。グレース・ホッパーらの仕事に源流があり、高水準言語が実用になる前提を作った。普段は意識されないが、あらゆる開発を裏で支える縁の下の力持ち。

年表

19521951〜1952年にかけて、Grace HopperがA-0コンパイラを開発

概要

人が書いたプログラムを、機械が実行できる形へ翻訳するソフトウェア。高水準な言語で書かれたソースコードを、より低レベルな言語(実行可能な機械語など)に変換する。普段は意識されないが、あらゆるソフトウェア開発を裏で支えている。

時代背景

1951年から1952年にかけて、Grace HopperがA-0コンパイラを開発した。これはサブルーチンを管理するための、リンカ・ローダーとしての機能を持つ仕様の集まりであり、自動プログラミングの先駆的な達成であるとされている。ただし当時、コンパイラという発想はなかなか理解されなかった。Hopper自身、後にこう振り返っている――「動くコンパイラができていたのに、誰も触ろうとしなかった……コンピュータにできるのは算術計算だけで、プログラムはできないと、みんな丁寧に私に言い聞かせてきた」。上層部やコンピュータ部門を技術的に納得させるまでには2年かかったという。

種類・系譜

A-0コンパイラは、その後の算術・業務用プログラミング言語の発展に影響を与えた。Hopperはこの流れの先にFLOW-MATICを手がけ、これが後にCOBOL(事務処理向け高水準言語)へとつながっていった。

現在

「コンパイラ」という語を作り、広めたのはHopper自身とされる。ソースコードを機械が実行できる形に変換するという発想は、今日のあらゆるプログラミング言語処理系の基礎になっている。

分野プログラミング基盤

関連項目

  • グレース・ホッパー人間に近い言葉でプログラムを書く道(コンパイラやCOBOL)を切り開いた計算機科学者・海軍軍人。機械語を直接書く時代から、人が読める言語で書く時代への橋渡しをした。
  • FORTRANIBMが開発した、科学技術計算向けの初期の高水準プログラミング言語。それまで機械語やアセンブリで書いていた数値計算を、数式に近い形で記述できるようにした。最初期の言語ながら数値計算の分野では現在も使われ続けている。
  • アセンブリ言語機械語の命令を人が読める記号に置き換えた、最も低水準に近い言語。CPUの動きをそのまま書くため習得は難しいが、限界まで速度や容量を絞れる。レトロゲーム解析やROMハックでは、逆アセンブルした先で必ず出会う言語。

関連技術

出典