Skip to content
TopicTracker
出典 HackerNews原文を表示
翻訳言語翻訳言語

問題指向言語のプログラミング [PDF]

本稿では、特定の問題領域に特化した「問題指向言語(POL)」の設計と実装について解説する。FORTHの開発者チャールズ・H・ムーアによる初期の重要な論文であり、効率的な問題解決のための言語設計思想が示されている。

背景メモ

- 本稿は「FORTH」というプログラミング言語の創始者チャック・ムーア(Charles H. Moore)が1970年に執筆した原典。FORTHは後に組み込みシステムや天文学、金融など幅広い分野で使われる言語に成長するが、この論文はその最初の公開仕様とも言えるもの。 - 「問題指向言語(Problem-Oriented Language)」というタイトル通り、特定の応用(当時は電波望遠鏡の制御)のために設計された言語が、いかにして汎用性と効率を両立したかを示す。ムーアの手法は「スタックベースの逆ポーランド記法」「ディクショナリによる動的拡張」「コンパイラとインタプリタの融合」など、当時の主流(ALGOLやCOBOLなど巨大なコンパイラ言語)とは全く異なるミニマルな設計思想に基づく。 - FORTHの特筆すべき点:極めて少ないメモリ(当時8KB~16KB程度)で動作し、対話的開発が可能で、ユーザー自身が言語の文法を拡張できる。この論文では、そのコアアイデア——スタック、ディクショナリ、ワード(関数)、インタプリタのループ——が初めて体系的に記述された。 - 読み手が知っておくべき背景:1970年当時、コンピュータは高価でメモリも少なく、アセンブリ言語か巨大な高級言語コンパイラのどちらかを使うのが普通だった。ムーアはこの制約の中で「軽量で柔軟な言語」という全く新しいカテゴリを創り出した。この論文は「チューリング賞は取れなかったが実用的影響は計り知れない」と評されることもある、プログラミング言語史における古典。