全1654文字

 プログラミングパラダイムとは、プログラムを書くときに起こる典型的な問題に対し、こう書くのが「良い」というプログラムの書き方の方法やスタイルのことです。

 ITエンジニアにとって、「このプログラミング言語はどのプログラミングパラダイムに属する言語なのか」「このプログラミングパラダイムの特徴は何か」を知っておくことは重要です。プログラミングパラダイムとその特徴を知っていることで、作ろうとしているソフトウエアにあった適切なプログラミングパラダイム、ひいてはプログラミング言語を選択できるようになるためです。

 また、プログラミングパラダイムは新しく言語を学ぶ際の指針となります。同じプログラミングパラダイムの言語であれば、別の言語であっても習得は容易です。また、異なるプログラミングパラダイムの言語は、今まで習得していた言語とは発想が異なるため習得は容易ではありませんが、その分今までの言語とは異なる新しい問題解決方法を学べます。

 例えば、Javaを既に習得している人にとっては、Javaと同じプログラミングパラダイムに属するC#の習得は容易になります。一方でJavaとは異なるプログラミングパラダイムに属するHaskellを習得するのは、C#よりも容易ではありません。

 プログラミングパラダイムの代表的なものとしては、「構造化プログラミング」「オブジェクト指向プログラミング」「関数型プログラミング」といったものがあります(表1)。

表1●代表的なプログラミングパラダイム
表1●代表的なプログラミングパラダイム
[画像のクリックで拡大表示]

 例えば、構造化プログラミングでは「手続き」と呼ばれる単位でプログラムを分割して階層的に設計・実装するのがよいと考えられています。

 一方、オブジェクト指向プログラミングでは、関係するデータとロジックを一つにまとめるように設計・実装するのがよいと考えられています。

 さらに、関数型プログラミングは、構造化プログラミングやオブジェクト指向プログラミングとは大きく発想が異なるパラダイムです。詳しくは後述します。