RPG (プログラム言語)

RPG は もとReport Program Generator のアクロニムで、IBMSystem i(以前のAS/400)サーバ向けのプログラミング言語である。ILE (Integrated Language Environment) のオブジェクト指向機能を取り入れた RPG IVが現行である(ILE RPGとしても知られている)。最初期の4GLとされる。

概観

IBM System i(以前のAS/400)の主力プログラミング言語である。元はクエリー用ツールとして設計されたものだが、IBMが力を入れたことで、一人前の強力な言語になった。

典型的なRPGプログラムは File Specification から始まる。ここでは入出力ファイルを全て列挙する。続いて Data Definition Specification である。これはデータ構造配列を定義する部分で、COBOLの Working-Storage セクションやPascalの変数定義(var)セクションに大変よく似ている。次はプログラムの動作をコードする Calculation Specification である。出力するレポートのレイアウトを決定する Output Specification を加えてもいいし、外部でそれを決定してもいい。

初期のRPGの売り物はprogram cycleであった。これは、レコードをファイルから読み込む毎にいくつかのRPGプログラムが一つの暗黙のループの中で実行されるというものであり、別の見方をすれば、暗黙のうちに相互作用する一つのプログラムが作り上げられるということになる。現在では、プログラムフローを通常のループで制御しようとするプログラマが多いため、この機能は避けられる傾向にある。

他の言語で