RPG

530. なぜRPGが難しいのか?(2)

RPGはやさしい開発言語としてユーザーでも
自社開発できるようにと生まれた言語である。
しかしここにきてとっつきにくいと評される難しさが
目立ってきた。

長年RPGだけに携わってきた人にとって
RPGが難しいものだと言われても感じにくいのかも知れない。
_

■ RPGはウォーターフォール型言語である

現在、学校で教育されているJavaやPythonなどの
開発言語はイベント駆動型言語と呼ばれる形式であって
機能キーやボタンを押したなどのエンド・ユーザーによる
操作毎の関数のみを記述する言語である。

最初は画面を出力してそれで終わりである。
次にボタンを押したとかのイベント(=動作)に対応する
関数をイベント別に記述していけばよい。
_

このイベント駆動型言語(=イベント・ドリブン)は
イベント(=動作)に関数を独立して記述していけば
よいだけなので他のイベント処理の影響も考慮する必要が
なく極めて短い思考で完結する。

これに対してRPGやCOBOLではご存じのようにひとつの
プログラムの中ですべてのイベントや事象に対応する記述を
記述していかねばならないのであらゆる発生する可能性の
あるイベントに対する動作(=関数)を記述する必要がある。
 _

つまり多くの可能性の想定がプログラマーの資質として
要求されることになりこれはIQの高いプログラマーにしか
仕事になる。

イベント駆動型のオープン系の言語であれば
高度な経験と想像力に満ちたプログラマーでなくても
記述、つまり開発はできるがウォーターフォール型は
経験や記憶力、想像力などのIQの高さが要求される。

したがってRPGやCOBOLの開発はオープン系の開発言語に
比べて難しいと言われる所以である。

現代の若者は思考経路の持続が難しく短期間の経路でしか
思考が維持できないのはある意味どうかと思うが
それは現実なので仕方がないのだろう。

■ オープン系言語も最初はウォーターフォール型だった

オープン系の開発言語もBasicやC++のころは
イベント駆動ではなくRPGやCOBOLのような
ウォーターフォール型であった。
しかしMicrosoftの進化によってメイン・ルーチンが
内部にカプセル化されて見えなくなってしまい
今のイベント駆動型に進化したのであって
内部ではメイン・ルーチンがちゃんと活動している。
これはRPGのRPGサイクルのようなものである。

VisualBasic, VisualC++ のように「VisualXX」系の
言語はイベント駆動型である。
_