あの「プログラミングのパズル」、実は大正解だったのかもしれない
ふと、10年くらい前のプログラミング教育のことを思い出した。
学校でScratchみたいなブロックを並べてキャラクターを動かす授業が始まった頃だ。
当時のエンジニア界隈の反応はあまり良くなかった。
「そんなのはプログラミングじゃない」
「環境構築もやらないのか」
「構文エラーで苦しんでこそ本物だろう」
だいたいそんな感じだったと思う。
正直に言うと、私も似たようなことを考えていた。
ブロックをドラッグ&ドロップして組み合わせるだけ。
コードも書かない。
エラーも出ない。
環境構築もない。
それってプログラミングというより、ただのパズルではないか、と。
ところが最近、その考えが少し変わった。
いや、かなり変わった。
むしろ、あの教育は大正解だったのではないかと思っている。
理由は単純だ。
AIがコードを書いてしまうからだ。
今の私は毎日のようにClaudeやCodexを使って開発している。
昔なら数時間かけて調べていた構文も、AIが一瞬で出してくれる。
環境構築のトラブルですら、かなりの部分をAIが助けてくれる。
もちろん、まだ人間の知識は必要だ。
しかし重要度は確実に変わった。
今問われているのは、
「for文を覚えているか」
ではなく、
「何をしたいのか」
「どういう順番で処理すれば目的を達成できるのか」
を考える力だ。
つまり論理だ。
目的をアルゴリズムに変換する能力だ。
そう考えると、あのブロックを並べる授業は面白い。
子どもたちは最初から構文を捨てていた。
変数や条件分岐や繰り返しといった論理だけを取り出して学んでいた。
あれはプログラミング教育というより、論理思考教育だったのだ。
当時の教育関係者がAI時代を予見していたのかと言われると、たぶん違うと思う。
おそらく偶然だ。
子どもが理解しやすい方法を選んだ結果だろう。
でも結果としては見事に未来に適応していた。
むしろ、当時「こんなのは本物じゃない」と言っていた私たちの方が、本質を見誤っていたのかもしれない。
最近は「コードを書く能力は不要になる」という話をよくする。このブログでも繰り返し書いてる。
少し言い過ぎかもしれないが、大きな流れとしては間違っていないと思う。
人間はコードを書く人から、論理を設計する人へ移っていく。
そう考えると少し笑ってしまう。
昔のエンジニアは、
「環境構築で3日ハマった」
とか
「セミコロンを1個忘れて半日潰れた」
とか
「ライブラリのバージョン違いで徹夜した」
とか、
そういう苦労話を武勇伝のように語っていた。
私も散々やった。
でも今の子どもたちは、そんな苦労をしなくてもいいかもしれない。
そして、それでいいのだと思う。
馬車の御者がいなくなったように、電話交換手がいなくなったように、時代が変わっただけだ。
10年前の私は「ただのパズルじゃないか」と思っていた。
でも今になって思う。
構文エラーで苦しむことより、目的を分解して順番に並べることの方が、ずっと本質に近かったのかもしれない。
私たちが本物だと思っていたものの一部は、ただの儀式だった。