AS/400というコンピューターがあります。
正式名称は、AS/400 (Application System/400)
発表されてから今年で30年 IBM社の名機であると断言しよう。
大きさは、普及しているもので、だいたい、オフィスのコピー機器ぐらいです。
今回の小僧の教えてITは、
ゲームじゃないよ AS/400と仲良く30年 プログラム言語夜話 第11話 RPG
と題して
AS/400の上で主力言語として支え続けてきたのが今回お話するRPGという言語についてブログにまとめました。
最後まで読んでいただけたら幸いです。
注意:このブログは、Pythonの解説やテクニック講座ではありませんのでご注意ください。
スポンサーリンク
目次
ゲームじゃないよ
RPG
Googleで検索すると
SEKAI NO OWARI「RPG」 - YouTube
続いて
RPG. ロールプレイングゲーム(role-playing game)
が検索されます。
コンピュータエンジニアの人に「RPGは何ですか?}
という質問をすると
9割が、RPG. ロールプレイングゲーム(role-playing game)と答えると思います。
これまで10回にわたって紹介してきた言語は、環境を問わない。
つまり、Windowsだったり、Linuxだったり、MacOSだったりといろいろな環境で動作しています。
しかし、このRPGは、ほぼ AS/400の専用言語という特殊性を持っています。
RPG
正式名を Report Program Generator
直訳すると 会計報告作成言語 とでも訳すのでしょうか?
プログラム言語の名前からしてお固い!
さすが IBM社である。
歴史
1959年にIBM社によって開発された言語であり、高水準言語として、FORTRAN、LISP、ALGOL58に次いで古い歴史を持ちます。
もともとは、コンピューターに対して問い合わせをするためクエリー用ツールとして開発されたのですが、その後、言語として成長することになった。
言語の作成目的は、明確で
データファイルを読み、小計や検算を含んだ会計報告を生成
するもので
IBM社のSystem/3(1969年)で導入、その後、System/32(1975年)、System/34(1977年)、System/36(1983年)上でも利用されてきました。
当時のコンピューターは、パンチカードという紙にプログラムを打ち込んでいました。
AS/400と30年
1988年にIBMは、AS/400という統合データベースを搭載した画期的なコンピュータを開発しました。
そのときに RPG/400 という名前で RPGが、搭載され、以後 30年間、このRPGは、AS/400と一緒に歩んできました。
AS/400は、オフィスコンピュータとして世界で一番売れたコンピュータで2000年にiSeriesとなりSystem i、Power Systemsと名称を変えてきましたが、DB2というデータベースとアプリケーションがソースレベルではなく実行形式(コンパイルしたもの)で移植できるなど、画期的なコンピュータとして世界経済を下から支えてきました。
特徴
- ソースコード1行あたりの文字数が決まっている
- ループ処理の種類が少ない
- 例外処理がない
- インデントが自由に使えない
- IF文とかFOR文の中身にインデントがかかってない=読みづらい
JavaやC#などと比べると方言どころか別次元の言語である。
できることは、
DBからのIO制御、帳票の出力、簡単な画面出力
これが、すべてです。
ネットのあちこちでで「つまらない言語」とか「おっさんの言語」とか揶揄されることが多いのですが、
目的が、「会計報告を生成」するものなのでこれで十分なのです。
COBOLの回にも書いたのですが、プロのプログラマーとして古くから使われてきた環境や言語などを卑下したりすることは、絶対に止めてほしい。
どの言語が優れているとか劣っているとかは、その時代によるものなので優劣を比べることは、愚か者のやることである。
このAS/400とRPGが、何十年にわたって世界経済を支えてきたか、よぉーーく考えてから発言するようにしましょう。
サンプル
カードパンチ形式をそのままにしたようなイメージですね。
やっていることは、商品マスターをそのまま印字するというプログラムです。
消えゆく言語
オフィス内にコンピュータを設置するいう時代ではなく、クラウドが当たり前の時代になってきました。
AS/400もRPGもCOBOLとともに消えてゆくと思われます。
現在は、まだ稼働中のシステムのメンテナンスが中心だと思われます。
これからこの言語を習得する意味は、ありません。
現在動作しているシステムが、リニューアルされたら消えゆく言語となるでしょう。
スポンサーリンク
まとめ
AS/400は、2つ前に務めていたシステム会社での主力開発環境でした。
自分は、AS/400ではなく、AIX(RS/6000 SP)のプロジェクトに参加していたのであまり触れる機械はありませんでした。
IBMで仕事をして自社に戻るといつもAS/400が動いていたことを覚えています。
あの頃の同僚は、何をしているのかな?
ブログを書いていたらふと懐かしい仲間を思い出してしまいました。
では、次のプログラム言語夜話でお会いいたしましょう。