●RPG3とRPG4
RPG3ユーザーが来週、来社されると言う
RPG4を勧めるらしい
それで、私に同席して欲しいと営業さんから依頼が
●何が違う
RPG3とRPG4の何が違うのか?
それにサクッと答えられるようにしとかないと
今日、考えてみたけれど、聞かれた瞬間には思い浮かばない
でも、今では・・・
●固定形式のRPG3とRPG4
特筆すべきは、RPG4 FF
FFとは Free Form の略
フリーフォーム? はて?何のこと?って
Visual Cとか、Visual Basic, Delphi, PHPなどなど
様々な言語では、プログラムコードを書く時に桁数の制限なんてないですよね
たとえば、IF 命令を1桁目から書こうが、30桁目に書こうが
コンパイル時にそれがエラーとなることはありません。
でも、RPG3とかRPG4の固定形式(フリーフォームの対語として)なら
決まった桁数の位置に配置しなければならないのです
一桁でも右や左にずれたら、コンパイラがエラーとします
(その前にエディタがエラーではじきますけどね(笑))
なので、
IF あなたは生物か?
IF あなたは動物か?
IF あなたは無脊椎動物か?
<違いますよー(笑)>
ELSE
IF あなたは哺乳類か?
<あなたの居場所>
ENDIF
ENDIF
ELSE
<それなら植物だ>
ENDIF
ELSE
<それならあなたは何者だ?>
ENDIF
ってな具合で、IF命令とENDIF命令は同じ位置から書き始めなければなりません。
この例では割と簡単なので、どのIF命令に対応するENDIFかがわかると思いますが(分ります?)
複雑なロジックになると・・・頭がスパゲッティになります。
それに比して、フリー形式の言語では
IF あなたは生物か?
IF あなたは動物か?
IF あなたは無脊椎動物か?
<違いますよー(笑)>
ELSE
IF あなたは哺乳類か?
<あなたの居場所>
ENDIF
ENDIF
ELSE
<それなら植物だ>
ENDIF
ELSE
<それならあなたは何者だ?>
ENDIF
という風に、かなり分かりやすくなったと思います。
RPG4では、それまでの固定形式の記述法に加え、
上記のフリーフォーム形式でのコーディングが出来るようになりました
これによって、他の言語でのプログラミングスキルを持っている方は
RPG4 FFでも同じ感覚でプログラミングできるようになっています
もちろん、RPG4 FFでも、AS400のOS IBM i の優れたデータベース機能は
簡単な命令で使用できるようになります
●私の経験
前職では、RPG3がほとんどでした。
RPG4はかじる程度・・・いやかじりかけでした
しかし、昨年9月に転職し、現職ではRPG4でのプログラミングを要求され
最初は固定形式で行っていました
しかし、複雑な論理式を固定形式でプログラミングするのは非常に苦痛で
バグも発生しやすいため、フリーフォームでコーディングを始めました
すると、もう今ではとりこになってしまって
フリーフォーム以外でプログラミングなんて出来るかー!
みたいな感じになってしまいました
もし、前職時代の私のような方がおられたら
一度騙されたと思って、RPG4 FFを試してみてください
たぶん、10人中7人はとりこになってしまうと思います(笑)
人気ブログランキング
すみません。 補足です