今回のテーマは、プログラミングに数学は必要かという話。
おそらく、ほとんどの方が必要ないと言うでしょうが、私の場合、少し違います。
それでは説明していきます。
数学の知識がなくてもプログラミングはできる
数学の知識がなくてもプログラミングができないということはありません。
もう10年以上前の話ですが、実は私も SE(システムエンジニア)としてソフト開発の会社で働いていたことがあります。
入社前研修では、アルゴリズムなどの基礎の部分や C言語を学習して、当時、流行りだったオブジェクト指向の Java を学習しました。
ただ、最近はまた変わってきていて、色々なプログラミング言語が使いやすくなっています。
例えば、Python(パイソン)は、ライブラリも豊富にあり、公式サイトからインストールすると開発環境もセットになっているので、C言語や Java なんかと比べると始めやすいかと思います。
あと、JavaScript もブラウザさえあれば、簡単に学習することができ、昔よりもできることが幅広くなっています。
PHP も学習しやすいかと思います。
プログラマーの中には文系の方も結構いたので、数学の知識がなくても問題はありません。
数学の知識があればプログラミングは楽しくなる
ここから私の本音なんですが、数学の知識があれば、プログラミングは楽しくなると思っています。
数学とプログラミングは実に似ていると思います。
簡単なところで言うと論理積(共通部分)や論理和(和集合)の考え方は、パソコンの 2進数の世界でも使われています。
元々、私が最初、プログラミングに興味を持ったのが、確率や場合の数に非常によく似ていると感じたことがきっかけだったりします。
数学は論理を学べる学問だと思っています。
そして、論理は曖昧(あいまい)さをなくすものです。
物事をデジタル的にとらえます。
イレギュラーな事象も同様です。
プログラムは人間の世界のように常識や感情といったことに左右されないからこそ安定して動いてくれるわけです。
例えば、べろべろの酔っ払いを接客するようなことになったら、まともに対応しようと思わないでしょう。
なぜなら、論理が全く通用しないからです。
タクシーに乗ったとき、運転手の機嫌が良いときと悪いときで料金が変わるようでは困るわけです。
私たちは論理によって助けられています。
だからこそ数学は学ぶ価値のある学問なのです。
2020年プログラミング必修化について
以前、この2020年プログラミング必修化についての意見を書きました。
コンピュータを積極的に活用する力を育てるという意味では良いとは思います。
しかし、論理の基礎は算数や数学からでも十分学ぶことができます。
最後に
いかがでしょうか。
昔よりもプログラミングの敷居が低くなっているということは事実でしょう。
それは先人の努力のおかげであり、数学が必要ないということではありません。
そして、論理ばかりでなく、実際につくってみたり、コードを動かしてみることも大切です。
子供のような心で、なぜ動くのか、どうして作られたのか。
そんなことを考えながら勉強すると楽しいかもしれません。