プログラミングと数学

プログラミングと数学は深いところでつながっていますが、すべてのプログラミングで数学が必須となるわけではありません。ざっくりとした言い方をすると、数学を必要とする領域は限られています。

私自身長年プログラミングに関係してきましたが、数学を必要とする領域は科学技術計算(数値計算)でした。その後、コンピュータの応用領域が拡大して、統計、計測、暗号、AIなどで活用されるようになると、これらの領域では統計学、微分・積分学、解析学、数論、線形代数などが用いられるようになりました。

ビジネス領域の多くのプログラムでは、数学を必要とすることはあまりありません。しかし、算術演算、論理演算、モッド(mod)、2進法などについては理解しておく必要があります。

また、言うまでもないことですが、プログラミングの論理的思考方法は数学と共通ですので、数学をある程度理解しておくことはプログラミングの理解を助けることになると思います。


統計:これは統計学をフルに活用した専門領域です。

計測:心電図などの波形は三角関数の組合せで表現されます。ここでは、フーリエ解析が使われています。

暗号:Webアプリケーションでは取引情報を暗号化していますが、ここでは数論を用いています。簡単に導かれない、できるだけ大きな素数を使ってビット列を暗号化・復号化します。

AI:深層学習(Deep Learning)の領域では、神経細胞をモデル化したニューラルネットワークが用いられ、数学的には線形代数や微分法が用いられています。