プログラミングに数学は必要かという議論はしばしば起こる.
私のスタンスとしては大学2年生くらいまでの教養レベルは知っておいてあとは課題が現れたらその場で勉強してなんとかするのがいい気がしている.
わたしもせっかく大学で数学を勉強したのに社会人になってほとんどプログラミングでは数学は使わなかったので必要ないと思っていた. 組込みソフトというハードウェアと対話するような底辺ジャンルだったからかも.
しかしその理解が覆ったのがやはりディープラーニングの登場だろう. Web系アプリ系の人たちは果たしてバックプロパゲーションを理解してデータサイエンスの領域に切り込んでいくことはできたのだろうか? あまりブロックチェーンは詳しくないものの暗号理論を理解できるのだろうか? わたしは最適化理論も大学で講義は受けたし楕円曲線暗号の実装も課題レポートを書いた.
つまりいいたいことは, エポックメイキングな新技術が突如現れてそれの新ジャンルに乗り込んでいこうとしたときに, 数学の知識がないと切り込んでいけない恐れがある.
でもなにが来るかなんて予想できないので, とりあえず基礎だけ抑えておきたい. あとはワクワク感を高めて突っ込んでいけばいい.