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

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

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

[Twain TaylorTechTarget]

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

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

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

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

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

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


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

TechTarget発 エンジニア虎の巻

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

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

news041.jpg

2024年の広告業界大予測(無料eBook)
Forrester Researchは2024年を「大手メディアが活気を取り戻す瞬間」としています。マー...

news067.jpg

Xにおける「バレンタイン」を含む言及数は過去4年間で最多だがUGC数は最少 どういうこと?
ホットリンクは、X(旧Twitter)に投稿されたバレンタインに関するUGCについて調査しまし...