30年以上前に書かれたRPGプログラムが、現在のビジネス・アプリケーションの中で処理され続けているというのは面白い1つの雑学ですが、この擬似事実は現代的RPGの価値を明らかにはしません。それは、Power10というハードウェアやIBM iの能力を説明する代役として、シルバーレイク(訳注)やAS/400などの名前を使うようなものです。
ハッキリ言いますが、RPGは現代的な言語です。すべての点でJavaScriptまたはPython、あるいは現在プログラマーが使うあらゆるものと同じくらい現代的です。IBMが着実に更新や機能拡張を提供していることで、RPGは時を経るごとに進歩し進化してきました。
「今やRPGは他の言語とほとんど見分けがつきません。それがRPGを現代的にしているのです。」とベテランのRPGプログラマー兼開発者であるポール・ツーイ氏は言います。「確かに、IBM i上のあらゆるものがそうであるように、古いRPGプログラムはまだ残っており、依然として機能します。しかし、あなたがRPG初心者であるなら、他のあらゆる言語でそうできるのと同様に、数日でその基礎を習得できます。」
RPGが今日のプログラミング環境にうまく適合しているのと同様に、もちろんそれはRPGがビジネスツールである(ここがより広く認知されているプログラミング言語とは対照的な点なのですが)という単純な理由で依然として孤塁を守っています。それはシステムと統合されています。そのことがRPGをIBM iの主要言語にしているのです。
「他のどんな言語でも、データベースを扱うにはSQLを使わなければなりません。もちろん多くの場合、あなたがデータベースをアクセスするのに使用したいと望むものはSQLですが、RPGを使うと静的SQLを使用できるという利点があり、このことは、正に統合をより容易にするのに役立ちます」とツーイ氏は言います。
加えて、「RPGはコンピューティング用に設計されていません。つまり、数式用に設計されていません。RPGはビジネス用に設計されているのです。ひとたびビジネス領域向けに使用すれば、RPGは絶対的に優れています。他のどんな言語もRPGに敵いません」と彼は言います。
RPGとRDi:強力な組み合わせ
論理的に、現代的言語は現代の開発ツールによってサポートされます。しかし、まだかなりの数のIBM i 利用企業にとってこれは当てはまりません。選択の問題であろうが認識の欠如であろうが、多くの企業はSEU、PDMまたはその他の伝統的なテキストベースのツールに依存し続けています。しかし、1つの代替案があります。それは、Rational Developer for IBM i(RDi)です。
RDiは、(ツール、デバッガーおよびリファクタリング機能を備えた)統合開発環境を提供します。これは、ユーザーがIBM i プラットフォーム上のアプリケーションを迅速かつより容易に作成、保守および最新化できるように設計されています。2017年、IBM Power Systemsプラットフォーム向けの自動化ソリューションの長年のプロバイダーであるHelpSystems社はRDiを取得しました。この合意の下では、進行中のRDi開発は、HelpSystems社とトロントを拠点とするIBMのRPG開発者の間の共同作業です。
「RDiは、あなたが取り組んでいるあらゆるプログラムの綿密なビューとスコープを提供します。同様に重要なのは、RDiがIBMのRPG開発と足並みを揃えていることです。言語に新機能が追加されると、RDiは最新の状態に維持されます。SEU はほぼ20年間、最新ではありませんでした」とグアリーノ氏は言います。 「RDiは、明らかにあなたが使いたいと思うツールです。」
「RDiは、あなたが取り組んでいるあらゆるプログラムのそのような綿密なビューとスコープを提供します。同様に重要なのは、RDiがIBMのRPG開発と足並みを揃えていることです。」
— Central Park Data Systems社長、チャーリー・グアリーノ
RDiの購入オプション
RDiは、IBMから直接、IBMのソフトウェア販売またはシステム販売グループを通じて、あるいは提携しているビジネス・パートナーを通じて購入できます。2つのバージョンが利用可能です。RDi RPGとCOBOLツール、ならびにRDiとCOBOL + モダナイゼーションツール、Javaエディションです。IBMサポートは、購入オプションの詳細な説明を提供しています。
RDiを使用する他の3つの利点
1. 新人プログラマーの学習曲線を短縮する
PDMパースペクティブを使用したRDiのグラフィカルな特質という手慣れた感覚のお陰で、経験の浅いプログラマーはすぐに快適になれます。フリーフォームRPGを完全には認識しないSEUのようなテキストベースのエディターとは対照的に、RDiを使うことでユーザーの生産性が急上昇するとグアリーノ氏は信じています。
「私はそれを見、それを生きてきました。私は世界中の人々と話します。彼らは私に『これ無しに自分がそんなに長い間やってきたなんて信じられない』と言います。IBM i を初めて使用するすべての人にとってRDiをより快適かつ自然なものにするために、IBMはどんな労苦も惜しみませんでした。トレーニングをほとんどしなくても、誰でも簡単にRDiにアクセスし、基本的な使用を開始できます」と彼は語ります。
2. RDiデベロッパー・ハブを始めとする支援と資源が利用できる
IBMのRDi製品ウェブサイト内でホストされているRDiハブは、数々の情報と資源を提供しています。新規ユーザーは、オンラインラボに参加し、著名なRPGエキスパートによって作成された教育資源(記事やビデオ)の見本を見ることで、期待通りの水準に達することができます。使用中のユーザーは、サポートフォーラムに質問やコメントを投稿したり、修正プログラムをダウンロードしたり、IBMサポートライセンス料を支払ったり、新たな問題を報告したり、その他多くのことが行えます。
ハブページには、IBMの機能拡張要求(RFE: Request for Enhancements)コミュニティへのリンクもあります。RFEは、IBMがサーバー系列およびソフトウェア製品の全域でソリューションに関する顧客の意見を求めるプログラムです(IBMの登録が必要)。RDiに対する特定の要求の状況を追跡するために、少し時間を取ってください。そうすれば、RFEのプロセスがその開発において主要な役割を果たしていることは明らかです。
「RFEコミュニティのことを語らずにRDiの価値を説明するのは難しいでしょう」とグアリーノ氏は言います。「IBMに提案を投稿すると、他の人がそれらに投票できます。これが、RDiやその他すべてのツールやソリューションに関するコミュニティのフィードバックをIBMが得る方法です。」
3. 無料の試用が今120日に延長
新規ユーザーは、フル機能バージョンのRDi製品をダウンロードして、120日間評価できます。60日だったRDi評価期間をIBMが延長する選択をした1つの理由は、学期の長さ分のRPGコースを提供する大学に便宜を図るためです。しかし、ツーイ氏が指摘しているように、この申し出を活用するために学生である必要はありません。
「プログラマーとして、その評価期間内に私は上司に対して非常に簡単な投資対効果検討書を作ることができます:『見てください、私はこれをすべて学び、今やずっと生産的です。直ちに私はそれを購入する必要があります』」 と彼は言います。
現代のIBM iツールを使う
RPGの長い歴史を通して、コード編集およびコンパイル用の主要なツールはずっと5250スクリーンであり、テキストベースのものでした。しかし、今日の現代的RPGは、形式や構文だけでなく能力や柔軟性においても、それ以前のバージョンのものとは殆ど似ていません。
IBMが導入した現代的ツールセットは、RPGの新しい構文と機能向けに更新された唯一の物です。更に重要なことに、それは開発者が自分たちの仕事をより早くかつより良く仕上げられるようにコード開発を最適化しています。
現代のRPGアプリケーション用の開発ツールはRational Developer for i (RDi)です。今日の現代的構文のお陰で、RPGの経験がない開発者が容易にRPGに取り組めるのと同じように、RDiは他の多くのIDEに馴染みのある開発者がIBM iアプリケーションをもっと素早く学び、編集し、コンパイルできるようにします。
実際、RDiはすべての開発者のツール箱に必須の信じ難いほど現代的なツールです。「現代のIBM iツールを使う」というRDiとRPGに関する私達の最新のTechChannel e-bookを見逃しているといけないので、以下にスーザン・ガントナー氏によるRDiについての5つのお気に入り事項を載せておきます:
- 複数ソースメンバを編集する能力
- コードを理解するための支援
- コード・メタデータへの直接アクセス
- コード・ナビゲーション
- コンパイルエラーを素早く見つけ、修正する能力
同様に、RPGは新しい開発者達が容易に習得できる、現代的で今日的意味のあるプログラミング言語です。ジョン・パリス氏が指摘したように、RPGは現代のプログラマーにとても馴染みのある完全なフリーフォームの言語であり、それを習得するのが難しいと思う人はほとんどいないでしょう。
実際、RPGの最新機能には以下のものが含まれています:
- 組み込みSQL
- 包括的な(かつ常に成長する)一連の組み込み関数群
- カスタム関数ライブラリを作成および活用できる能力
- CやJava関数に直接入り込める能力
- XMLを処理するための組み込み機能
- パラメータとしてのファイル
- プロシージャ・オーバーロード
- 動的配列
- ネストされたデータ構造
- JSONのようなデータ構造を処理および生成するための組み込みサポート
シルバーレイク(Silverlake)はAS/400の開発コード名で、開発拠点であるロチェスター工場がある街の湖の名前を採って命名されました。
これまでにも、RPGの開発環境としてRDiに移行するべき理由を論じた記事をお届けしてきましたが、RDiの意義とその重要性について大変良くまとめられた記事が新たに出されましたのでご紹介します。(編集部)