226)プログラミングに理系知識は必要か
定期的に、プログラミングに理系の知識が必要かどうか、という話題を見かける。別の言い方をするなら、プログラミングには数学や物理の知識が必要である、という意見だ。なるほど、それっぽく聞こえるが本当だろうか。
ぼくの立場はどうかと言うと、数学と物理の知識は別にいらない、と考えている。というのも、ぼく自身が中学レベルの算数も理科も分からないけど、欲しと思ったプログラムを作ることができるからだ。
たとえば、「Je sais un peu francais.」という文字列を品詞に分解したり、4声体の和声から禁則を発見したりするプログラムに数学や物理は必要ないだろう。そんなのあたりまえじゃん、と思ったのなら、前述した語学や音楽の問題を数学や物理の問題に置き換えてみて欲しい。同じ構造であることが分かる。
つまり、数学や物理の知識は、それらの諸問題を解決する場合に必要な知識であって、プログラミングそのものに必要な知識ではない。数値計算=プログラミングではないのだ。じゃあプログラミングに必要なものは何かと聞かれれば、論理的な思考と経験によるものが大きいと考えている。
論理的思考は国語力と言い換えてもいい。何が問題なのか、それを解決する為には何をどうすればよいのか、これが分からないとプログラミングはかなり難しいのではないか。実は、音楽の世界でも似た話がある。それは、数学がわからないと作曲はできない、という話だ。作曲に数理的なところがないとは言わないが、こんなことをいうのは大抵外野である。
2022-07-26