プログラム初心者から中級者になる方法

 プログラム言語の本を読んで、文法を覚えたとしても、それは知らない人から、初心者になっただけです。


 まぁ、初心者、中級者、上級者の定義はいろいろあるでしょうが。


 私自身、初心者から抜け出せずに苦労しました。


 基本的に、1000行程度のプログラムと1万行を超えるプログラムでは、かなり差があるように感じます。
 1万行クラスになると、構造をしっかりしないと大変なことになりますからね。
 また、単機能ではなく、複数の機能を持ちますので、リソース管理などが重要になります。
 このリソース管理手法や複数のタスクを並列に動作させる技法とか、プログラムの文法書や入門書に載っていませんよね普通。


【昔の話】
 昔、若かりし頃、DirectXを勉強しようとしました。
 しかし、昔は今ほど、サンプルソースが充実していない時代でしたので非常に苦労しました。


 確かに、本を読んで原理や仕組みは判ったけど、実際のゲームを作るまでの差は大きかった。


 ポリゴンが出せるようになりました。
 テクスチャーを張れるようになった。衝突判定も判った。


 でも、3Dゲームの作り方は判らなかった。


 まぁ、DirectXの本を読んで理解しろというのが無理なんですが。


 この際、やっぱり役に立ったのが、オープンソースソースコードですね。
 そのソースコードを呼んで色々と勉強しました。
 今の時代でしたら、付属のサンプルを読むだけでも、非常に勉強になると思います。


 いきなりオープンソースは辛いので、


 数百行〜3000行程度のサンプル
 → 数万行のオープンソース


 という手順が良いと思います。


 会社でしたら、普通に会社の古いソースを見るのも、手ですけどね。


 で、それらを読んでいて、判らない技巧に出会ったら、調べる。
 例えば、デザインパターンは有益な知識ですが、システムと一体化しなければ、いまいち使うタイミングや有難味などは判りません。


 読むだけだと動作のイメージがわかないので、デバッガを使って、動作の感覚を得ます。



 そして、ある程度理解したら、それらを少し改造するところから始めました。
 アレンジですね。


 そのアレンジがある程度こなれてきますと、要約、オリジナルが作れるようになりました。


 この方法は、だいぶ回り道のような気がしますが。
 3〜4作品のソースを見ますと、勘所というのが、少しわかったような気になります。


 う〜ん、いまいちの文章だったな・・・