僕(講師K)がプログラミングをするようになった理由は何だったのか。
つい最近、そんなことを改めて考える機会がありました。

パソコン?
数学?
理系だから?

いろいろ思い返してみたのですが、どうもしっくりきません。
そして過去の記憶をたどっていくうちに、意外な答えにたどり着きました。

もしかすると、僕のプログラミングの原点は「将棋」なのではないか。
そう思ったのです。

子どもの頃、暗記より「考える」ことが好きだった

子どもの頃、よく将棋をして遊んでいました。
当時の僕は、物事を暗記することに強い苦手意識があったように思います。

その一方で、

  • 次の一手を考える
  • どう指せばいいかを試行錯誤する
  • 正解が一つではない

こうした要素を持つ将棋は、とても楽しい遊びでした。

「覚える」よりも「考える」。
この感覚が、当時から自然と自分の中にあったのだと思います。

将棋とプログラミングの共通点

今振り返ると、将棋とプログラミングには多くの共通点があります。

  • 将棋で先を読む → プログラミングで処理の流れを考える
  • 将棋の受け → プログラミングのエラー対策
  • 一手で決まらない → 何度でも修正できる

どちらも「正解を当てるゲーム」ではなく、
考え続けることそのものに価値がある世界です。

将棋とプログラミングに共通する大切な考え方

改めて言葉にすると、こんな共通点があります。

  • 正解を覚えさせない
  • 自分で考える
  • 失敗しても詰みじゃない

これは将棋にも、プログラミングにも共通することだと思っています。

お気に入りの将棋棋士

僕には、お気に入りの将棋棋士がいます。
それが 米長邦雄 さんです。

将棋界屈指のユーモアセンスを持ち、それでいて非常に強い棋士。

49歳11か月で史上最年長名人となったことでも知られています。
名人とは、将棋界において 最も権威があるとされてきたタイトル・称号です。
羽生善治棋士が全盛の時代に、親と子くらい年の離れた米長さんが第一線で戦っていた姿は、本当にかっこよく、強烈に印象に残っています。

常識を疑う「米長玉」という発想

米長さんには「米長玉」と呼ばれる有名な囲いがあります。
一見すると非常に危険で、「なんでそこに玉がいるの?」と思ってしまうような形です。

僕も真似して使ってみたことがありますが、当然のようにボロ負けしました(笑)。

素人が使えるほど、簡単な戦法ではなかったのです。
それでも、常識から外れた発想を恐れない米長さんのセンスが、当時の僕にはとても魅力的でした。

心に残っている一節

米長邦雄さんの著書「人間における勝負の研究」の中に、心に残っている一節があります。

正しいものは絶対にこれしかない、一番正しいものでなければイヤだ、と考えるとどんどん硬直して視野が狭くなる。
すると、創造性とか先見性とかは生まれてきません。
その判断の基準になっているのは、すべて過去のものなのですから。

引用 – 「人間における勝負の研究」さわやかに勝ちたい人へ

この言葉は、今の自分の気持ちにも重なる部分があります。

プログラミングにも同じことが言える

プログラミングでも、
「これが絶対に正しい書き方だ」
という思い込みがあると、視野は一気に狭くなります。

本来は自由に書けるはずのコードが書けなくなり、エラー解決にも時間がかかってしまう。

プログラミングに「唯一の正解」はありません。
人の数だけ、書き方があります。

だからこそ、
絶対こうでなければならない、という発想は不利になる
僕はそう考えています。

まとめ

将棋が教えてくれたのは、
「一手で人生は決まらない」ということ。

だからプログラミングも、失敗しながら、何度でもやり直せばいい。
そんな考え方を、これからも伝え続けていきたいと思っています。