自動プログラム ジェネレーターは、管理専用のプログラミング言語です。
- システム 36 (AS/400 の祖先) ではこの名前で表示されます。古いIBMシステム (1130、360/370…) では RPG (( Report Program Generator ) という名前で存在していました)
- したがって、GAP の歴史はパンチカードから始まり、これは列構文の義務に反映されています。
- GAP2 (1960 年代以降) は、言語内にループ システムが隠されており、ステート マシンのように動作しました。
- いくつかの展開:
- GAP3: GAP2 のステート マシン システムを放棄しますが、その剛性と植民地化は維持します。
- RPG IV ILE: 植民地化を部分的に放棄し、ポインター、統合関数などの追加の概念を導入して、元の制限を克服しようとします。
説明
- 現在、この言語には最新の手続き型言語のすべての機能が備わっています。
- フリーフォーマットの説明書。フリー フォーマットの RPG は、Java、Python、Perl などの言語と非常に似ています。
- シーケンシャル/インデックス付き順序 (GAP 3 と同様) または SQL によるテーブルへのアクセス
- 日付/時刻フィールド、VARCHAR フィールド、BLOB などの操作。
- 80を超える組み込み言語関数の使用
- ILEテクノロジーを使用して独自の外部関数を作成する可能性。サービス プログラム (DLL の一種) と呼ばれるOS/400オブジェクトに配置できます。
- Web サービスを呼び出したり、Web サービスから呼び出されたりする可能性があり、これにより RPG はWeb アプリケーションの開発において完全に有効なプレーヤーであり続けることができます。
- サードパーティ製品は、デバッグ時にネイティブ エディタの複雑さを補おうとします。 MS-Windows から、または IBM が WDSC (Websphere Development Studio Client) という名前で提供する Eclipse オーバーレイを使用してソースを編集できるようになりました。
- すべてにもかかわらず、以前のバージョンの遺産は重く残っています。
- この言語は標準化されていません。
- OS/400 がリリースされると、命令は引き続き追加されます (少なくとも v5r3 まで)。
- すべての追加にもかかわらず (または追加のせいで)、構文は依然として扱いにくく、プログラムはモノリシックのままです。

未来
- この言語は、IBM (設計者) または民間のトレーニング センターを除いて、フランスではもはやあまり教えられていません。
- AS/400 の事実上の標準の 1 つとなった Java や、 ZEND社がバージョン「Zend Core for I5/OS 」を発表したばかりのPHPによって、少しずつ、部分的に置き換えられています。
- 実施されているプログラムは維持され、基準も変更した IT サービス会社によって徐々に置き換えられます。

