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

【第17回】RPGと他のIBM i プログラミング言語の戦略的関係

【第17回】RPGと他のIBM i プログラミング言語の戦略的関係

(RPG and IBM i Programing Languages)
August 24, 2015 スティーブ・ウィル

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

IBM i の将来を議論する際に最もよく訊ねられるのは、IBMのRPGに対するコミットメントに関するとても自由な回答形式の質問です。思うにこれは自然なことです。なぜなら、多くの人が我々のプラットフォームの事を考えるとき、彼らは歴史的にIBM i 及びそれ以前のマシンで最も一般的に使用されてきたプログラミング言語であるRPGのことを考えるからです。

最近、私はそのような質問をあまりにも頻繁に受けるようになり、IBMの戦略が一般的にプログラミング言語、とりわけRPGに関係していると明確に理解できるよう人々に指摘する適切な場所を探してきました。私はそのような場所を見つけたでしょうか?もちろんです。しかし、もう1度そしてもっとうまくそれを言おうと思います。私たちは噂を広められるという希望をもって、ここで再びそれについて述べようと思います。

それでは、RPG及び他の言語に対するIBMの戦略はどこで説明されているのでしょうか。何と、IBM i 戦略とロードマップという文書で述べられているのです!その文書の現行版へのリンクはここにありますが、私は時々それを更新していますのでibm.com上のIBM i のサイト(https://www.ibm.com/jp-ja/it-infrastructure/power/os/ibm-i)からスタートし、そこへのリンクを見つけるのが最善です。

それでも、私はその文書が数ページに亘ることを知っています。ですから、おそらく1つの場所でRPGとIBM iアプリケーション言語を論じるのは望ましいことです。それでは始めましょう。

IBM i RPGとアプリケーション言語戦略

最近私は1つのチャートを作り、ほとんどのIBM i 戦略とIBM iトレンドというプレゼンテーションでこれを使っています。それをここで示し、以下でそれについて書こうと思います。

RPGはIBM i のアプリケーション開発製品群の中の非常に重要な要素です。それを測定する方法はありませんが、RPGで書かれIBM iで稼働しているプログラムは他の言語で書かれたプログラムよりも多いと私たちは確信しています。IBMはRPGに大きな投資を続け、何年にも亘ってXML、リモートDB、現代的デバイス等々あらゆる種類のインターフェースと相互作用できる機能をもつ近代的な手続き言語に変換し続けると同時に、IBM iとDB2の統合を維持し続けています。これによりRPGはデータ・アクセスとビジネス・プロセスを実装するための途方もなく効率的な言語になっています。

RPGへの投資の例は、IBMの発表の中で主要なRPGの機能強化が占めている目立つ場所で見ることができます。たとえば、私の以前のブログをちょっと振り返って見てください。この中で私は頻繁に戦略と発表について語っています。

  • 2010年のIBM i 7.1の発表にはRPG Open Access機能がありました。
  • 2012年初めにIBMはRPGに対するOpen Access機能の強化は広範に本格展開されることが重要であるとコミュニティと同意し、追加の変更なしにすべての顧客に利用可能にしました。
  • 7.2以前でさえも、私たちはツールセットにFF RPGを加え、またしてもすべてのRPGユーザーが利用できるようにしました。
  • 私が書いたお客様事例(そこではお客様はソフトウェアを今日の環境に合わせてモダナイズしています)の多くは、ソリューションの核心部でRPGを主役の座に付けています。その1つがベーカー大学の事例です。
  • おっと、忘れないように。RPGは2年前のIBM i 25周年プログラムで説明した25のアイコンの1つであったことを思い出してください!ジョンとスーザンはIBM iを祝うキャンペーンの一部としてそれについて書いています。

しかし、IBM iにとって重要な言語はRPGだけではありません。私たちは他の多くの言語のサポート及び言語環境を長年に亘って追加してきました。そうした理由は何でしょうか?それはすべてIBM i戦略の一部、とりわけ1つの戦略的基盤だからです。

IBM i はビジネス・ソリューション用の偉大なプラットフォームたるべし

ビジネス・ソリューションはプログラミング言語を使うアプリケーション開発者によって実装されます。ビジネス・ソリューションにとって偉大なプラットフォームであるということは、そのプラットフォームが単にRPGだけではなく、複数の言語をサポートしなければならないことを意味します。何故でしょうか?それにはいくつかの理由があります。

第一に、いかなる言語もすべてにおいて最善となるように設計されていません。実際、多くの言語が得意分野の他に多くの分野を同程度に得意としています。それ故、業界(単にIBM i環境だけでなく、すべてのプラットフォーム及びオペレーティングシステム)において高まりつつある傾向は、混合ソフトウェア・ソリューションです。混合ソリューションはその目標達成のために複数の言語を使用します。ですから、多くの企業でRPGは依然としてビジネス・ソリューションを実装するための中核言語であるかもしれないとは言うものの、これらの中核ビジネス・ソリューションは増々更新されており、Java、PHP等々で書かれたプログラムで増補されています。そして多くのお客様は、これらの他言語がビジネス・プロセスの実行やDB2のアクセスにも使えるという事に気付いてきており、彼らは組織にとってそれが理に適っている場合にはそうします。

第二に、今の学生は昔の学生が学んだのとは違うプログラミング言語を学んでいます。ですから、彼らのスキルを直ぐに適用するという事は、彼らに何か別のことを教える前に、彼らが最近学んだ言語を使って最初のプロジェクトを行うように頼むことを意味します。ところで、これは意義深い歴史をもつすべてのプラットフォームに当てはまることですが、長年存在してきたプログラムは、この頃教育機関では重視されていない言語で書かれています。20年前に開発されたプログラムがRPGで書かれていようが、何か別のオペレーティングシステム上の何か別の言語で書かれていようが、この事実は変わることがなく、あなたが会う20歳のプログラマーはほとんど間違いなく学生時代に現代的なツールを使いながら別の言語(あるいは、少なくともその言語のもっと現代的なバージョン)を学んでいることでしょう。ですから、より多くの言語をサポートすることは、ビジネス・ソリューションに取り組むスキルの高い人々が確実に存在する様にするのに重要な要素です。

そして大変重要なことに、世の中には他の言語で書かれた膨大なビジネス・ソリューションのカタログがあるのです。IBMはIBM iのお客様がビジネス・ソリューションに関して多くの選択肢を持ってほしいと望んでいるので、それらの言語及び他の環境をサポートすることが重要なのです。

これらの理由で、私たちはRPGの機能強化を行い、RPGをプログラマーにとって学びやすく使いやすいものにする一方で、私たちのアプリケーション開発製品群にPHP、Java、Pythonその他を追加してきました。そして新しい言語が現れた場合、それらをIBM iツールセットに統合すべくそれらを評価します。

異なる言語を大切に思う派閥の間である種の戦争が起きていると考える人々に私はあまりにも頻繁に出くわします。彼らはどちらかの「側」を選ばなければならないと考えているように見えます。しかし、それは絶対に正しくありません。今日IBM iの世界において語るべきことは、RPGかさもなければその他の何らかの言語かと言う二者択一の話ではなく、理に適った所で現代のRPGを使い、かつ理に適った所で他の言語を使うという適材適所の話なのです。そして、もしあなたがIBM iの世界の外の世界に足を踏み入れれば、同様の現象が起きます。ある人々は特定のプログラミング言語をとても大切に思っていますが、ビジネスを行うことに興味のある人々は、単に自分の抱えている仕事に最も適したツールを使いたいと思っています。

(ロゴには「RPGのためのi」とは書かれておらず、「ビジネスのためのi」と書かれていることを思い出してください。)

この目的のために、もしIBM iがビジネス・ソリューションの偉大なプラットフォームであり続けるためのものであるなら、RPGを使う現代の開発者に他の言語を使うことを許すと同時に、彼等のためにより大きな価値を創造し続けなければなりません。それが戦略であり、RPGがその戦略に適合する方法です。

いいねと思ったらシェア
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