フリーフォームRPGへの
関心が拡大
この春から夏にかけて、フリーフォームRPGに関するセミナーや研修に参加する機会が増えました。ユーザーの数としては、まだRPGⅢのほうが多いようですが、RPGⅣ、さらにはフリーフォームのRPGに対する関心が大きくなりつつあることを実感せざるを得ません。
一方で、私たちアイ・ラーニングの研修コースではRPGⅢのコースに参加されるお客様が多く、しかも若いプログラマーのほうが多い現実を見ると、多くのユーザーは後継者もRPGⅢと考えていることがうかがえます。
これまで繰り返し述べたように、RPGⅢが古くて先のない言語ということはけっしてなく、これまで同様、IBM iのアプリケーションを生み出す強力な言語であることに間違いはありません。ただし、RPGプログラマーを新たに育成するコストとスピードを考えると、フリーフォームのRPGは、RPGⅢと比較にならないほど素晴らしいのです。この事実は、理解しておく必要があると考えています。
従来のRPG学習の
悩ましい点
最初に、アイ・ラーニングのRPG研修をご紹介します。アイ・ラーニングでは、RPG Ⅲに関しては「RPG Ⅲ基礎演習」「RPG Ⅲバッチプログラム演習」「RPG Ⅲ対話型プログラム演習」の3コース、RPG Ⅳは「RPG Ⅳバッチプログラム演習」「RPG Ⅳ対話型プログラム演習」の2コースを設け、順番に受講していただくコース設計をしています。いずれの場合も、「プログラマーのための基本操作」と「データベース演習DDS編」を受講済みであることが前提条件です(図表1)。
ところが、これらの前提コースを受講せずに、いきなりRPG研修に参加される方を時折見かけます。おそらく、受講者の上司でRPG経験のある方が、「プログラマーのための基本操作」コースで習得するSEUやPDMなどは勉強せずとも業務の中で自然に身につく、と考えるからでしょう。
しかし、そうしたことが可能なのはマンツーマンの研修で、集合研修になると事情は大きく異なります。実際、SEUを知らないままRPG研修に参加すると、いざプログラムを登録する時に何をすべきかまったくわからず、手が止まってしまうケースがほとんどです。そのため、SEUを知らない受講生には操作方法を説明して作業を進めていただきますが、SEUを知っている受講生と比べて2倍以上の時間がかかり、RPGを勉強しているのかSEUを勉強しているのか、わからなくなってしまい、この段階で疲れ果ててしまうことがよくあります。
それを避けるためにもコースガイドどおりの受講がベストですが、スケジュールの都合などでやむを得ず、「プログラマーのための基本操作」を受講できない場合もあるでしょう。そうした場合は、SEUなどの基本操作を習得せずに実際の開発作業に入ると、しなくてもよい苦労をする場合が多いことを知っておいていただきたいと思います。これはRPGがSEUと一体化した言語であるからで、JavaやCではそうしたエディタの勉強が不要であることを考えると、悩ましい問題と言えます。
一方、RPGのエディタに日本IBMの「RDi」(Rational Developer for i)があります(図表2)。Windows画面でRPGプログラムのソースを編集でき、ライブラリやソースファイルも階層構造で見ることができるので、プログラミング経験がない人でもWindows操作がわかれば、すぐに理解できます。
「プログラマーのための基本操作」では、このRDiの使用方法も紹介していますが、若いプログラマーはほぼ全員、SEUよりRDiの画面が使いやすいと言います。これは、Windows画面が使いやすいと言うよりも、CUIベースの5250画面になじんでいないせいでしょう。逆に、講師の私がいちばん、この画面になじんでいないかもしれません。
フリーフォームRPGの研修で
衝撃的な経験
先日、ある企業でフリーフォームRPGの研修を実施しました。その際に私は、衝撃的な経験をしました。その企業の技術者は、RPGの経験がまったくない状態でフリーフォームRPGの勉強をしたのですが、RDiでサーバー接続の方法を覚え、あとは一通り、操作方法についての説明を受けただけで、いとも簡単にソース入力を始めたのです。従来のRPGでは、こうはいきません。SEUの操作から入って、さまざまなことを学習する必要があります。それに対してフリーフォームRPGでは、フリーフォームなのでプロンプト画面はなく、文法どおりに入力していけば、またたく間にソース入力が終わってしまうのです。フィールド・イクジットキーや実行キーの説明もいりません。つまり、SEUの操作方法や固定位置などをまったく意識せずに、Wordやメモ帳の感覚でプログラムコードを入力できるので、「基本操作」という概念をほとんど必要としないのです。これには、少なからず衝撃を受けました。近い将来、フリーフォームRPGが定着したら、アイ・ラーニングのコースから「(RPG)プログラマーのための基本操作」が消えることは間違いありません。
命令の概念が薄れ、
構文の考え方になる
また、フリーフォームRPGであると命令という概念が薄れ、JavaやCと同じく、構文の考え方になります。四則演算や文字の転送はすべて代入文となるため、構文どおりの書き方さえ覚えれば、命令は1つも覚える必要がありません(図表3)。あとは判断文と繰り返し文を覚えれば、プログラミングの基礎はすぐに習得できます。
かつてRPGプログラマーの技量を測る目安に、命令語をどれだけ多く知っているか、ということがありました。しかし、よく使う命令はごく限られ、RPGでプログラムを作るのにさほど多くの命令を覚える必要はないのです。CPUの性能やメモリの大きさに制限があった時代はマニュアルを眺め、パフォーマンスが上がりそうな、見たことのない命令を試しに使ったものですが、CPUの性能向上、メモリの巨大化が当たり前の現在では、マニュアルをひっくり返して使ったことがないような命令を引っ張り出す必要がなくなったと言えます。RPGは、IBM iという万能、万全といえる土壌で実行する限り、JavaやCなどと同じような構文で作っても、パフォーマンスに何の問題も起きません。RPGプログラマーの養成はフリーフォーム化により、学習すべきことが格段に減り、今までとは比較にならないほど速いスピードと低コストが可能になります。
SEUでフリーフォームRPGは
非現実的
ちなみに、RDiを使用せずに今までのSEUでフリーフォームRPGを編集すると、エラーになってしまいます。ただしOSがIBM i 7.1 TR7以上であれば、フリーフォームのRPGソースプログラムは、エラーのままSEUを終了してもCRTBNDRPGコマンドでコンパイルできます。とはいえ、SEU画面でフリーフォームRPGを扱うと、エラー表示を示す反転のまま、正しいのか誤っているのか、わからないまま無理やり操作を終了しなければなりませんから、メモ帳でソースを編集しているようなもので、あらゆるエラーはコンパイルリストを見るまで判明しません。これでは実際的とは言えません(図表4)。
初めてのプログラミングをフリーフォームRPGで行う場合、SEUの操作から開放されるので、従来のRPGより大幅に習得スピードが上がることは間違いありません。そして、当社の「(RPG)プログラマーのための基本操作」といったコースの受講は必要なくなり、その分のコストも削減できます。とりわけJavaやCの経験者であれば、フリーフォームRPGの構文は、たいした苦労もなく自力でマスターできるはずです。RPG独自のファイル処理などはその後のマスターでも遅くなく、その理解につまずくならば、それこそ私たち研修会社の出番です。本稿をご覧になったJavaやCのプログラマーの方は、ぜひともフリーフォームのRPGにチャレンジしてみてください。明日にはもう、一人前のRPGプログラマーになっているに違いありません。
著者|中村 潤 氏
株式会社アイ・ラーニング
IT研修本部 IBM製品研修部
ラーニング・アドバイザー
[i Magazine 2015年8月号掲載]
・・・・・・・・
◎ 連載|RPG Ⅳの魅力と可能性 目次
- 第1回 RPG ⅢとRPG Ⅳのコーディングの違い
- 第2回 驚くほど簡単になる、RPG Ⅳの日付計算機能
- 第3回 静的プロシージャーによるパフォーマンス向上
- 第4回 RPGⅢからRPGⅣへの移行の実際
- 第5回 RPGⅣのフリーフォームの特長と魅力
- 第6回 RPGⅣの関数を使おう!
- 第7回 フリーフォームRPGで開発要員養成コストを削減
- 第8回 若い人の声に耳を傾けるべき時がきた
- 第9回 フリーフォームRPGで「プログラム記述」レポート印刷プログラムにトライ!
- 第10回 組み込みRPGのすすめ
- 第11回 RPG Ⅳのメリット:保守の容易性を考える
- 第12回 RPG Ⅲのよさを再考する
- 第13回 RPG資産を次世代へ引き継ぐための準備は、今が踏ん張り時
- 第14回(最終回) 独学では得られない知識・情報が詰まったIBM iの研修コース