IBM i のウンチクを語ろう
~ その43:IBM i が「フツー」であることの価値
皆さん、こんにちは。現在直面しているIT部門の課題にどのようなものがありますか、という問いをIBM i ユーザーに投げ掛けると、いくつかある回答の中に、どのようにして新人にシステムの教育を行うべきか悩んでいる、といった類のコメントが紛れ込んでいたりするものです。後継者になるべき人がいない・不足している、といういわゆる後継者問題の第一段階を何とかクリアできたとしても、部門として対応しなければならない次に控えている課題です。
「IBM i 最新情報」といったタイトルのセミナー・アンケートの自由記入欄だと、昔のAS/400からかなり進歩している事がよくわかった、同じ内容を新人にも学ばせたい、といったコメントも常連の一つです。「昔のAS/400」とか「新人にも学ばせたい」とあるからには、言っているのはベテランの方なのでしょう。確かにIBM i は進化するテクノロジーと無縁ではない事を知るために、セミナーは良い情報源です。ところが参加していた若い方が、同じ内容を他の仲間にも聞かせたい、という感想を述べるのを目にする事はまずありません。他者に思いを馳せる事が無かっただけだという、原因が個々人の性格にあると考えるよりも、IBM i の最新情報はベテランに感銘を与える事はあっても若年層には響かないものである、と考えた方が自然なのかも知れません。これはちょっと考えてみれば納得がいきます。社会人になりたての人をつかまえて、「立派になったなぁ・・・」といった言葉を吐くのはだいたい親族に限られるのであって、新人を迎える会社側がそのような感慨を抱く事はあり得ません。昔を知っているからこそ変化・成長に目を細めるのであって、現状のみを見るのであれば、他者と比べて大きく秀でるのでない限り、「フツーだね」で終わりです。最新機能を実装する事がIBM i にとっては成長であっても、他のシステムでは当たり前の事だというわけです。
「アウェー感が半端なかった」とは、私が大学の授業を受け持った際に招いたゲスト講師の感想です。IBMシステム/360生誕50周年の2014年という記念すべき年という事もあり、引っ張りダコ状態にあった汎用機製品担当者に、汎用機の歴史と意義といったテーマで出講してもらった事があります。コンピュータの歴史を紐解けば必ず登場するシステムですし、社会の発展に大いに貢献した事からも、50周年の話題は当時多くのマスコミでも取り上げられておりました。学生にとっては、身近にあるITと言えばLINEかYouTube、大学で触れるのはせいぜい学籍管理や履修管理などのシステムに過ぎないものだったでしょう。だとすれば目に見えないところで社会インフラを支えているシステムの存在を、常識として知っておいてもらう意義はあるだろうと考えました。「レガシー」の一言で片付けられてしまいがちですが、システムとしての歴史の長さは必ずしも旧態依然のままである事を意味しないと知れば、いずれIBM i の正しい理解にもつながるものと期待できます。
講義そのものは手慣れた定番もののはずだったのですが、どうも普段の「ノリ」が感じられません。予定していた話をするだけで精一杯という場合は論外ですが、講演者というものは講演を聞いている側からの反応は何かしら感じるものです。関心の高さ、理解の程度に対する手応えだと表現しても良いでしょう。この時にゲスト講師が感じた教室の雰囲気は、出席者の年齢が二十歳前後とかなり低い事もあり、いつもと勝手が大分違っていたようです。講師自身も話し方を臨機応変に調整できる程に経験豊富というわけではありませんでした。コンピュータ・イコール汎用機の時代を知らない人にとって、「前時代」のシステムが環境の変化に伴って「フツー」に成長してゆく経緯を聞いても特に感心するものではなかったし、ベテランのように過去の個人的体験を呼び覚ますものでもなかったのでしょう。世間一般のウケが良いから大学授業でも効果があるに違いない、講師の年齢は私よりも学生に近いからきっとうまく伝わるだろう、という私の勝手な期待は見事に裏切られてしまいました。
IBMのブログ記事「『IBM i の聖地』を訪れる」によると、米国ミネソタ州ロチェスターにあるIBM i 開発部門では、毎年若い開発者を採用しています。髪の色や背丈横幅のサイズ感が日本人と違うので、掲載されている集合写真を見ただけでは何歳位の人達なのかわかりにくいですが、二十歳代の方も数多く入社されています。彼等・彼女等はどういった思惑でIBM i との関わりを持とうと考えたのでしょうか。他のオープン系サーバーと同様に「フツー」の事が実現できるけれども、よく訳の分からないレガシーなサーバーだと思えば、敢えて手を出す必要は無さそうなものです。直接ご当人達にインタビューしたわけではないのですが、IBM i の製品戦略を理解し共感したからではないかと想像しています。
そもそも企業にITシステムを導入するのは、業務をサポートすることが目的です。ITは単なるツールに過ぎないので、どのようなテクノロジーを採用するのであれ、期待する機能を効率良く実現できさえすればそれで十分なはずです。「いつどこにいてもスマホでXXX業務をサポートするアプリケーションを使いたい」といったような課題・要件が出発点にあり、これを解決するものをソリューション(解決策)と呼びます。しばしばアプリケーション・プログラムと同義とされます。ソリューションは概ね業務プロセスを記述するビジネス・ロジックと、インターネットの活用やヒトの知恵を補完するためのAIなどといった機能部分とに区別され、旧来用途の延長上にある前者機能をSoR、新しいタイプの用途である後者機能をSoEと呼んでいます。場合によっては機能に応じてさらなる細分類が必要かも知れません。ここでシステム構築にあたって、あらゆる機能を単一のテクノロジーによって実現するのか、多様性を前提にしながらそれぞれの機能ごとに最適なテクノロジーを選択できるようにしておくのか、二種類の方法論が考えられます。柔軟性があるのはおそらく後者でしょう。一般的にSoRはレガシー・テクノロジー、SoEはオープン・テクノロジーにより良くフィットする傾向があります。ただしユーザーの負担を軽減するためには、多様性は複雑さをもたらすものではなく、統合にあたっての容易性が問われるべきです。以前このコラムで述べたように、IBM i の製品戦略はこの状況を踏まえたものであり、ソリューションを最優先事項として、多様性のためのオープン性と統合の容易性、の三点を中心に据えています。
上で紹介したIBMのブログにあるノーマル(フツー)である事というのは、30年以上前から続くレガシー環境はIBM i にとって「フツー」だったし、新しいオープンなテクノロジーも同じく「フツー」に使える、といった事を示唆しています。多様性あるテクノロジーをどれも「フツー」に使えるから、ソリューションの幅も拡がり、開発者としてのスキル向上にも寄与するわけです。単なる手段に過ぎないテクノロジーを、レガシーとオープンとに分けて対立する択一的なものと捉えるのは、選択肢を狭めて自らを不自由な状況に追い込んでしまいかねません。プログラム言語も同様です。必要ならば学ぶなり、複数を組み合わせるなりすれば良いのだと思います。言語学習のハードルが過度に強調されがちですが、例えば現在流行のPythonについてそのような議論が沸き起こった事はあるでしょうか。C言語の経験があれば比較的スムーズに入ってゆけるでしょうし、登場が1991年と言語自体の歴史も比較的浅い事もあり、経験年数が問われる事もあまり無いようです。
そもそも実用化という目的がある以上は、敢えて難解である事を目指して設計された言語は存在しないはずです。あるのは想定された主な用途と、テクノロジー環境という制約の中で追求された機能と利便性です。レガシーとされてはいても存在しているからには理由や価値があり、特にIBM i においては資産継承性の観点から、ビジネス・ロジックを記述するのに有利です。単なるツールである限りは、何年もかけて言語のエキスパートを目指すよりは、ビジネスを理解する方が重要なのだと思います。IBMロチェスターでは、RPGの知識の有無は開発者を採用する上での条件にしているわけではなく、必要であれば学べば良いというスタンスです。時には一歩引いて先入観を排除して、テクノロジー全体を俯瞰してみるのも良いかも知れません。ソリューション実現のための単なる手段に過ぎないのですから。ではまた