メニューボタン
IBMiコラム2024.03.27

IBM i のウンチクを語ろう
~ その93:2023年に最も読まれた記事ベスト10(後編)

安井 賢克 著

皆さん、こんにちは。今回は前回の続き、ベスト5の発表です。前置き抜きで早速始めましょう。

第5位:RPGでの文字列操作

RPGプログラミングに関する記事は幾度となく公開しているのですが、その中で最も多くのアクセス数を獲得したのがこの記事でした。最初に公開されたのは2007年とかなり古い部類に属しますが、アクセス数上位を保っているのにはそれなりの理由があるはずです。

私自身はRPGプログラミングを生業としたことはないのですが、基幹業務アプリケーションにおいて文字列を操作する必要があることは何となく理解できます。文字列の切断・連結・検索・置換などを行おうとした時、例えばC言語であれば文字列操作関数があるので、その中からどれを利用するべきか、そして取り込むべきヘッダーファイルは何か、といったことを考えます。一方で古い世代のRPG/400(RPGⅢ)においては、関数ではなく独自のコマンドを利用するのが通常のやり方です。他言語経験者からすると、障壁と言う程のものではありませんが、多少の文化の違いのようなものを感じるかもしれません。

次の世代にあたるILE RPG(RPGⅣ)のRPG/400に対する最大の特徴の一つとして、関数を利用できることが挙げられます。文字列操作のために関数を呼び出すのは汎用的な手法ですし、それによって簡単にプログラミングできることを解説しているのがこの記事です。すなわち背景にあると考えられるのは、RPG/400からILE RPGまたはフリーフォームRPGへのシフトと、それに伴う独自コマンドの関数への置き換えです。特にフリーフォームRPGにおいては、サポートされなくなった独自コマンドがありますので、関数利用を避けることはできません。

IBM i ユーザーが利用する最新のプログラム言語シェアについては、アイマガジン社サイト「IBM i ユーザー動向調査2023」に結果が掲載されています。RPGはファミリーとしてはトップにあるのですが、その内訳はRPG/400(RPGⅢ)が最大シェアを占め、まだギャップはあるものの、次第にフリーフォームRPGを含むILE RPG(RPGⅣ)がそれに追いつこうとしている、といった状況にあります。このような背景が、IBM i のプログラマに文字列操作関数に目を向けさせるきっかけになっているのでしょうか。できるだけ多くの方が、より新しい世代のILE RPGないしフリーフォームRPGへと移行されますことを願っております。

第4位:そのエミュレータソフトって使っていて大丈夫ですか?

前回コラムで紹介した、アクセス数第8位の「クライアントアクセスとは、ピーコムとは(主に呼称について)」とも関連する記事です。ほとんどのIBM i ユーザーにとって、5250エミュレータは「生活必需品」ですので、上位にランクインするのは当然とも言えます。もし何らかの理由でバージョン・アップグレードや買い替えを必要とするような事態に直面することがあるとしたら、早期に計画を立て対策を取らなければなりません。この記事で注意を促そうとしているのは、5250エミュレータソフトのWindowsまたはその上で稼働するJVM(Java Virtual Machine)バージョンとの互換性の確認方法です。

互換性にこだわらずとも動作する、ということはあるかもしれません。気を付けていただきたいのは、動作することとIBMがサポートすることとは全くの別物である、ということです。「動作しますか?」はよく投げ掛けられる質問なのですが、考えられる回答には実は4パターンあります。「IBMはサポートしないし動作しない」は、そもそも動作させようとしたこと自体が妥当ではなかったことになります。「IBMはサポートするが動作しない」は製品障害の典型的な状況であり、メーカーとして対策を用意することになります。「IBMはサポートするし動作する」が最も望ましい状況であることは言うまでもありません。「IBMはサポートしないけれども動作する(みたいだ)」は要注意です。今は問題無く動作しているとしても、ユーザーが障害などに遭遇した場合にメーカーが対処することはありません。たまたま運良く動作しているに過ぎないと見なされます。

記事にもありますように、気を付けたいのはIBM i Access for Windowsです。今でも極めて稀に利用中の方に遭遇することがあるのですが、サポートは2019年4月30日付けで終了しています。できるだけ早期にACSに移行いただければ、と思っております。

第3位:IBM i (AS/400)の基本操作について(参考URL、キー操作、代表的なコマンド、コマンドの探し方)

タイトルにある「基本操作」とか「コマンドの探し方」などといった文言から、記事の主なターゲット層はIBM i の初心者であることがわかります。IBM i 初心者向け情報に対する需要の高まりは、昨今顕著に見られる傾向であるようです。背景にあるのは人材の世代交代やそれに伴う不足です。1988年にAS/400が登場して以来、今年で36年目が経過しようとしているわけですが、アイマガジン社の最新の市場調査結果が示す「情報システム全般の課題・問題」を見ると、人材の量とスキルに関する件が上位のほとんどを占めていることがわかります。

初心者向け情報が参照されること自体は望ましいのですが、キー操作とかコマンドの探し方が話題になっているのは理想的な状況なのだろうかと、正直言いまして少々疑問も抱いています。現在のベテランとされる方々が初心者だった頃は、IBM i を学ぶにあたってまずコマンドを憶えるところから始められたので、自身の経験に基づいて後継者にも同様の学習方法を推奨している、といったところなのかもしれません。例えばWindowsサーバーの操作をきちんと学ぶにあたって、コマンドを憶えるところから始めるものなのでしょうか。GUIの操作を憶えるのが最初のステップなのだとしたら、これからはIBM i においても同様であっても良いように思います。

IBM Navigator for i」というIBM i の標準機能が、新しい世代向けの利用環境の候補になるのではないかと考えています。ブラウザから操作する、IBM i のシステム管理・運用機能です。この位置付けや概要については当コラム「新しいNavigatorのススメ」にて紹介したこともありますし、IBMのWebサイト「IBM Navigator for i」の「Getting started with IBM Navigator for i」セクションか、日本語マニュアル「システム接続 IBM Navigator for i への接続」が役に立つかもしれません。(Webサイトは英語なので、ブラウザの翻訳機能を利用いただけると良いでしょう。)

しっかりとした日本語マニュアルが無い、という指摘はそのとおりかもしれませんが、昨今はどのような製品においても最低限の操作法を文書化するけれども、後は直感にしたがって利用すれば良い、とするものが増えているように思います。「手がコマンドを憶えている」方もいらっしゃるかもしれませんが、次の世代の方に対しては、違う手段もあることを紹介いただいてはいかがでしょう。IBM i を学ぶ上での心理的ハードルは、間違いなく下がるはずです。

第2位:UNIONとORDER BYに関するSQLの事実

SQLはデータベース・アクセスにおける業界標準と言うべきインターフェースであり、サーバーを問わず数多くのユーザーがいます。一方でIBM i には従来からネイティブ・アクセスとも言われる独自のインターフェースが備わっており、歴史的に根強いユーザーを抱えているのも事実です。IBM i の立場からすると後発なのですが、開発部門はオープン性追求の立場から、SQLの機能強化・パフォーマンスの強化を継続しています。

この記事が公開されたのは2017年6月と今から7年近くも前なのですが、それ以来常にトップクラスのアクセス数、私の記憶が正しければ、数年間以上にわたって不動の1位を継続しておりました。当初はIBM i のユーザーにおいて、独自のネイティブ・アクセスから標準的なSQLへのシフトが進んでいるのかと思っていたのですが、どうやらそれだけではなさそうな気がしています。このコラムを書きながら試しに「union order by」をキーワードにGoogleとかYahooで検索してみたら、この記事がトップに表示されました。SQLプログラミングにおける参照情報として、他サーバーを扱っている方も利用しているのでしょう。

逆の見方もできるはずですね。IBM i 上でSQLプログラミングに携わっている方が、他社のドキュメントを参照しても不都合は生じないはずです。このようにサーバーの枠を越えて情報を活用できるのは、業界標準テクノロジーのメリットです。さらに言うと、人材についても同様だと言えるでしょう。

IBM i を取り巻く課題として、人材不足を指摘する声が多いのは、前に述べたとおりです。そこでアメリカのIBM i 開発部門に人材不足問題について聞いたことがあるのですが、返って来た答えは意外にも「実質的に無限なので懸念無し」でした。例えば全世界のIBM i ユーザーを対象にした米Fortra社による市場調査結果「2024 IBM i Marketplace Survey Results」においても、人材不足はIBM i の主要な課題(Top Concerns)としてランクインしていません。

この違いの原因は、IT投資に対する積極性の差もさることながら、IBM i 人材の捉え方にあるのだろうと思います。日本では5250エミュレータとRPGⅢといった、レガシー的なテクノロジーの使い手だけがIBM i 人材と見なされることが多いようです。実際にはこれらを土台として、ブラウザからシステムを操作するためのNavigator for i があり、JavaやPythonなど数多くのオープンソース製品が稼働することはご存知のとおりです。私はこれを、独自のアーキテクチャを業界標準テクノロジーが覆っている、と説明しています。そう考えれば、ブラウザ上で操作するための直感を備えている方や、JavaやPythonのプログラマもIBM i の人材になり得る、ということになるはずですね。開発部門の狙いはこのあたりにあるわけです。

IBM i 人材の捉え方に少々こじつけ的なものを感じる方もいらっしゃるもしれませんが、製品が備えるテクノロジーの幅の広さにも目を向けてみれば、「景色」はちょっと違ったものになってくるのではないでしょうか。

第1位:Oracle JDKが再び無償化。それでもOpenJDKを推奨

かつてのサンマイクロシステムズ社によるスローガン「Write once, run anywhere(一度プログラムを書けばどこでも実行できる)」を掲げ、プログラム言語として右肩上がりのシェア拡大を続けていたJava言語は、曲がり角に差し掛かっているのだと思います。IBM i の開発チームは、RPGを含む旧来のプログラムも、長期的にはJavaに収束してゆくだろうと予測していた時期もかつてあったのですが、現実はその通りにはなっていません。IBMはその後RPGやCOBOLの継続性を明確に打ち出していることは、多くの方がご存知のことと思います。

そればかりか、競合する言語が台頭する中で、サンマイクロシステムズ社を買収したオラクル社は、Javaバージョン8において有償化を図ったために、市場に動揺を与えたばかりではなく、離反する動きを招くことになりました。それを見て慌てたかどうかは定かではありませんが、オラクル社は続けざまに無償のための条件を緩和する発表を行いました。多くのIBM i ユーザーが利用するACSはJavaのアプリケーションであるため、Javaの有償化はIBM i 利用コストの増大に直結します。

この記事のポイントは、IBMは無償で利用できるJavaの選択肢「Semeru Runtime」を独自に提供しており、それがACS稼働のための推奨環境の一つであるということです。他にもACSの前提として、Amazon CorrettoAdoptiumなどの無償Javaを含むダウンロードサイト一覧がIBMのサイトに掲載されています。私自身も市場の困惑を見て、コラム「ACSのためのJava」を投稿したこともあります。コストに影響のある出来事に敏感なのはいつの世も変わらない、といったところでしょうか。

ついでではありますが、プログラム言語としての人気の観点からJavaを眺めてみましょう。私がよく参照するオランダIT企業Tiobe社の「Tiobe Index」によると、2024年2月時点でPythonが一番人気であり、その後はC、C++、Javaと続きます。同サイトに掲載されている2002年以来の長期的傾向によると、Javaは概ね右肩下がりの状況にあります。かつては有力な言語の数が限られていて、言語人気の高低の差が歴然としていましたが、今では選択肢が増えて、人気が「団子状態」になってきている様子もうかがえます。

参考までにRPGは同サイトで50位にランクインしています。さすがにベスト10は望むべくもありませんが、RPGファミリーの中でもフリーフォームRPGが主力になれば、認知度も上がってくるのではないかと想像しております。


これまで全2回にわたってe-BELLNETアクセス数ベスト10を考察してきたわけですが、皆様はどのように感じられましたでしょうか。私自身は、ヒトとテクノロジー両者の世代交代という、大きなうねりがその裏側に透けて見えるような気がしています。若い世代も旧来のテクノロジーを学ぶべきという考え方もありますし、新しいテクノロジーへの切換えが意識されているケースもあります。どちらが正しいのかはユーザー次第ではあるものの、長期的にはテクノロジーの刷新は免れない事実だと考えています。今後何年を要するのかはわかりませんが、私達はうまくこの波を乗り越えてゆきたいですし、製品側もそのための準備を整えていることを感じていただけるならば幸いです。

ではまた

あわせて読みたい記事

サイト内全文検索

著者プロフィール

パワーシステム・エバンジェリスト

安井 賢克
やすい まさかつ

2017 年 11 月付けで、日本アイ・ビー・エム株式会社パワーシステム製品企画より、ベル・データ株式会社東日本サービス統括部に転籍。日本アイ・ビー・エム在籍時はエバンジェリストとして、IBM i とパワーシステムの優位性をお客様やビジネス・パートナー様に訴求する活動を行うと共に、大学非常勤講師や社会人大学院客員教授として、IT とビジネスの関わり合いを論じる講座を担当しました。ベル・データ移籍後は、エバンジェリストとしての活動を継続しながら、同社のビジネス力強化にも取り組んでいます。

PAGE TOP