chintaro3の日記 

基本、チラ裏です。書いておくと頭の中が整理できますゆえ。

将棋が好きな人には優秀なプログラマが多い(かも?)

 
このエントリーを見てふと思ったので
 
プログラミング初心者はどのように学ぶべきか談義について
http://d.hatena.ne.jp/gothedistance/20081217/1229492277
 
自分のスキルは日曜プログラマーレベルなので、全然説得力のある話はできないんですが。
 
問題なのは、学び方の詳細というより、同じように学んでも、さっぱりダメな人と、どんどん出来るようになる人との差がすごく大きいという摩訶不思議。で、この差は何なんだろうと。
  
自分の場合を思い返してみて、小学生の頃に「将棋」をやってたことが、その後のプログラムの勉強に何気にすごくプラスになったような気がするなーと思ったんですよね。
 
 
・・・で、

「あ、そういえば!」

あの小学生の当時、将棋がめっちゃ強かった、あの人もあの人も、今ソフトで飯食ってるよ!!!
 
と気がついた。
 
 
サンプル数少なすぎ?そうかなぁ。
 
将棋っつーのは、将棋盤の目が決まっていて、駒の数も決まっていて、駒の動きも1つ1つはすごく単純な動きしかできない。でもすごく複雑なゲームになる。「歩」みたいな弱小駒もすごく大事な働きをするというのもおもしろいよね。歩のない将棋は負け将棋。まさに名言。
 
こういう経験の上にプログラムを勉強すると、たとえそれがとっても単純な命令ばっかりで、制約条件だらけの開発環境だったとしても、その組み合わせで「何かすごく面白いことができそうだ!」ということを直感的に理解することが、できます!。この差が実はひじょーーーーーに大きい!!!。・・・のではないかな。と。
 
 
・・・将棋しらない人にこれを直感的に理解してもらうのは・・・難儀ですよ・・・
 
 
自分の知ってる範囲だけだけど、勉強してもプログラムがさっぱり出来るようにならなかった人って、将棋とか知らなさそうな人だったなーと振り返る過去。偏見かなー???。 まぁサンプル少なすぎるけどね。
 
でも、個人的にはオススメしておきますよ。
 
もしプログラムも将棋も知らない人だったら、プログラミングの前に、先ず将棋から始めてみるのもいいかもね?