宣言型プログラミングとは
宣言型プログラミングは、プログラムの実行方法を指定するのではなく、プログラムの実行内容を指定する方法です。 ほとんどのコンピューター言語は、問題を解決するために必要な手順に基づいていますが、一部の言語は問題の本質的な特性を示し、コンピューターに任せて問題を解決する最適な方法を決定します。 前者は命令型プログラミングをサポートし、後者は宣言型プログラミングをサポートすると言われています。
SQLから次の例を検討すると、売上データから利益が特定の数値、たとえば700米ドル(USD)を超えるすべての販売地域を取得できます。
地域を選択し、利益が700を超える売上から利益を得る
このステートメントは、データを取得するためにSQLシステムが何をする必要があるかを示していません。 SQLシステムは各販売レコードを調べて、条件が満たされているかどうかを判断できます。または、事前にソートされたデータから上位のいくつかのレコードをすばやく取得できます。 このステートメントは、目的のデータの性質のみを示しています。
プロローグは、エンティティ間の論理的な関係を示す宣言型プログラミング言語です。
祖先(M、C):-母(M、C)
祖先(X、Z):-母(X、Y)、祖先(Y、Z)
上記のプログラムは、真実を示しています。 MがCの母である場合、MはCの祖先です。XがZの祖先である人物Yの母である場合、XはZの祖先です。母系家系全体に関する質問に答えることができます。
プログラムの実行中に、Prologシステムは多くの真のステートメントを構築し、知識ベースを作成します。 このナレッジベースは、単独で効率的に検索されます。 上記のプログラムの作成者は、検索方法を指定しません。
HTMLとCSSは宣言型プログラミング言語です。 たとえば、HTMLの例<table border = "1">は、細い境界線を示しています。 CSSの例は色:青です。 これは、テキストの色を指定します。 これらの例からわかるように、HTMLとCSSはWebページに表示されるものを指定しますが、その方法は指定しません。
宣言型プログラミング言語の利点は、主に2つあります。 プログラムは簡潔です。 これにより、プログラマーでなくても簡単にソリューションを入手できます。 上記のSQLの例では、アナリストまたはビジネスサポート担当者が目的の情報を取得できます。 同様に、素人は簡単なHTMLおよびCSSコマンドを使用して、受け入れ可能なWebページを作成できます。
宣言型プログラミングモデルの2番目の利点は、物事を解決する方法を示す反復命令コードが、舞台裏のコンピューターシステムで提供されることです。 そのようなコードは非常に効率的にすることができ、コンピューティングから最高のアイデアを組み込むことができます。 並列処理を利用できます。