ブログトップ 記事一覧 ログイン 無料ブログ開設

もとまか日記 このページをアンテナに追加 RSSフィード Twitter

【本ブログにコメントを書く際の注意事項】

2010年11月28日

[][] プログラマを目指す人が本を読む前に読むべきネットの記事


最近、プログラマ向けの書籍を紹介するのが流行ってたようで。


全てのプログラマが読むべき本ベスト10冊

見習いプログラマが読んだら、すぐにジョブレベルが上がる10冊

見習いプログラマが読んでも、ほとんど無意味な10冊

きれいなソースコードを書くために読んでおくべき本10冊 - ひがやすを blog

Pythonのプログラマを志したおいらが買ってよかった5冊の本



「プログラマ向けの書籍」という点で言えば、

確かにこれらの本を読むといいのかもしれません。

ちなみに私はどれも読んだことないです。スミマセン。


ただ、一つだけ気になったのが、これからプログラムを始めて、

アプリを作ってみようと志してる方が、これらの記事を読んだ時に

果たしてどう思うんだろ?ってことでした。


「こんな高価で難しそうな本を読まないといけないの・・・?」


とか、思ってしまわないだろうか、と。

もちろん、そういう趣旨の記事ではないのは分かってるんですが、

そこが少し気になってしまったわけで。

もしそういう人がいたら、最初から引いてしまう必要はないですよ、

ってことで、それらの本を読む前に、まず読んで欲しい記事を紹介してみます。

ネット上の記事なので、もちろん無料です。



プログラマ、SE、ゲームプログラマについて - Yahoo!知恵袋


この、ゲームプログラマを目指そうとしてる方の知恵袋の回答に、

セガの平山氏の回答があって、この内容が本当に素晴らしい。

私も初めて読んだ時に感銘を受けました。

ちょっと長いですが、ここはあえて全文引用します。

「ゲームプログラマになる前に覚えておきたい技術」

http://d.hatena.ne.jp/asin/4798021180

を書いた者です。評判を検索していたところたまたま見つけたので、

これも縁かと思い書き込ませていただきます。

これは私の主観ですので、「そういう意見もあるか」程度に

思ってください。


私はまずはC++を道具としてゲームを作ってみることが第一だと思います。

C++はCを含んでいますから、文法要素が多すぎて大変なら最初はCの範囲

だけでもかまいません。

私が最初に参加したゲームはPS2のゲームでしたが、Cでした。

言語なんて道具なのでJAVAの方が良ければそれでもかまいませんが、

Cの方が「コンピュータってつまり何をする機械なの?」ということを

体で理解しやすいと思います。


また、たくさんのことを覚えるよりも、やり方を自分で考える経験を

たくさん積む方が大切です。

DirectXやOpenGLなどは所詮誰かが作ったプログラムにすぎません。

本質はそれによってどんな計算をどのような方法で行うかにあります。

Windowsだって誰かが作ったプログラムにすぎず、Windows上で動く

プログラムを作るためには「やむを得ず」覚えないといけないことが

いろいろありますが、やはりそれは本質ではありません。

VisualStudioの使い方だって同じです。極端に言えばC言語の文法すらそうです。

本質は自分が作りたいゲームをどうコンピュータで動く形で表現するか、

にあります。


だから、私はたくさんの本を読んで、たくさんのことを勉強することに

あまり意味を感じていませんし、

そうした人ができる人だという印象も持っていません

(物知りは所詮物知りです)。

「これが必要だからこれをまず勉強しないと」という考え方は、

挫折を招きやすく、もともとの目標を忘れさせます。

人間は必要性が納得できないと本当の意味で勉強することはできません。

むしろ「どこまで勉強せずにゲームを作れるか」と逆に考えた方がいい

と思います。

DirectXを勉強しないと3Dゲームは作れない、と言う人を私は疑います。

WiiやPS3はDirectXでは動いていません。あれは手段のひとつに過ぎず、

そもそもそんなものがなくても3Dのゲームは作れるのです。

その過程で「ああ、数学ってこういうふうに使うのか」とか、

「アルゴリズムってだから大切なんだ」ということが身に染みて

理解できるはずです。

数学やアルゴリズムやDirectXの面白くない本を苦労して読むのは

その後でも間に合いますし、その時ならきっと楽しく読めると思います。

また、本の良し悪しもよくわかるようになって、ハズレな本に

高い金を払わずに済むでしょう。

クイックソートで感動するには、クイックソートが必要な状況に

出会った経験が必要なのです。

その順序が逆だから挫折する人が多いのだと思います

(高校の勉強もそうですよね)。


あとは本の宣伝になってしまいますが、許してください。

私の本はそういった思いを本にしたものです。

DirectXもWindowsプログラミングも一切なしで、

可能な限り最短距離でゲームを作るための「計算の本体」を

学べるようにしたつもりです。

中身はDirectXで動いているので、付録のソースコードを見れば

DirectXの実際の使い方も勉強できるかと思います。


以上です。がんばってください。


簡単にポイントをまとめると以下でしょうか。

・やり方を自分で考える経験をたくさん積む

・人間は必要性が納得できないと本当の意味で勉強することはできない

・どこまで勉強せずにゲームを作れるか


すごくよく分かる内容ですし、私も同じように考えてます。

ゲームに限らない話でもあるでしょうね。

以下のようなのを書いたのも、そんな思いが理由の一つなのかも。


iPhoneアプリを作ってみよう:目次エントリー - もとまか日記


難しいことは後でいい、というか、後から読んだ方が分かりやすい。

大事なのは、とにかく手を動かしてみること、ですね。


 

sunatchsunatch 2010/11/28 08:00 引用元も含めて、とても同感です。
私は40才ですが、自分が小学校高学年〜中学生頃のパソコンゲームは、自分でも作れそうな気がするレベルのものが多くて、意欲に繋がりやすかったです。
また、勉強する対象としても、BASIC(Visualでない)と、機械語(アセンブラでもない)だけだったので、WindowsやDirectXなどの誰かが作った膨大なAPIの勉強と異なり、全てを網羅することも可能でした。
今から勉強する人は、ポイントを絞って勉強する必要があるので、作りたい物があり、そのために必要なことを調べていく方法が適してますね。
ただ、困ったときにネットで検索できる点だけは、今のほうが恵まれていると感じます。

moto_makamoto_maka 2010/11/28 08:12 コメントありがとうございます。

今はネットでおおよその情報は入手出来るのでやりやすい反面、
アプリが高度になってしまってるので、どうやってそこまで
辿り着いたらいいのかが分かりにくいのかもしれませんね。
目から鱗でした。ありがとうございます。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/moto_maka/20101128/1290886142