NEWS
押さえておきたい!RPGの新機能 押さえておきたい!RPGの新機能
2020.07.09

【第6回】RPG Ⅳの歴史(part.1)新しいRPGの誕生

【第6回】RPG Ⅳの歴史(part.1)新しいRPGの誕生
2015/6/24 ジョン・パリス、スーザン・ガントナー

これはもともとIBM Systems Mediaで公刊されたiDevelopという(今は閉鎖されている)私たちのブログに投稿したものです。

最近ブログ記事で述べたように、RPG Ⅳは今年(訳注:2015年当時)の秋に21歳になります。来るRPG&DB2サミットでこの縁起の良い出来事をどのように祝おうかと考える中で、私はRPG Ⅳ「誕生」の想い出を書く機会を得ました。以下の記事は初期の頃に関する私の記憶の最善のものですが、歳を取ってきているので、他の人たちの当時の記憶とは間違いなく少し違っているでしょう。

1980年代後半、RPGプログラマー達はそわそわし始めていました。AS/400の発表を喜ぶ一方で、大半の人は「新しい」RPG400版の言語にほとんど新しい機能がないことに失望しました。そのときIBMはSAA(公式には「Systems Application Architecture」の略語ですが、今は亡き偉大なるディック・べインズは「Systems Almost Alike(ほぼ似たようなシステム)」という、もっと正確な定義を作り出しました)を発表しました。COBOL/400がSAAファミリーの一員として発表されましたが、そのことが多くのRPGプログラマーを急に激しく動揺させました。彼らのお気に入りの言語が機能強化部門で不公平な扱いを受けてきたことだけでも十分に悪いことでしたが、今やIBMがその言語を戦略的なものと考えてすらいないように見えました!COMMONのサウンド・オフ(言いたい放題)セッション中に不満の声が上がり、IBMの上級職たちはさんざん文句を言われました。

手短に言うと、上層部はRPGをSAAファミリーに加えなければならないと決定しました。それはメインフレームおよび惜しくも今は亡きOS/2両者のためのバージョンを作ることを意味しました。私はこのことを不満に思う数多くのIBM社員の1人でした。というのも、多くの人がRPGだと考える物のあまりにも多くが、実はそれを取り巻くCLや外部記述装置やデータベース・ファイルのことだと感じたからです。SAA版にはそのようなサポートは計画されておらず、それがなければ無駄な努力だと私たちは考えていました。しかし、背後には多くの政治的な力があり、その決定はすぐに全速力で前進しました。その結果、1991年2月にSAA RPGがメインフレームの世界に解き放たれました。

この時期には今日ILEとして知られる物の萌芽も見られましたが、当時それは社内ではNPM(New Program Model)として知られていました。ILEの背後にある動機の一部は、AS/400上のC言語のパフォーマンス改善でした。AS/400に移植したいCベースのツールが沢山ありましたが、パフォーマンスが問題でした。何故でしょう?その理由は、C言語が豊富な関数ライブラリーに大きく依存しており、AS/400の動的プログラム呼び出しは(バインド呼び出しとは対照的に)それに適していなかったからです。呼び出しパスが実に長過ぎました。パフォーマンス改善のために多大な努力が払われましたが、下層のOSサポートが実に遅過ぎることが明らかになりました。しかし、RPGのILE版を作る計画はなく、計画にあったコンパイラーはCだけでした。

一方RPGに話を戻すと、私たちはRPG400に漸進的にいくつかの機能拡張を何とか導入しましたが、基盤となるコンパイラーが実に古過ぎる上に、必要な広範囲に及ぶ機能拡張の類をサポートするために、あるいは少なくとも予算内に収まることを常に期待できる費用でそうするために、大きく修正されていることが増々明らかになりつつありました。

それ故2つの問題がありました。第1の問題は機能拡張が難しいコンパイラー、そして第2の問題は機能拡張が無いことに対する不満で次第に声高になり始めたユーザー・コミュニティでした。解決策は新しいコンパイラーを開発することでしたが、潜在的なコストが法外に高かったのです。ことによると、現行のコンパイラーをILEの旗印の下に移動させることのできる言語に変換できたかもしれない?いいえ、そんな幸運はありませんでした。私たちが使っていたPL言語ファミリーの方言(PL/MI)は、兄弟の言語からかけ離れてしまっていたので、それはまさに現実的な選択肢ではありませんでした。

しかし、私たちは新品のSAA RPGコンパイラーを実際手にしました。おまけにそれはCで書かれていたので、新品のILE Cコンパイラーでコンパイルすることができました。それは興味深い可能性でした!この頃までに、メインフレーム版のSAA RPGなど(ほとんど)誰も買わないのではないかという私たちの疑念が正しいことが証明されており、それが死の床にあることは明白でした。実際、それは1993年8月に結局のところ販売中止になりました。もしかしたら、ただもしかしたらですが、あの失敗作を新しいRPGコンパイラーの基礎に使うことで、つぎ込んだ資金のいくらかを取り戻せたかもしれません。 そして、それが結果的に今年21歳の誕生日を迎える、若く美しい娘として結実した秘密開発プロジェクトの始まりでした。しかし、行く手には長い旅路が待ち受けていました。この話の続きは次回の記事までお待ちください。

いいねと思ったらシェア
twitter
facebook
hatena
押さえておきたい!RPGの新機能 目次を見る

この連載は…

押さえておきたい!RPGの新機能
関連記事
【第18回】sshによるIBM iからPCプログラムの実行 ‐ セキュアなRUNRMTCMDの代替策 ‐
【第18回】sshによるIBM iからPCプログラムの実行 ‐ セキュアなRUNRMTCMDの代替策 ‐
【第20回】RPGの基礎:配列
【第20回】RPGの基礎:配列
【第33回】IWSを使ってウェブサービスを作る
【第33回】IWSを使ってウェブサービスを作る
あなたにオススメの連載
できるIBM i 温故知新編
7記事
できるIBM i 温故知新編
IBM i の”新”必須言語 〜FFRPG入門〜
14記事
IBM i の”新”必須言語 〜FFRPG入門〜
IBM i アプリの第二の柱 OSS
15記事
IBM i アプリの第二の柱 OSS
PAGE TOP