プログラミングパラダイムの意味って、よくわからないので、そもそもどんな意味なのか整理してみました。正確さや厳密さよりも、イメージがわけばいいなと思っています。
目次
プログラミングの意味とは
まず、そもそもとしての確認として、プログラミングの意味とは何かを改めて確認したいと思います。
プログラミング = (コンピューター)プログラムを作ること
今度は、そもそもコンピュータープログラムの意味がわからないので整理します。
コンピュータープログラムの意味とは
コンピューターの意味とは
コンピューター = コンピューティングする機械のこと
コンピューティング = 数値計算、データ処理、情報処理を行うこと
プログラムの意味は、一般の日常的には「実行すべき物事の組み合わせや進行計画」のことを指します。例としては、運動会のプログラムなどです。
コンピュータープログラムの意味とは
IT分野における、コンピュータープログラムの意味とは、
コンピュータープログラム = コンピューターが実行するべき計画のこと
つまり、言い換えると、
コンピュータープログラム= コンピューターが実行するべき処理手順の集まりのこと
さらに、補足を付け加え「実行するべき処理手順」を人間視点で言い換えると、
コンピュータープログラム= コンピューターへ計算させるための、コンピューターへの命令の集まりのこと
プログラミングの意味とは
つまり、プログラミングの意味とは、下記になります。
プログラミング = コンピューターへ計算させるための、コンピューターへの命令の集まりを作ること
プログラミングパラダイムの意味とは
まず、パラダイムの意味とは、特定の時代や分野において支配的な規範となる物の見方や捉え方のことです。
そして、プログラミングパラダイムの意味は、プログラミングの見方や考え方、記述方法などの枠組みという説明を見かけます。
私はプログラミングが、コンピューターへ計算させるための命令なら、そんなにパラダイムって、いくつも存在するのだろうか? 、機械語という2進数でコンピューターへ命令するだけじゃないのか、という疑問を抱きました。
そこで、プログラミングパラダイムは、たぶん厳密には、プログラミング言語パラダイムという意味であり、ここで指しているプログラミング言語とは、高級言語のことなんだろうと思ています。
プログラミング言語について
プログラミング言語とは、コンピューターへの命令を記述するための言語のことです。
低級言語としては、機械語、アセンブリ言語があります。
各CPUは命令セット持っています。
各命令は、バイナリのコードです。
コンピューターは、バイナリコード(2進数)を解釈して実行していきます。
アセンブリ言語は、バイナリコードに対して、記号を割り当てて記述されます。
人間にとっては、非常に読みにくいので、もっと人間に読みやすい記述でプログラムを作れるようにしようということで生まれたのが、高級言語と呼ばれるプログラミング言語です。
高級言語は、たくさんの種類のプログラミング言語があります。
人間にとって利用しやすいプログラミング言語とは何か、色んな人が考案してプログラミング言語が様々に生み出されているということですね。
プログラミングパラダイムの意味についての結論
結論として、プログラミングパラダイムの意味は、下記と考えています。
プログラミングパラダイム = 高級言語であるプログラミング言語の、プログラムに対しての見方や考え方、それに合わせての記述方法などの枠組み
プログラム(コンピューターへの命令)とは、どうやって考えて、どうやって記述するのが人間にとって利用しやすいのか、それぞれのプログラミング(言語)の方針というイメージですね。
マルチパラダイムと呼ばれ、1つのプログラミング言語が複数のプログラミングパラダイム(方針)を持っていることもあります。