全2739文字
PR

 これからのプログラミングには数学が大事――。

 そう言われて困っている文系プログラマーも多いのではないだろうか。数学が得意な文系もいるが、一部の少数派。文系出身のプログラマーの多くは数学が得意ではないだろう。むしろ数学は苦手な人がほとんどなのでは? 私も文系出身。苦手科目を切り捨てていったら、結果的に文系になったクチだ。数学は真っ先に切り捨てた科目である。数学が苦手で文系を選んだという人の気持ちはよく分かる。

 もちろん、数学が苦手でもプログラミングはできるし、数学の知識を使わない開発もある。業務アプリケーションなどで数値を扱うことはあるだろうが、数学の理解まで要求される領域はそれほど多くないはずだ。

 なのに、ここにきて「数学が大事」と言われる場面が目立つようになってきた。知り合いの会社でのこと。それまでプログラミングとは縁のなかった社員がPythonを使う部署に異動することになった。最初に「数学を勉強してくださいね」と言われて、頭を抱えているという。

プログラミングに数学が大事な理由

 プログラミングに数学が大事という理由にはいくつかあるだろう。問題を解決する処理をさまざまな粒度で作り、いろいろな条件で分岐を作りながら処理を進めていく。これを記述するのがプログラミングだ。そのために数学的な思考が役に立つ。それは納得できる。

 しかし何より大きいのが、人工知能(AI)の領域で数学が必要とされている点だ。これが“今”数学が改めて重要視される理由だろう。文系出身者にはこれがきつい。「数学は分かっているほうがよい」から「数学は分かっていなければならない」に変わってきているからだ。

 AIのための数学をまとめた解説書は昨年から目立つようになってきた。書名に用いる言葉は「AI」の代わりに「機械学習」や「ディープラーニング」と書籍によって違いはあるが、取り扱っている数学の領域はほぼ同じ。こうした書籍が以前から定番となっているプログラマー向けの数学書に加わることにより、プログラミング関連書籍の中で数学書が書店の一角を占めるようになっている。

 AIに必要なのは、特に「線形代数」「統計」「微分」の領域という。が、こういったAI数学の書籍は文系出身者が簡単に手を出せるレベルではない。数学が得意だった人ならまだしも、高校時点で数学が苦手だった人は、かなり前のほうのページでギブアップになってしまうはずだ。

 残念ながら、こうした書籍が取り上げる数学のレベルは高校レベルではない。「線形」の時点で高校数学ではないし、微分はまだしも、偏微分と言われてしまっては、「偏」ってどういうこと?となる。高校で数学につまずいた文系には手に余るものだ。

 だが、手に余るからといって「自分は数学ができなくてもいい」と知らぬふりもできなくなってきた。

 というのも、高スキルのIT人材が不足していると言われているからだ。データサイエンティストや自動運転技術者、AI技術者、IoT(インターネット・オブ・シングズ)の専門家が不足している。