お疲れ様です!
未来電子テクノロジーでプログラミングコースとマーケティングチームに所属している、同志社大学法学部2回生の松下です!
今回は新たなカリキュラムに進んでまた新しい発見をしたので、そのことについて記したいと思います!
突然ですが、皆さんは数学は好きですか?
「好き」の方がいれば、「嫌い」と答える方もいたりと様々な回答が返ってくると思います。
なかには、嫌いすぎて文系に進んだという方もいるのではないのでしょうか?
私は現在文系の学部に進んでいますが、数学は大好きでした。
きれいな解を書くのが好きで、最終的に答えが出たときのスッキリ感はとても最高です。
また、数学は美しく書くほど良いと唱える学者もいます。
「数学的な美」という言葉があるぐらい、数学を芸術の一部だと彼らは位置付けているのです。
これは、プログラミングも同じなのではと私は思いました。
それは、新カリキュラムである分野を勉強したためです。
今回は、数学とプログラミングの関係性について私なりの考えを記そうと思います。
□プログラミングも芸術?
さて、数学とプログラミングにはどのような関係性があるのでしょうか?
まず、思い浮かぶのは「論理的思考力」です。
しかし、それだけではないと私は考えます。
もう一つ挙げるとしたら、それは手順です。
どちらも共通して、「手順」を示していると私は発見しました。
数学であれば、解を示すための証明が「手順」に当たります。
この「手順」がスッキリ書かれているほど、美しいと言われるのです。
では、プログラミングはどの部分に「手順」が書かれているのでしょうか?
それは、アルゴリズムに書かれています。
このアルゴリズムが美しいほど、プログラミングの美学が活かされるという訳です。
では、アルゴリズムとは一体何でしょうか?
また「アルゴリズムの美しさ」とは一体どういう意味なのでしょうか?
□アルゴリズムとは?
アルゴリズムとは、パソコン上でプログラム問題の解決方法を示したものです。
解決するための「手順」が書かれていると想像すれば良いです。
その解決のために「手順」で用いるのが、大量のデータです。
つまり、数学に当てはめると、数字や数式、記号が「データ」となり、それらを使った証明が「アルゴリズム」になるということです。
そのため、数学と同様にアルゴリズムも様々な書き方や種類があります。
現在でも、強力に作動するアルゴリズムはどのようなものなのかを記した本が、たくさん販売されています。
このように、アルゴリズムの研究は現在も続けられています。
その内容も、アルゴリズムの美しさ、すなわち強力で高速に作動する「手順」を追求するものです。
数学との共通点がここでも明確になりました。
□さいごに
ここまで、プログラミングと数学の関連性について記してきました。
しかし、「だからなに?」と思った方はいませんか?
確かに、一見どうでもいい内容のように思うかもしれません。
ところが、実際はそうではありません。
プログラミングと数学の美しさは、私たちの生活にも大きく関連しているのです。
例えば、時間です。
駅から出発するとき何分発の電車に乗れば良いか、調べればすぐにわかります。
しかし、目的地の駅に最速で何時に着くかを調べるには大変な時間がかかります。
これをアルゴリズムで用いると、簡単に解くことができます。
パソコンで瞬時に計算するからです。
そして、ここには時間の計算という、数学の知識も用いられています。
その他にも、数学とアルゴリズムを使っている場面はたくさんあります。
プログラミングと数学には密接な関係性があり、どちらも芸術さを求めている部分があるのだと分かりました。
アルゴリズムを勉強したい方は、未来電子テクノロジーのプログラミングコースにて一緒に学びましょう!