RPG

562. RPG IIIが一番難しい

IBM iの開発言語の中で難易度の順序を考えてみると

① RPG III
② COBOL
③ Java
④ ILE-RPG
⑤ C
⑥ FF-RPG
⑦ Python
⑧ CLP

くらいの順序になるだろうか?
COBOLは米国の女性SEがIBMで開発した言語であるが
英語文化圏以外ではCOBOLの冗長な表現は
非常に読取りにくい。

Javaは設計したClassの構造をよく理解していないと
いきなりJavaができますという新入社員が入っても
当分使い物にはならない。
Javaは意外とそれほど汎用的でないし
IBM i のビジネス用のキッチリした仕様には向いていない。
Javaが優れているならIBM iでJavaはもっと普及したはずだ。
Javaがポインタが使えないのはILE-RPGから見ても見劣りがする。
 
 
C言語は高級言語であり慣れればRPG IIIなんかより
はるかに柔軟で使いやすい。
意外やRPGのビット操作命令はC言語にも存在していない。
C言語のビット操作は実は苦肉の策というテクニックが
必要である。
RPGはビット操作もできる点はC言語より優れている。
しかしC言語を知っている人がILE-RPGを書くとILE-RPGの機能の範囲が
大きく広がる。C言語の関数をILE=RPGで利用できるからである。
その意味でもC言語を学習する意味は非常に大きい。
C言語の歴史は長くC言語は今後も残り続けることになるだろう。

ILE-RPGのフリー・フォーマットは直感的で
非常にやさしくて使いやすい。快適にコーディングができる。
ただしフリー・フォーマットにするのは
演算部分だけで十分であってH-仕様書など
他の部分まで無理やりフリー・フォーマットにしても
あまり意味を持たない。

PythonはIBM i上でももうすぐ全面的に使えるように
なるはずである。(Python.400)
今、オープン系でもサンプル・ソースと言えば
C言語ではなくて Pythonである。

CLPはコマンドの組み合わせなので
非常に簡単でSFL以外の処理ならほとんど
CLPだけで開発できてしまう。

最後にRPG IIIは進化していないので
演算命令も制約が多い。
さらに固定型式で構造化されていないので
他人が書いたRPG IIIは読みづらい。
IBM iは古いとのたまわっている偽オープン化信奉者の
会社では恐らくRPG IIIのままでIBM iが古いのではなく
その人の会社と担当者の頭が古いことに気づいていない。
ILE-RPGはかなり現代に合わせて進化しているのである。

IBM iはPASE環境も持っているのでそのままで
オープン系のPythonなども動作させることができる。
入門用としても今後はPythonの時代になるのは間違いない。
IBM iでもPythonを使って開発できるようにしておけば
多くのPython開発者を受け入れることができるようになる。

今後、IBM i上でもPythonによる開発も大いに進んでいくことだろう。