AxiZ沖縄ブログ

エンジニア育成学校【AxiZ沖縄】のブログです。

プログラマーの土台 数学

プログラミングは理系のイメージを持つ人が多いのではないでしょうか。
文系の人には難しくて、理系の人が得意というイメージ。
実際のところどうなのかというと、その通りだと思います。
もちろん、文系出身の人でも活躍しているプログラマーはたくさんいます。
ただ、それは文系出身でも論理的思考ができる人です。
逆に言うと理系の出身でも論理的に考えるのが苦手な人は、
プログラミングは苦労するはずです。

この論理的な思考とは何かというと、簡単に言うと数学(算数)です。
数学では、与えられた情報・条件から手順を追って答えを導き出すことが求められます。
この与えられた情報から手順を考える力が、数学的な論理的思考力です。

プログラミングを学習するときは、まずは必要な知識を覚えて、
概念を理解する必要があります。
これには読解力が求められます。
ただ、それだけではプログラミングはできるようにはなりません。
プログラミングでは、実現したい処理を、どのような手順で実行していけばよいかを考える力が必要です。
(アルゴリズムを考えるとか、ロジックを考えるとも言います)
この能力は数学に長けている人の方が得意です。
だから理系のイメージが強いのだと思います。

また、プログラミングが得意な人は、物事を「抽象化」するのがうまいです。
これは何かというと、一見異なるものを、同じものとみなすことです。
数学を勉強するうえでは「抽象化」が欠かせません。
例えば、数学で出てくる「公式」は、具体的な数字の計算を抽象化したものです。 プログラミングをしていくうえでも、抽象化は大事な考え方です。
数学が得意な人は、「抽象化」の能力が高いので、 プログラミングの能力が高いのだと思います。

プログラミングを学びたいけど数学が苦手。。。という人には、
プログラマの数学 をお勧めします。

数学を基礎から学びなおしたい、という人は、
プログラマの数学と同く結城浩さんの書いた
数学ガールの秘密ノート のシリーズがお勧めです。

数学がいまいち好きになれない。。。という人には
論理ガール がお勧めです。

数学が苦手な人もプログラミングを本格的に学びたいのであれば、
数学も学びなおしてみてはいかがでしょうか。