【第16回】RPGはIBM i の戦略的言語 ―ユーザーからの質問に専門家が答える― | IBM i 総合情報サイト

【第16回】RPGはIBM i の戦略的言語 ―ユーザーからの質問に専門家が答える―


(原題:Four User Questions, and Expert Answers)
2018 年2月5日 | スティーブ・ウイル

IBM i ユーザーから一番多く寄せられる質問「RPGはいまだにIBM i での戦略的言語であり得るのか?」に対し、
IBM i のチーフアーキテクトであるSteve Willが明快に回答した記事を二本ご紹介します。
数年前のブログ記事ではありますが、2020年の今日現在でも変わらないその位置づけについて、是非ご一読ください。

前回のブログ記事で、IBM i開発者にRPGを教えることに関して2人の専門家と話をしました。ほぼ即座に、ブログのコメントセクション、読者間のLinkedInと電子メールの交換でいくつかの議論が始まりました。

これは素晴らしいことでした。この種のやり取りは、ソーシャルメディアを非常に強力にするものの1つです。コミュニティが自分たちにとって重要な話題について話し合い、著者が素早いフィードバックを得られるようにするからです。

しかし、この種の会話には、コメントや会話が時として元々の話題で取り上げられていない、後に続いて出される関連質問について議論を起こす側面がありますが、そうした後続の議論を読む人はずっと少ないということです。

後続する質問のいくつかは、これまで以上に注目される必要があると私は確信しました。そこで、今日私はそれらを取り上げるつもりです。

RPGが戦略的なのは何故か?

最初の質問はILE-RPG開発者のLinkedInグループ内の議論から来ました。嬉しいことにその司会者であるマリナス・ファン・サンドウィックが私に参加を呼びかけてくれました。ネイサン・アンデリンが尋ねた基本的な質問は次のようなものでした。

IBMがメインストリーム言語環境をPASEに移植するために多くのリソースを投入してきたとすると、依然としてRPGを戦略的にしているものは何ですか?

それはとても明快な質問であり、私は明快な答えが良いだろうと思いました。ですから、私が言った事にいくつかの言葉を追加してここに記しています。

前に書いたことを再投稿する代わりに、少し前に「RPGと他のIBM iプログラミング言語の戦略的関係」と題して書いたもう1つのブログ記事を挙げておきます。

私は今しがた上記のブログを再読しましたが、要点は同じです。しかしながら、もちろん私たちは最も顕著なやり方としてフリー・フォーマットのRPGを導入し、固定フォーマットからフリー・フォーマットに変換する企業と提携することで、その記事に掲載された例を超えてRPGを強化し続けてきました。

ですから、RPGを戦略的にするものは、要件、能力、投資の組み合わせです。

要件:私たちの経験から分かるように、そしてまた調査で確認されているように、ブログ中の図が示すとおり、RPGはIBM iのアプリケーションで最も一般的に使用される言語です。一つには、多くのお客様がそうであることを要求とするという理由でRPGは戦略的です。最新のHelpSystemsの調査では、この要件が再確認されました。87.5%の回答者が新規開発を行う際に(他の言語と一緒に)RPGを使用していることが示されています(今日の開発組織は複数の言語を使用しています)。

機能:RPGは、IBM iの機能にアクセスするための優れた、効率的な言語であり、とりわけDB2 for iにアクセスするためにSQLと一緒に使う場合に力を発揮します。また一つには、その機能が非常に優れており、最初からオペレーティングシステムに統合され、アーキテクチャをずっと活用し続けているという理由でRPGは戦略的です。

投資:これには、新しい機能に投資するだけでなく、言語の未来を可能にすることを強調するために、新しい機能に焦点を当てるべきであると強調することを含みます。たとえば、フリー・フォーマットに投資し、パートナー(ポールやジムなど)と協力することでRPGを新しい開発者達にもっと容易に提供できます。HelpSystems社の調査結果によれば、これらの投資とこの重点施策により、RPGは新しい機能を使う際に最も一般的に使用される言語になりました。

上で述べたことを再度述べさせてください。ほとんどの新しい機能は複数の言語で書かれているので、RPGだけが戦略的言語というわけではありません。しかし、それはIBM i戦略の重要な部分なのです。

現代のRPGの定義

後に続いて出されるもう一つの質問は、「現代の」RPGの定義、そして恐らくさらに重要なのはその定義がどこにあるのかということです。コメントをした“グレッグ H”は、彼のブログの議論の一部でこの声明を発表しました。

ほとんどのRPGプログラマーは会議に出席したり記事を読んだりしようとしません。 彼らはIBMの公式文書に頼っていますが、「現代的RPGの技術」という言葉は、あなた方3人にとっておそらく(もしかしたら)RPGの正確なサブセットを意味するでしょうが、IBMはその意味を文書化せず、RPGを解明できるようにもしていません。

IBMの言語に関する文書は、RPG2のすべて(サイクル、I仕様書、マッチングレコード)とRPGのILE機能を同じ重要度で扱っているのという理由で酷いものです。 RPGプログラマー達は彼らの好きなものを勝手に選んで「現代のベストプラクティス」と呼んでいます。

この後続の質問はいくつかの論点を掲げており、任意の言語(プログラミング言語、書き言葉、話し言葉)の“現代”(または現行)版を作り上げているものについて長々と議論することができますが、言語を定義しない1つのものは全単語を網羅した辞書です。私がこう述べる理由は、RPGのどの部分がまだコンパイル可能かを記述するマニュアルは、スタイルガイドラインのようなものよりもはるかに全単語を網羅した辞書に似ているからです。Oxford英語辞典には依然として”bodkin(紐通し針)”や “cicisbeo(既婚女性が付き合う愛人)”のような単語が含まれていますが、今日の現代英語を使う人は通常の実際の文章では使用しません。

言語の現在の(現代的な)使用法の何たるかを理解するには、言語のユーザーは現代の専門家に頼るべきです。ところで、確かにユーザーはIBMがこれらの専門家の1人であることを当然要求するかもしれません。そして、言語の戦略的開発者としての私たちの役割において、私たちは確かにガイダンスを提供しています。それは言語定義の中には見つかりません。それは、むしろ「RPG IVでそれができると誰が知っていたか? 現代プログラマーのための現代のRPG」というレッド・ブックのようなものの中に見つかります。

私たちはまた、要件を取得し、方向性を検証し、「現代的」な使用法を推進するためにポールとジム(とジョンとスーザン、スコットなど)のようなその分野の専門家と協力しています。

いまだに古語を使っている杓子定規な人々がいて、そうすることで自分たちが「正しかった」ということをどうにか正当化するのです。効果的かつ効率的にコミュニケーションをとることが誰かの仕事であれば、現代版の言語を検索して使用することを奨励する必要があります。もしかすると、私たちIBMで働く人間は、それが何であるかを人々が理解するのをもっとうまく支援できるかもしれません。私はそのコメントを受け取り、私たちのアプローチを再評価します。しかし、私たちは、刊行物、記事、会議、インタビューなどでアドバイスを実際に提供し、同じメッセージを伝える他の人たちと手を結んでいます。

“グレッグ H”が知っているRPGプログラマー達が、これらのリソースが確かに存在することを認識し、それらを活用することを私は願っています。IBM iプラットフォームは恩恵を受けるでしょうし、プログラマーも同様でしょう。

現代のDB2 for i

私は最後のブログが投稿された直後にOCEANユーザーグループが行ったイベントで講演しましたが、プレゼンテーションに「アプリケーションをモダナイズする」という章を入れていました。セッションの後、デイヴィッド・コントレラスが私に近づいて来て、モダナイゼーションに関する議論をしました。なぜなら、それはDB2 for iに関係しているからです。その後、彼は私の要請に応えて、私にコメントと質問を要約したメモを送って来ました。以下はそのコメントからの抜き書きです。

私はDB2についてあなたに話し、なぜそれについて多くの誇大宣伝が見られなかったのかあなたに尋ねました。顧客基盤のモダナイゼーションの最終段階にはあまり関心がありませんか? i上のDB2は、アプリケーション保守のオーバーヘッドを最小限に抑えるだけでなく、データの整合性によりクリーンなデータを維持するための素晴らしい方法です。…ルール、セキュリティ、OSユーザー出口、事前および事後のジャーナリング、トリガなどを使用することで、素晴らしいデータベース・ソリューションが提供されます。

私は、GUIインターフェースがモダナイゼーションに関して人々を興奮させる恰好いいものだと知っていますが、あなた自身のような人たちが、データベースエンジンに元々備わっている新しいDDL / SQLの考え方を採用する意義についてプレゼンテーションでより大きな声明を出さなければ、お客様はそれに適応するのに苦労します。彼らはそれに関する話題をあまり理解しておらず、それによって起きていることを多分あまり理解していません。

外へ出て行ってDB2学習の促進とトレーニングを行っていますが、IBMで何が起こっているのでしょうか。私はラボ・サービスがこれをやっているのを知っていますが、状況に応じてメッセージを変える責務を負っているのは誰でしょうか?

繰り返しますが、この抜粋に基づいていくつかの点について議論することができますが、いくつかの主要な事柄について触れさせてください。

まず、自己「弁護」させてもらうと - 私がプレゼンテーションを行う場合、私が焦点を合わせる領域は、私が特定の場で特定の聴衆に伝えようとしているメッセージに応じて異なります。興味深いことに、ITジャングルのダン・バーガーと話し合って、リリースやテクノロジー・リフレッシュでの新しい機能を強調すると、彼は頻繁に何故DB2の話にそんなに長時間を割くのかと尋ねます。しかし、デイヴィッドの意見では、「自身のような人々」はそれについて十分に話していません。ですから、聴衆に応じたメッセージが必要なのです。

OCEANミーティングでの私の話題が「IBM i 7.3とTRの最新かつ最高の機能」であったなら、私はDB2について幅広く話していたでしょう。(7.3発表に関する私のブログを見てください。)私の話題が「 IBM i の戦略」だったなら、私がOCEANでその夜に行ったよりもっとDB2について話していたでしょう。どうしてでしょうか? 私たちの「データ中心」戦略をサポートする新しい機能を提供することは、これら両方のプレゼンテーションの要所だからです。

しかし、それに関してもっと話していても構わないでしょうか? おそらく。今よりもDB2に関するお客様の参考事例を使用していても構わないでしょうか? おそらく。

私はこの新しいケーススタディを使用し始めています。それは、私たちのパートナーであるITHEIS社が、最新のDB2 for iの機能を広範囲に使用するモダナイゼーション・プロジェクトにおいて、私たちのお客様であるAssura社をどのように支援したかを文書化しています。ローレント・クレリアー(お客様の主任アーキテクト)は次のように述べています。

データベースのリエンジニアリングは、より大きなモダナイゼーション・プログラムにおける1つの段階であり、それが次に私たちをどこに導くのかを見て私たちは喜んでいます。私たちはデータへのアクセスを開放し、私たちがIBM Power Systemsプラットフォームを最大限に活用するのを助けました。このプラットフォームは、すでに私たちのビジネスにとってとても印象的なエンジンでした。

そしてその参考事例はもう1つの重要なポイントです。ブログで述べたように、「IBM i 戦略:共同ゲーム」と題した記事を書きました。IBMはすべてを自分たちだけで行っているわけではありません。私たちは、パートナーが私たち及び私たちのお客様と連携して仕事をすることに頼っています。丁度RPGと同じように、私たちが言える事及び私たちができる投資があります。しかし、このプラットフォーム(AS / 400の時代から!)は、コミュニティ全体を包含することによって常に成功してきました。そして、そのコミュニティにはパートナーが含まれています。

私たちは、RPG、UI、DB2、またはお客様環境のその他の側面を問わず、お客様のモダナイゼーションを支援する機会を認識しているパートナーを常に注意深く探しています。私たちは成功談を広めるのを支援しますし、私たちが持っている情報を人々に示します。もし私たちがやっていることが十分でないのなら、建設的な批判を受け入れて改善を試みます。このすべてにおいて、それが私たちの役割です。

結論を出す前に、私たちが投稿した記事にコメントし、議論するすべての人々に感謝します。私たちは個々のコメントや議論に返事をすることはできませんが、あなたの考えや提案に本当に感謝しています。あなたはIBM社内の議論に、そして最終的に私たちが行うことに影響を与えるでしょう。

Copyright © IGUAZU