安永ノリカズのゲーム制作&Javaサンプル集


わからないことがあったら、何でも聞いてくれ!

なぜなに256ノック

世の中に数あるJava関連サイトの中でも、とりわけ異彩を放つ『愛のJava256本ノック』。 このサイトを読んで、なぜ? どうして? と不思議に感じることもきっと多いはず。 そんなあなたの疑問に、なぜか村上春樹の小説を引用しながら、バッチリお答えしちゃいます。

Qどういう人を対象としたトレーニングですか? 誰にでも効果抜群って本当ですか?

A子供からお年寄りまで、性別を問わず、安全に取り組むことのできるトレーニングです。 特に、Javaの勉強をしてみたけど実際のプログラムの組み方が分からない人、 J2SE 5.0で何が変わったのか知りたい人、Swingのサンプルプログラムが欲しい人には、オススメです。 ただし、効果の現れ方には個人差があります。特に、僕とユーモアのセンスがあわず、プログラムを読むたびに、 イライラが募っていく場合は、直ちにトレーニングを中断して、別の方法に切り替えてください。

村上春樹『ダンス・ダンス・ダンス』より
僕のユーモアの感覚は時々まったく相手に理解されないことがある。 僕の真剣さが時々まったく相手に理解されないのと同じように。

Qサンプルが自分の環境で動かないんですが?

A多くのサンプルは、最新の機能を紹介するために、 J2SE 5.0で拡張された文法を使用してます。J2SE 1.4以前を利用している方は、コンパイルできませんのでご了承ください。 確認はWindowsでしか行っていませんので、環境によっては、動かないことがあるかもしれません。 また、うっかりしたミスで、動かないソースをアップしているかもしれません。 その場合は、お手数でなければ、ご一報いただけるとありがたいです。

村上春樹『風の歌を聴け』より
「完全な文章などといったものは存在しない。完璧な絶望が存在しないようにね。」

Q変数やメソッドにどう名前を付けていいのか分かりません。サンプルの模範解答はないんですか?

Aなるべく英語のフルスペルで付けてください。 変数には名詞、メソッドには動詞をつけるのが基本です。どちらも小文字で始めて、単語の区切りを大文字にしてください。 模範解答は、あえて用意しないことにしています。みなさんそれぞれのセンスで変数に名前を付けて、それぞれのプログラムを堪能して欲しいからです。
参考サイト:「オブジェクト倶楽部 コーディング規約の会」

村上春樹『羊をめぐる冒険』より
「どうでしょう、私が勝手に名前をつけちゃっていいでしょうか?」
「全然構わないよ。でもどんな名前?」
いわしなんてどうでしょう?」

Q参考書にも載ってないメソッドがあるんですが?

AGoogleなどの検索エンジンで調べてみてください。 ネット上にJavaの解説・ソースコードは多数存在しますので、必ずや有益な情報が手に入ると思います。 わからない言葉はまず検索エンジンという癖をつけるとよいでしょう。

村上春樹『1973年のピンボール』より
凡そ人の手によって書かれたもので、人に理解され得ぬものは存在しません。

Qどうしても何の変数なのか分からないところがあります。メールで質問してもいいですか?

Aどうぞ、お気軽に質問してください。 ただ、仕事が忙しかったり、飲み会が続いてたり、アビスパ福岡が博多の森で試合してたりすると、 返事する時間がないこともございますので、お許しください。

村上春樹『ダンス・ダンス・ダンス』より
コミュニケーションというのはそういうものなのだ。不完全で偶発的で受動的なものなのだ。

Q256本ノックを受ければ、もう一人前のJavaプログラマーですか?

A野球において、ノックがあくまでも守備練習の一つであるのと同様に、 このトレーニングもJavaプログラミングの基礎トレーニングの一つに過ぎません。 このノックで培った基礎体力とプログラマー根性をもとに、次のステップへと進んでください。

村上春樹『風の歌を聴け』より
例えば象について何かが書けたとしても、象使いについては何も書けないかもしれない。

Qプログラマー根性ってなんですか?

A分からないことは自分で調べ、無いものは自分で作る。 出来ないからといって、すぐに人を頼らず、とことん自分で考えることが好きで、 困難にぶち当たっても、自ら局面の打開に動き出す。そんな自己解決の精神を、僕は「プログラマー根性」と呼んでいます。

村上春樹『ダンス・ダンス・ダンス』より
とにかく動くこと。立ちどまらないこと。踊り続けること。みんなが感心するくらいうまく踊ること。

QサーバーサイドJavaが主流の今日、 Swingとかやって意味あるんですか? どうせならSWTの方がいいんじゃないですか?

A事実、業務レベルではサーバーサイドJavaが使われることが多いですし、 GUIとしてSWTの方がより高速に動作するのも確かです。それでも僕がSwingを選んだのは、基礎的なJavaの知識を身につけるのに、 ぴったりの素材だと考えたからです。設計もスマートで、プログラムしてて意外と楽しいですからね。 それに、リッチクライアントを見直す動きもありますし、ちょこっとしたデスクトップツールを作るのにも使えるので、 実務にも充分に活用できる技術と思ってます。 もちろん、ここで学んだ基礎知識をもとに、最先端の技術にも果敢に挑戦していって欲しいと思ってます。

村上春樹『風の歌を聴け』より
あらゆるものは通りすぎる。誰にもそれを捉えることはできない。僕たちはそんな風にして生きている。

Qオブジェクト指向が分からないとJavaは理解できませんか?

AJavaを理解するには絶対に必要な考え方ですが、 初心者が初めてプログラムを組むのに必ずしも必要ではありません。 むしろ、Javaという教材を通して、オブジェクト指向を理解するくらいの意識で問題ないと思います。 JavaクラスライブラリのAWT、Swing、コレクションフレームワークあたりは、 オブジェクト指向的クラス設計のお手本になっているといえますので、これらのクラスを学ぶことが、 そのままオブジェクト指向の勉強につながります。 考えてから行動するよりも、行動してから考えた方が、物事がよく見える場合がありますからね。

村上春樹『風の歌を聴け』より
僕たちが認識しようと努めるものと、実際に認識するものの間には深い淵が横たわっている。

Qver0.10の次は、ver0.20ですか?

Aバージョンはノックの本数を16進数に表したものです。 ですので、何本のサンプルを含むかによって、次のバージョンは決まります。 一応、256本(16進数の100)、ver1.00で完成の予定です。

村上春樹『羊をめぐる冒険』より
僕に必要なものは正確に数字であらわせるリアリティーなのだ。

Qいつノックが256本になるんですか?

A毎度のごとくのんびり更新なので、いつになるやら…… でも、ゲームの完成より、256本達成の方が早いと思ってます。……たぶん。

村上春樹『1973年のピンボール』より
入り口があって出口がある。大抵のものはそんな風にできている。