RPGとは事務処理用言語として使用されるIBM独自のプログラミング言語です。1959年に誕生した現存するプログラミング言語の中でも長い歴史を持ちます。この記事ではRPGを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説していきます。
RPGとは事務処理用言語として使用されるIBM独自のプログラミング言語です。正式名称は『Report Program Generator(レポートプログラムジェネレター)』であり、それぞれの頭文字をとって略称した呼び名で親しまれております。RPGは1959年にIBM社によって開発されました。ほぼ同時期に事務処理コンピューターに用いる目的で汎用系プログラミング言語のCOBOLが誕生しております。RPGは主な用途として基幹システムの構築に使用されます。特徴として「高水準言語」「アルゴリズムの概念を持たない」「適切なエラー処理」などが挙げられます。
RPGの読み方は『アールピージー』が一般的となっております。名前の由来は『Report Program Generator(レポートプログラムジェネレター)』からきており、それぞれの頭文字をとって略称した呼び名で親しまれております。RPGという名称には「データファイルを読み、小計や検算を含んだ会計報告を生成する」という意味が込められております。
RPGは1959年にIBM社の開発によって事務処理用プログラミング言語として誕生しました。ほぼ同時期に事務処理コンピューターに用いる目的で汎用系プログラミング言語のCOBOLが誕生しております。RPGは高水準言語として「FORTRAN」「LISP」「ALGOL58」に次いで古い歴史を持ちます。RPG誕生の背景には「FARGO」というプログラミング言語があります。FARGOはプログラミング言語というよりもユーティリティプログラムでしたが、RPGには実行可能オブジェクトを生成するプログラム生成プロセスがあります。
1988年になると企業の事務処理に特化した統合型コンピュータシステムの代表的な製品としてAS400(現 IBM i)が誕生しました。この普及と共にRPGの需要は著しく高まるものとなります。RPGに関してもバージョンアップを重ねていき1994年にリリースされた「RPG Ⅳ」が現在の最新ナンバーとなっております。
年代 | 内容 |
1959年 | IBM社の開発によって「RPG」誕生 |
1960年代 | 「RPGⅡ」リリース |
1978年 | 「RPGⅢ」リリース |
1988年 | 「AS400」リリース |
1994年 | 「RPG Ⅳ」リリース |
RPGでできることを見てきましょう。
RPGは『事務処理用言語』として基幹システムなどに必要な事務処理全般に使用されます。RPGという名称には「データファイルを読み、小計や検算を含んだ会計報告を生成する」という意味が込められていることからも事務用プログラミングに特化していることが分かります。RPG Ⅳのリリース以降は同言語の処理範囲が拡張されており大きく利用範囲も広がっております。
RPGはIBM i(旧AS400)で使用することができます。IBM iとは1988年に誕生した基幹システムです。RPGはIBM社が開発したIBM製品向け独自の言語であり、IBM-iまたはOS/400のシステム上で動作します。
事務処理には数値などのデータをまとめて処理する必要性があり、バッチ処理を行う場面が多々あります。大量のデータを入出力・管理し、並べ替えや抽出などの作業を高速に処理することができます。具体的な活用事例として銀行のシステムなどユーザーの利用時間外である夜間などにデータ処理の時間を設定し、入出金・送金処理などを実現するためのプログラム方式として用いられております。
RPGの特徴を見ていきましょう。
RPGは高水準言語です。高水準言語とはプログラミング言語の記述抽象度が高いもののことで「分かりやすい」「プロセッサに依存した処理を書かなくてよい」などの特徴があります。対極的な言語として低水準言語があります。代表的な高水準言語として「Java」「C言語」「COBOL」などが挙げられます。
高水準言語の意味や特徴を解説している記事はこちら>>
RPGはアルゴリズムの概念を持たないという特徴があります。アルゴリズムとはプログラム作成の前提に、対象となる問題を解くための手順を定式化した形で表現することです。多くのプログラミング言語はこのアルゴリズムの概念を持ちますがRPGはそうではありません。
RPGは適切なエラー処理を行うという特徴があります。プログラミング言語によってはエラーをチェックするためのコードを追加して記述する必要があります。一方でRPGの場合、演算が失敗に終わるとエスケープ・メッセージが送られてきます。このように演算処理と同時に適切なエラー処理を実行してくれることから、エラーの発生要因を発見しやすく問題を先送りしないためのプログラミングをサポートしてくれます。
RPGのバージョン別での情報を見ていきましょう。
RPGⅡは1960年代後半に開発されました。主にIBM 1130、IBM System / 3、System / 32、System / 34、System / 36などの製品で動作します。
RPGⅢは1978年にSystem / 38向けアップグレード版として開発されました。初版から大幅な進化を遂げており「IF-ENDIFブロック」「DOループ」「サブルーチン」といった近代的な構造を持ちます。RPGⅢはリレーショナルデータベースを外部記述ファイルとして利用できるように改良されました。
RPGⅣは1994年に開発されました。RPGⅣからは同言語の処理範囲が拡張されており大きく利用範囲も広がりました。正式名称の『Report Program Generator(レポートプログラムジェネレター)』の領域から超えることから名称の意味をアクロニムでは無いと公式に発表されることになります。2001年のバージョンアップの際には「フリーフォーム」のロジック導入が発表されました。
RPGを理解するために初心者でも分かる歴史、できること、特徴などの基礎知識を簡単に解説させていただきました。RPGを一言で表すと『事務処理用言語として使用されるIBM独自のプログラミング言語』です。特徴として「高水準言語」「アルゴリズムの概念を持たない」「適切なエラー処理」などが挙げられます。RPGについてこの記事に記載されている最低限の内容については理解をしておくようにしましょう。