プログラミングパラダイムとは、プログラムを記述する際の基本的な考え方やアプローチを定義する枠組みです。同じ問題でも、パラダイムによって解決方法が大きく異なります。主に命令型と宣言型の2大分類があり、それぞれに手続き型、オブジェクト指向型、関数型、論理型などの具体的なパラダイムが存在します。
命令型プログラミングは、コンピューターに対して順番に命令を与えて状態を変更していく方式です。手続き型は関数やプロシージャの呼び出しで構成され、C言語やGoなどが代表的です。オブジェクト指向型はデータと手続きを「オブジェクト」にまとめ、カプセル化や継承、多態性を特徴とし、JavaやPython、C++などで広く利用されています。これらはいずれも「どうやって」問題を解決するかに焦点を当てます。
一方、宣言型プログラミングは「何をするか」を宣言し、「どうやるか」はシステムに任せる方式です。関数型プログラミングは数学的な関数の組み合わせで構成され、副作用のない純粋関数を基本単位とします。HaskellやScala、Erlangなどが代表的で、並行処理やビッグデータ処理、AI/ML分野で注目されています。論理型プログラミングは論理式とルールに基づいて推論により問題を解決し、Prologが代表的な言語です。
2025年現在、単一のパラダイムに縛られることなく、用途に応じて最適なパラダイムを使い分けることが重要になっています。PythonやJavaScript、Scala、Rustなどの現代的な言語は複数のパラダイムをサポートしており、オブジェクト指向と関数型の組み合わせが特に人気を集めています。並行処理や分散システムの需要増加に伴い、不変性を重視する関数型アプローチの重要性も高まっています。