書けないと読めない

Icon

70_10

コードを書くことよりも読んでチェックすることが多くなったこと、最終的な判断は人間にしかできないことは完全に同意する。

ただ、「じゃあ、書けなくてもいいや。読めればいいや」と安易に解釈されてしまわないかという不安がある。
本文をちゃんと読めば、書けることが不要ではないと容易に理解できる。
ただし、読めない人はタイトルの「読めるけど書けないでいい時代になった」をまんま受け止める可能性がある。表面だけを見てわかった気になってしまう。
「読めるけど書けないでいい」けれど「書けないと読めない」こともちゃんと理解してもらわないといけない。

漢字の話で、「薔薇」と書けなくても「ばら」と読める人がほとんどというのは確かにそうではある。

「魑魍魅魎」

多くの人が「ちみもうりょう」と読んでしまったはず。

実際は 2 文字目と 3 文字目が逆転しているので「ちもうみりょう」と書かれている。(正しくは「魑魅魍魎」)

このように、読めていると思っていても読めていないということは多々ある。 この間違いにすぐ気づけるのは、おそらく「魑魅魍魎」を書ける人、もしくはかなり注意深い人だろう。

ただなんとなく理解している、雰囲気は掴めている状態であっても「読める」と思ってしまう危うさがある。 それで十分な場合もあるけれど、ことプログラミングという文脈において、この細かい違いに気づけることが大事だと感じる。「魑魍魅魎」が間違っていると気づけないことは、バグを見逃していることと同義だろう。

記事で紹介されている、「読める能力を鍛える方法」についても、実践しようとすると必然的に書く工程が発生する。
コンピュータの基礎を学ぶとき、本を読むだけで理解できる人は限られているだろう。コードを書いて、実際に動かして、バグを踏んで、それを直して…という実践を経て理解する人がほとんどだ。
「書けなくても読めればいい」というのは確かにそうだけど、読めるだけですべてを解決できるレベルになるまでの道程には確実に書くタームがある。

ここで言われている「書けないけど読める人」というのは、今この瞬間に書けるかどうかは別として、過去に書くことと同等の経験をしている。その経験がないと、AI が出力してきたものを評価できない。

自分が書くにせよ、AI が書くにせよ、「自分の意思で何かをつくり、動かす」という経験を経ていくことが重要。経験なしでは「書けなくても読める」には到達できないし、多くの人がこの域に到達するためには書くという選択肢を取る。

筆者が言う「書けないけど読める人」というのは、あくまで「手で書かなくなったが、書く苦労を知っている人」のことだと解釈すべき。 その経験のない初学者が、最初から「読める」だけを目指しても、AI が出力するコードの良し悪しなど判断できるはずがない。

読めれば書けなくていいや、ではない。書けないと読めない。書けるから読める。