今さら RPG なんかを学んでもイミないんじゃない? とか聞かれることがあったりするのですが、実は立派にあるんです。
RPG をちゃんと書けるようになる、というのはプログラミングの基本を身につけるための最短距離なんじゃないか、とも思っています。
なぜなら、今現在の RPG は "面倒なクセのない C" と言っていいようなプログラミング言語になっているからです。
そもそも「なぜ C?」とか「いまさら C?」と思うかもしれませんね?!
本屋さんに行って見てみてください。Java だとか C++ だとか Ruby だとか新しい言語があまたある中、未だに C の本は大量に出版され続けていることがわかります。
なぜ C を学ぶか? なぜこんなに C の本が必要か? については、そういった本の前書きを見てみていただきたいのですが、、
C や RPG のような "手続き型言語" には、
プログラミングの基本となる "構造化" と "モジュール化" を、
シンプルに(「クラス」だとか「オブジェクト」だとかいった"概念"に煩わされずに)学ぶことができる、
という大きな利点があるんです。
"オブジェクト指向" はある意味で "モジュール化" が発展してできた考え方です。
Java で具体的に言えば、クラスメソッドやユーティリティクラスなどはまさしく C で言う"モジュール化"そのものですし、
さらに Java 7 ではその名もモジュール・システムという機能が導入されています。
"モジュール化" は "オブジェクト指向" を理解する上でも必要な考え方だと言えます。
(「デザイン・ルール」などを読んでみればわかりますが、ビジネス上でも重要な考え方だと言えるでしょう)
"構造化" とは、逐次遂行/条件分岐/反復(ループ)によってプログラムを記述することをいいますね。
Java だってクラスの中を "構造化" せずに書くことはできません。
Java に goto 文がないのは、"構造化" の考え方を強制するためだと言われてもいます。
(ちなみに ILE RPG にも goto は存在しません)
実際、C を読み書きできる、というのはコンピュータをあつかう上での基礎教養と言ってもいいように思います。
では、C さえ勉強すれば万事解決してしまい、RPG なんかに出る幕はないのでは? という見方もあるかもしれませんね?!
ところがさすがそんな簡単なことではないんですね。
実際、C にはいろんな"癖"があり、初心者にとっては決して学びやすい言語ではありません。
やってみた人はわかると思いますが、やっぱり敷居が高く、挫折する人が多いのは本当のことだと思います。
「なぜこんなに C の本が必要か?」というのは、挫折する人が多いゆえ、なのかもしれません。
たとえば、RPG ユーザーには信じられないことかもしれませんが、C では文字列を扱うだけでもかなりの知識が必要になります。
データがバイトでどう表現されているか(型のサイズ)や配列、ポインタの知識がないと、文字列を扱ったプログラムを理解することすら困難なことがあります。
また、パラメータを渡してその値を変更して返してもらう、といったコーディングにすらもポインタの知識が必要になります。
データの型だったりポインタだったりにひっかかって挫折しなければ C の習得はもっと簡単、なのは異論のないところでしょう。
その「習得が簡単な C」がまさしく ILE RPG 、なんですね。
まず、RPG で「本格的」なプログラミング言語デビューをして、その後 C を勉強する、というのもひとつの道です。
IT にかかわっていて C の読み書きができて得をすることはあっても損をすることはありません。
RPG をきちんと書けるようになれば、C プログラムのだいたいのところは読めるようになります。
そのうえで、C の"癖"をまとめて勉強すればいいわけです。
逆に言えば、C をちゃんとできるんだったら、RPG は簡単に使いこなせるはずですよ。
RPG を使える人がいない、といっても、"本当に" C を書ける人だったら、間違いなく ILE RPG なんてあっという間に習得できるはずです。
もし、それが難しいんだったらその人は"本当に" C を書ける人ではないのかもしれませんね?!
ということで、次回は C と比較しつつ RPG がどんな言語なのかを見ていきたいと思います。
この記事にはトラックバック・コメントがありません。
コメントは投稿者の責任においてなされるものであり,サイト管理者は責任を負いません。