メニューボタン
IBMi海外記事2020.11.25

RPGの名前を変更すべき時か

Alex Woodie 著
トップイメージ図(変更)

IBMはRPGの名前を変更すべきなのでしょうか。もしそうであれば、新しい名前はどのような名前がよいでしょうか。これは興味深いアイデアであり、先日、IBM i コミュニティのあるメンバーによって提案されたものです。そのメンバーはこの問題について公式の機能拡張の要望(RFE)を提出しました。この議論の根底にあるのは、完全なフリーフォーマットRPGが、新しい名前を付けるに値するほどに、固定フォーマットRPGとは一線を画するものとなっているということです。しかし、この言語のオーナーであるIBMは、変更に賛同するでしょうか。

RPGについてのWikipediaの記事によれば、RPG(Report Program Generator)は、コンピューター時代の黎明期の1959年に、 IBM 1401でパンチ カード処理を再現する手段として登場したとのことです。IBMのWilf Hey氏がRPGの開発を主導したとされており、RPGは、IBM 1401上でのRPGの前身である、FARGO(Fourteen-o-one Automatic Report Generation)から生まれました。RPGは、パンチ カード マシンでも使用されていて、今なお使用されている一握りのコンピューター言語のうちの1つに他なりません。

1960年代後半に、IBMはこの言語をアップデートし、IBM System/3ラインの発売に合わせてRPG IIをリリースしました。RPG IIは、System/32、System/34、System/36で使用されたほか、System/370メインフレームでも使用されました。また、RPG IIは、メインフレーム開発を手掛けていた英International Computers Limited(ICL)社(2002年に業務終了)によって使用されていたオペレーティング システム、VME/Kでも使用されました。さらに、かつては、DEC VAXミニコンピューター向けのクローンRPG環境も存在していました。当時は、手続き型言語の全盛期であり、多岐にわたるプラットフォームがサポートされましたが、IBMのシステム上では、その先にまだ長いプロダクトライフがありました。

IBM 1401 Data Processing System
IBM 1401 Data Processing System。左から: 1402カード リーダー/パンチ、1401処理装置、1403プリンター(出典: アメリカ合衆国連邦政府)

言語名のバージョン番号は、1978年、System/38のリリースとともに1つ増えました。RPG IIIはこの言語の大規模なアップデートであり、IF-ENDIFブロック、DOループおよびサブルーチンなど、数多くの近代的な構造が導入されました(Wikipedia記事より)。

IBMは、1988年にAS/400を発表したときに、RPG IIIに新しい名前(RPG/400)を付けましたが、言語そのものはRPG IIIと同一でした(ミッドレンジ サーバーのコンポーネントの多くが、「/400」として扱われました。このニュース レターも含め、多くの製品名に受け継がれた伝統です)。

RPG言語の次の大規模なアップデートは、1994年、OS/400 V2R3のリリース時でした。そのリリースの一環でIBMは、よりモジュラーで、より一貫した、アプリケーション開発方法を提供する、ILE(Integrated Language Environment、統合言語環境)を導入しました。ILEリリースの一環でIBMは、RPG IVを導入しました。これはILE RPGまたはRPGLEとも呼ばれています。RPGは、COBOL、CL、C、C++、およびFortran向けのコンパイラーとともに、ILE言語のうちの1つでした。

グラフ
RPGは、IBM i での新たな開発で最も広く使用されている言語であり続けています(「2020 IBM i Marketplace Survey」)。

IBM i プラットフォームでは、Javaのほか、PASE AIXランタイム下で稼働するアプリケーションを開発するのに使用されるPHP、Python、Ruby、およびNode.jsなどの数多くのオープンソース言語など、他の開発言語がサポートされていますが、RPG(すなわちRPG IV)は、IBM i 開発者の圧倒的多数が選択する言語であり続けています。 HelpSystems社の 「2020 IBM i Marketplace Survey」によると、RPGはIBM i 開発者の88%によって新たな開発に使用されており、これに、SQLが80%、CLが53%、Javaが43%で続きます。

IBMは長年にわたってRPG IVコンパイラーを強化し続けましたが、2013年10月にIBM i 7.1テクノロジー リフレッシュ7(TR7)をリリースしたときまで、大掛かりなことは何も行いませんでした。そのリリースでIBMは、RPG IVコンパイラーでのフリーフォーマット構文のフル サポートを正式に追加しました。それ以前にも、部分的なフリーフォーマット サポートはありましたが、これは、開発者がまったく自由にRPGコードを書くことが可能になった最初のリリースでした。

フリーフォーマットRPGは、固定フォーマットRPGで求められたような、桁位置を順守する必要性から開発者を解放しました。フリーフォーマットRPGは、IBM i コミュニティの大多数から 大きな進展として熱烈に支持されました 。開発者は他の言語でコードを書くのと同じようにRPGコードを書くことが可能になったからです。彼らはこう述べます。RPGは、管理が厳格だったパンチ カードの過去の呪縛からようやく解放されたため、「モダンな」言語とみなすことができるようになったのです。

RPG

フリーフォーマットRPGへの変更は、極めて重大なことだったため、IBM i コミュニティの何人かのメンバーは、RPGに新しい名前を付けることによって、IBMにそのことを理解してもらいたいと思っているようです。テキサス州のIBM i プログラマー、Simon Hutchinson氏はそうしたメンバーの1人であり、彼は先週、自身のブログ RPGPGM.com で、RPGに新しい名前を付けるようにIBMに要望しています。

「5年前に「完全にフリーなRPG」が導入されました」と Hutchinson氏は記しています。「それはILE/RPGではありません。桁位置は関係ありませんし、ソース メンバーの1桁目からタイピングし始めて、最後の桁位置までタイピングし続けることができます。それは新しいものであり、その前身とは異なるものでした。これは、そのプログラミング言語の新バージョンであり、十分に新しい名前を付けるに値すると私は考えます。」

Hutchinson氏は、「RPG for i」という名前がお気に入りのようです。Db2 for i(DB2/400とは呼びません)などのように、IBMがサーバーの他のコンポーネントに使用している命名規則に準じる形です。IBMのアプリケーション開発およびシステム管理製品担当アーキテクトのTim Rowe氏は、ILE RPGと区別する意味合いで、「Modern RPG」について 述べています

もしかすると、バージョン番号を更新すべきなのかもしれません。RPG Vというのは、なかなか良い響きですが、その名前を付けるべきだったのは、おそらく2013年のIBM i 7.1 TR7のリリースの時点だったでしょう(ちなみに、この名前に関してはちょっとした問題もあります。IBMのRPG開発のリーダーであるBarbara Morris氏と、『 IT Jungle』のTed Holt、Alan Seiden、Steph Rabbani、Kath Hewittが組んでいるフォーク ブルース フュージョン バンドの名前が「 RPG Five」なのです。もっとも、ある程度検討はするものの、言語のRPGと名前を共有することに対して、そのバンドが異を唱えることはもちろんないでしょうが)。

RAMPAGE
RPGプログラマーは自由を要求します。

Hutchinson氏は、8月15日に developerWorksサイトで公式のRFE を提出するまでに至ります。これにより、コミュニティが名前変更について投票できるようになりました。コミュニティの何人かのメンバーは、このアイデアを支持し、アップデートされた言語によく似合う新しい名前を付ければ、若いプログラマーをプラットフォームに引き込む一助となるかもしれないと指摘しています。「RPGの名前を「RAMPAGE」に変更すれば、最もクールな名前を持つ最もクールな言語ということになるでしょう」と、ある熱心なコミュニティのメンバーは述べています(残念なことに、この名前だと、いつまでも検索エンジン アルゴリズムと混同されることになるかもしれません。すでに今でも、RPGがロール プレイング ゲームの略であることが思い起こされます)。

結局、このRFEは、1週間足らずで58票を獲得し、そのページで最もホットなRFEとなりました。8月になって、すべてのIBMサーバーおよびシステム ソフトウェア全体について提出された400件ほどのRFEの中で、Hutchinson氏による名前変更の要望は最多得票でした。

残念なことに、IBMはこの提案を受け入れられないようであり、提出後、1週間も経たないうちにこのRFEを却下しています。「IBM does not intend to add a new name or versioning number for free-form RPG. This RFE is being closed(IBMは、フリーフォームRPGに対して新しい名前またはバージョン番号を追加する予定はありません。このRFEは終了します)」 このRFEに関するIBMのコメントです。

このことは、必ずしも、このアイデアが良いアイデアではないとか、今後再検討できないということを意味するものではありません。IBM i コミュニティは、別のRFEについて非常に熱心に取り組んできました。すなわち、RDiの「ライト」バージョンのリリースです。今までのところ、IBMはその問題について考えを変えていませんが、先のことはどうなるか分かりません。

あわせて読みたい記事

PAGE TOP