IBM i のウンチクを語ろう
~ その100:FF RPGがなかなか浸透しない理由とは
皆さん、こんにちは。こうして皆さんのお目汚しに勤しむこと、とうとう100回目という節目を迎えることができました。2016年7月の連載開始以来、月に一度の情報発信というペースを守ることができたのは、多くの皆さんからのアクセスを励みにできたお蔭と感謝すると共に、一度も原稿提出期限に遅れることなく(たぶん)継続できたのは、私自身にとっての密かな誇りでもあります。ここで「次の100回も頑張ります」と言えば殊勝な心掛けということになるのでしょうけれど、毎度身悶えしながら原稿書きに苦労してきた当人としては、「いつまで続けることができるのだろう」という、明日にでもギブアップしたくなりそうな不安の方が大きいのが正直なところです。
さて、IT業界においてはテクノロジーの刷新は日常茶飯事です。新しいテクノロジーを備える後継製品が登場することで、先行製品がたちまち色褪せるのを目の当りにするのは珍しいことではありません。例えばIBM i のプログラム言語で言うと、RPG/400(RPGⅢ)やILE RPG(固定フォームRPGⅣ)の機能強化版としてフリーフォームRPG(以下FF RPG)が登場しました。開発ツールのPDMに対してはRDi、後継という位置付けではありませんが更なる選択肢としてMerlinやVSCodeも登場しています。IBM製品を取り扱う私達も、世代交代の兆しが見えてくるとプロモーションの力点を新製品にシフトしようとします。
だからと言って、必ずしも市場は私達の思惑通りに反応してくれるわけではありません。「うまいことを言っているけれども、本当に額面通りの機能は実現されているのか」に始まって、「良い製品なのかもしれないが、コストが上がるのでは採用できないな」に至るまで、様々な懸念が突きつけられます。
それでも何とか新製品のメリットを私達なりに理解し、市場に訴求するべき点を資料にとりまとめ、説明を洗練しながらお客様に納得いただくことで、次第に市場に浸透させてゆくわけですが、そのスピードは日米で大分違うような気がします。新製品の受け入れに関して、日本はアメリカに対して2-3年程度の遅れがある、とかつては経験的に感じておりましたが、どうやらそのギャップはさらに大きくなっているかもしれません。日本における私達の訴求の仕方が上手くないからだ、といった理由もあると思いますが、何故そうなっているのかを考えてみたいと思います。
プログラム言語を例に取って現状を見てみましょう。IBM i のソフトウェア開発会社である米Fortra社では毎年ユーザーアンケートを実施し、その結果をレポートにして公表しています。IBM社の開発チームもよく参照しており、将来の製品開発計画を立てる上で参考にしているようです。対象は全世界のユーザーということにはなっているのですが、最新版「2024 IBM i Marketplace Survey Results」におけるアンケート参加者の81%は北米とヨーロッパであり、日本を含むアジア太平洋圏はわずか5%を占めるに過ぎません。欧米のユーザー事情が色濃く反映されたレポートだと言って良さそうです。
この中に「IBM i 上でこれから新規にアプリケーションを開発するとしたらどのプログラム言語を利用しますか」(Which development languages do you use today for new development on IBM i?)という設問があります。トップは大方の予想通りRPGで89%を占めているのですが、IBM社の説明によるとその内訳は、FF RPGが71%と最もシェアが高く、ILE RPG初期版22%、RPG/400 7%と続きます。すなわちFF RPGは63%(=0.89×0.71 以下同様に計算)、ILE RPG初期版20%、RPG/400 6%というシェアになります。FF RPGは既に主力言語であることは明らかです。
一方日本ではアイマガジン社が「IBM i ユーザー動向調査2023」を同様に実施し、結果を公開しています。この中に「Q13 利用中の開発言語」という項目があり、RPGがトップであることに変わりはないのですが、その内訳は上記サーベイ結果とは大きく異なっています。FF RPGは 22.5%、ILE RPG初期版(調査レポートでは「固定フォームのRPGⅣ」) 50.7%、RPG/400(同「RPGⅢ」) 77.8%というものです。FF RPGとILE RPG初期版とを合算したシェアは年々伸びているとは言え、主力は相変わらずRPGⅢであり、FF RPGのパーセンテージはFortra社のサーベイ結果の3分の1程度に留まります。果たして私達は3年も経てば追いつくのでしょうか。
Fortra社のレポートは10年の歴史があり、RPG全体のシェアを明らかにしていますが、FF RPG単独のパーセンテージは示されておりませんので、これに頼ることはできません。5年前のものではありますが米Profound Logic社の「The 2019 State of IBM i Modernization Report」を参照してみましょう。ここに「現在開発に使用しているプログラム言語は何ですか?」(Which programming languages are you currently using in your development?)という設問があり、FF RPG 76%、ILE RPG初期版61%、RPG/400 45%という結果が示されています。アメリカでは5年も前からFF RPGは主力言語だったのですね。
Fortra社、Profound Logic社、アイマガジン社の調査方法は違うので、そのまま直接比較することはできませんが、FF RPGのシェアに関する限り、現在の日本の姿(22.5%)は5年前のアメリカのそれ(76%)に匹敵する、とはとても言えそうにありません。3年とか5年といった単なる時間的ギャップだけではない、日本特有の事情は何かあるのでしょうか。
お客様にFF RPGのメリットや変換ツールがあることを説明する際に、投げ掛けられることの多かった質問は、「変換することで何か新しい機能が利用できるようになるのか」といったものでした。これに対する答えは「いいえ」になるわけですが、多くの場合「なあんだ」といった反応が返ってきます。手間暇かけてプログラムを変換しても、できることは従来と変わらないのならば、やるだけの価値は無いのではないかというわけです。
社内ではこれまでRPG/400やILE RPG初期版を開発言語と定めており、いずれ採用するかどうかを見極めるためにも、IBM i の担当者としてFF RPGを学んでおこうと前向きに取り組まれる方もいらっしゃいます。きちんとしたデータは持ち合わせていないのですが、この取り組みはうまくいかず、結果的にFF RPGに対する評価を落としてしまうケースが多いように感じます。旧来慣れ親しんできた言語との違いがハードルになり、FF RPGはよくわからない、という結論に至ってしまうのです。
条件分岐やループなどがインデント、すなわちフリーフォーム型特有の桁ずらしによる記法に違和感がある、というコメントを聞いたことがあります。桁位置が決まっているRPG/400ならば、ソースコードを縦に見れば概ね何をやろうとしているのか把握できるけれども、FF RPGだと視野を横に拡げなくてはならない、というわけです。見栄えだけでなく、関数を活かしたモジュール構造型のプログラミングに違和感を覚える方もいらっしゃいます。RPG/400ならば考えたままにコードを記述してゆけますが、FF RPGならばロジックの塊を考えて部品化するという、意識下で余分なステップを加えなければなりません。いずれも慣れの問題とも言えますが、実際にはこれを変えるのは容易ではないと考えるべきなのでしょう。
RPG/400のプログラマの方から、RPGの各バージョンを詳細に機能レベルで比較する資料が欲しい、と言われたこともあります。FF RPG採用によって何ができるようになるのか、という点もさることながら、むしろどの機能が使用できなくなるのか、といった点の方が気になるのでしょう。私自身も概要レベルのものは目にしても、要望に応えられるものは見たことがありません。「RPGⅢ RPGⅣ 違い」といった単語をキーワードにWebを検索すると、いくつもの文書が見つかりますが、文書作成者がそれぞれの視点で比較したものです。決定版は存在しないようです。
私自身が見聞きした経験に基づいてお客様の疑問をいくつか紹介した次第なのですが、海外ではこれらをうまく払拭するような情報・資料・説明を整備できているのかと言うと、状況は日本と大差無いように思います。私自身もIBMが海外、とは言っても主にアメリカですが、で公開している資料を検索することもできるのですが、懸念に応えられるような気の利いたものは見つかりません。探し方に問題が無いとは言えませんが、アメリカではこれらの懸念に応えることは決定的に重要だとは見なされていないのだと思われます。
あらためて上記の懸念事項を眺めてみると、RPG/400に軸足を置いてFF RPGを眺めようとしている、という点が共通項であるように思います。日本では既存テクノロジーをベースとした比較が求められる傾向があるのに対して、アメリカではどうやら必ずしもそうではありません。FF RPGの位置付けに納得できたら、将来にわたって競争力を維持するために、どのようにしてそれを活用するべきか、という点に目が向くのでしょう。「競争」に対する意識の有無の違いが根底にあり、RPG/400を中心に据えてじっくりと物事を見ようとする日本と、競争優位に立つためにFF RPGの実装に向けて突っ走るアメリカ、という構図が見えてくるようです。
これを「文化の違い」という言葉で片付けてしまうのは簡単なのですが、だとしたらかなりの難敵です。時々私の相談相手として利用しているChatGPT君に、日本においてFF RPGの普及が思うように進まない理由を問い合わせたら、いくつかある理由の筆頭にビジネス文化の違いを挙げてきました。「薄々感じてはいたけれども、やはりそう来たか・・・」文化の壁の乗り越え方を考えなければならないようです。
ではまた