プログラミングには数学を知る必要がありますか?

学校で数学が苦手だったとしても、あなたは素晴らしいプログラマーになることができます

プログラミングには数学を知る必要がありますか?必ずしも。

学校で数学が苦手だったとしても、あなたは素晴らしいプログラマーになることができます。

つまり、私は過去20年間プログラミングをしていて、数学の本を開いて、知っていなければならないことを思い出す必要はありませんでしたが、忘れていました。私は高校と大学の両方でかなり多くの数学をしました。非常に高度で抽象的なものなので、それらを学ぶことの目標が何であったかさえ覚えていません(試験に合格することを除いて、目標さえあった場合)。

優れたプログラマーになるには、数学が絶対に得意である必要があるというのは、ある種の常識です。おそらく、コンピューターをプログラミングする最初の人々が数学者だったためか、主に「コンピュータープログラマー」の学校が周りになかったためです。また、コンピュータサイエンスやコンピュータエンジニアリングの勉強には多くの数学が必要ですが、これは現場では実際には必要ありません。 CSの学位の90%は、本当に興味深い、確かな、しかしほとんど実用的ではないことを研究することを含みます。基礎となる理論を理解するには数学が必要です。しかし、日々のプログラミングでは?ほとんどそうではありません。

ああ、私がプログラミングと言うとき、これは私の分野なので、私は主にWeb開発を意味します。

確かに、数学を必要とするプログラミングの仕事はたくさんあります。たとえば、3Dレンダリングエンジン、GISアプリケーション、または暗号化/ブロックチェーン/人工知能/機械学習で作業している場合、確かに多くの数学が必要ですが、それは学校で教えられている数学でさえなく、非常に特殊な数学です。どんな種類の低レベルのグラフィックスやゲームプログラミングも数学を必要とします、そしてあなたはそれをすることを試みる前にそれを研究する必要があるでしょう。アルゴリズムの複雑さを理解するには数学も必要ですが、少なくともプログラミングの最初の数年間は、新しいアルゴリズムを発明するつもりはありません。

ただし、上手になる必要があるのは問題解決。学校の数学は問題を解決する方法をかなり教えてくれると思いますが、数独や他の趣味もそうです。

もちろん、微積分や代数、論理などの基本的な数学の概念が必要ですが、それが必要な場合は非常に基本的なものです。複素数、確率、方程式、グラフ、指数と対数、極限、導関数、積分、微分方程式などを知る必要はありません。一つではありません。

ゲートキーパーの言うことを聞かないでください。数学が苦手なためにプログラマーにならないという場合は、聞いてはいけません。あなたはいつでもあなたが途中で必要なすべてを学ぶことができます。学習に対してオープンであることは、すでに物事を知っていることよりもはるかに重要です。

繰り返しますが、私はWeb開発について話しているのであって、数学を必要とするグラフィックスや特定のアプリケーションを扱っているのではありません。