2022年06月30日 05時00分 公開
特集/連載

いまさら聞けない「命令型プログラミング」「宣言型プログラミング」の違いとは?命令型プログラミングと宣言型プログラミングを比較する【前編】

「命令型プログラミング」「宣言型プログラミング」は、それぞれ異なる設計思想を持つプログラミング体系だ。両者の仕組みや、開発者が実施すべき作業の違いを解説する。

[Twain Taylor,TechTarget]

 「命令型プログラミング」は、開発者が長年親しんできたプログラミング体系だ。他方で複雑化するプログラム開発要件に応えるため、「宣言型プログラミング」もなくてはならない存在になった。どちらのプログラミング体系にも長所と短所があるため、開発者はどちらを選ぶのかを慎重に検討しなければならない。

 本連載は命令型プログラミングと宣言型プログラミングの基本的な違いと、開発者がいずれかを選択する際の観点を解説する。

「命令型プログラミング」「宣言型プログラミング」の違いを一言で

 プログラムが実行すべき処理を、具体的な操作として順序を付けて記述するプログラミング体系が命令型プログラミングだ。宣言型プログラミングは、目的の結果のみを指定し、具体的な処理や手順は明示しないプログラミング体系を指す。

 命令型プログラミングは、プログラムが機能を実行するための直接的なコマンドを記述する。ソースコードには、処理の流れに沿ってコマンドを記述することになる。命令型プログラミングでは、処理の順序が極めて重要だ。そのため機能を実装するための方法を、ステップごとに明確に指示するプログラムが必要になる。命令型プログラミング言語の例には「C」「C++」「Java」「Fortran」などがある。

 宣言型プログラミングは、プログラムが目的とする結果を重視する。開発者は、目的とする結果を実現する手法や手順を明示する必要はない。具体的な手法や手順はプログラムが決定する。宣言型プログラミングに準拠したコンピュータ言語の例には、「HTML」「CSS」「Prolog」などがある。


 命令型プログラミングと宣言型プログラミングの間には、幾つかの重要な違いがある。中編と後編は、主要な4つの違いを紹介する。

TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

ITmedia マーケティング新着記事

news122.jpg

「ペプシチャレンジ」で煽られて焦ったコカ・コーラの“痛恨のやらかし”とは?
長年の間「コーラ戦争」を続けてきたCoca-ColaとPepsi。マーケティング施策でも切磋琢磨...

news149.jpg

デジタル化する顧客体験に関する消費者と企業の認識ギャップ――ナイスジャパン調査
問い合わせの初動としてインターネットやFAQ検索をする人が約8割。デジタルチャネルによ...

news042.jpg

気象データは近未来のデータ 予測に基づき「役に立つ」広告を届ける
気象データを活用することでどのような広告コミュニケーションが可能になるのか。海外の...