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

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

2022年06月30日 05時00分 公開
[Twain TaylorTechTarget]

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

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

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

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

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

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


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

TechTarget発 エンジニア虎の巻

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

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

news148.jpg

天候と位置情報を活用 ルグランとジオロジックが新たな広告サービスを共同開発
ルグランとジオロジックが新たな「天気連動型広告」を共同開発した。ルグランが気象デー...

news130.jpg

“AI美女”を広告に起用しない ユニリーバ「Dove」はなぜそう決めたのか
Unilever傘下の美容ケアブランド「Dove」は、「Real Beauty」の20周年を機に、生成AIツー...

news099.png

有料動画サービス 34歳以下では過半数が利用経験、4割は1日1回以上利用
「ニールセン・ビデオコンテンツ アンド アド レポート 2024」を基に、テレビ画面での動...