僕(講師K)がプログラミングをするようになった理由は何だったのか。
つい最近、そんなことを改めて考える機会がありました。
パソコン?
数学?
理系だから?
いろいろ思い返してみたのですが、どうもしっくりきません。
そして過去の記憶をたどっていくうちに、意外な答えにたどり着きました。
もしかすると、僕のプログラミングの原点は「将棋」なのではないか。
そう思ったのです。
子どもの頃、暗記より「考える」ことが好きだった
子どもの頃、よく将棋をして遊んでいました。
当時の僕は、物事を暗記することに強い苦手意識があったように思います。
その一方で、
- 次の一手を考える
- どう指せばいいかを試行錯誤する
- 正解が一つではない
こうした要素を持つ将棋は、とても楽しい遊びでした。
「覚える」よりも「考える」。
この感覚が、当時から自然と自分の中にあったのだと思います。
将棋とプログラミングの共通点
今振り返ると、将棋とプログラミングには多くの共通点があります。
- 将棋で先を読む → プログラミングで処理の流れを考える
- 将棋の受け → プログラミングのエラー対策
- 一手で決まらない → 何度でも修正できる
どちらも「正解を当てるゲーム」ではなく、
考え続けることそのものに価値がある世界です。
将棋とプログラミングに共通する大切な考え方
改めて言葉にすると、こんな共通点があります。
- 正解を覚えさせない
- 自分で考える
- 失敗しても詰みじゃない
これは将棋にも、プログラミングにも共通することだと思っています。
お気に入りの将棋棋士
僕には、お気に入りの将棋棋士がいます。
それが 米長邦雄 さんです。
将棋界屈指のユーモアセンスを持ち、それでいて非常に強い棋士。
49歳11か月で史上最年長名人となったことでも知られています。
名人とは、将棋界において 最も権威があるとされてきたタイトル・称号です。
羽生善治棋士が全盛の時代に、親と子くらい年の離れた米長さんが第一線で戦っていた姿は、本当にかっこよく、強烈に印象に残っています。
常識を疑う「米長玉」という発想
米長さんには「米長玉」と呼ばれる有名な囲いがあります。
一見すると非常に危険で、「なんでそこに玉がいるの?」と思ってしまうような形です。
僕も真似して使ってみたことがありますが、当然のようにボロ負けしました(笑)。
素人が使えるほど、簡単な戦法ではなかったのです。
それでも、常識から外れた発想を恐れない米長さんのセンスが、当時の僕にはとても魅力的でした。
心に残っている一節
米長邦雄さんの著書「人間における勝負の研究」の中に、心に残っている一節があります。
正しいものは絶対にこれしかない、一番正しいものでなければイヤだ、と考えるとどんどん硬直して視野が狭くなる。
すると、創造性とか先見性とかは生まれてきません。
その判断の基準になっているのは、すべて過去のものなのですから。
引用 – 「人間における勝負の研究」さわやかに勝ちたい人へ
この言葉は、今の自分の気持ちにも重なる部分があります。
プログラミングにも同じことが言える
プログラミングでも、
「これが絶対に正しい書き方だ」
という思い込みがあると、視野は一気に狭くなります。
本来は自由に書けるはずのコードが書けなくなり、エラー解決にも時間がかかってしまう。
プログラミングに「唯一の正解」はありません。
人の数だけ、書き方があります。
だからこそ、
絶対こうでなければならない、という発想は不利になる
僕はそう考えています。
まとめ
将棋が教えてくれたのは、
「一手で人生は決まらない」ということ。
だからプログラミングも、失敗しながら、何度でもやり直せばいい。
そんな考え方を、これからも伝え続けていきたいと思っています。
