1976年生まれのプログラミング初心者のゲーム制作日記

ひょんなことからJavaでゲームを作ることになり、その過程を記しています。

このブログに書いているプログラム

このブログは「初心者としての自分の知識の変化を記録する」という思いを出発点に書いています。

なのでプログラミング知識の豊富な方からすると恐ろしく効率が悪かったり、概念の捉え方が「そうじゃないんだよな」と思われることもあるかと思います。

自分の知識が深まるにつれてコードの書き方も変わってきており、今の自分から見ても思わず書き直したくなる場所などがあったりしますが、それはそれでその時の自分が試行錯誤の上にたどり着いた回答であるとして、敢えてそのまま残しています。なぜなら当時の自分にはそれ以上高度な書き方を要求されてもハードルが高くて投げ出していた可能性が高いからです。

たとえ恐ろしく効率は悪くとも、書いていることが楽しくて、理解できて、それがちゃんと動いてくれるのであれば、当時の自分にとってはそれがある意味でベストのプログラムだったのだ。そんな風に考えています。

自分はプログラミング言語の学習に何度も挫折してきたので、この「続けられる」ということが大きなテーマになっていたと言えるかもしれません。

プログラミング言語は「わかっている人間がいかに速く書けるか」という目的のもとに表記が進化・簡略化されてきた、という印象があります。そしてそれだけに「プログラミングがうまい人のコードほど、初心者には難解なものになる」という面もあるように感じました。

学習していて感じるのは、プログラムは「自分より一歩先にいるくらいの人の文がわかりやすくて役に立ち」、「うますぎる人の文は見ても結局使えない」ことが多いということです。

ひとつの段階を経ると、ひとつの疑問が出て、その疑問を解決するために次の段階に上る。効率の悪いやり方をたっぷり経験するから、効率よくできたときのありがたみがわかる。あまり先回りしすぎず、そうやって目の前の課題をひとつずつ自分の中で理解・消化し、少しずつ自分のコードを磨いていくやり方が、少なくとも自分には合っているようです。