数あるプログラミング言語は、その特徴によって分類できます。そしてプログラミング言語を学ぶ上で重要な分類方法の1つが「プログラミングパラダイム」です。プログラミングパラダイムとは、プログラムを書くときに起こる典型的な問題に対し、こう書くのが「良い」というプログラムの書き方の方法やスタイルのことです。

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

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

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

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

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

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

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

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

この先は有料会員の登録が必要です。今なら有料会員(月額プラン)登録で5月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料会員と登録会員に関するFAQはこちら