ITにおけるDeclarative(宣言的)とはどういう意味?
プログラマとして業務をしている中で、Declarativeもしくは宣言的という用語が出てくることがたまにあります。
どちらも日常生活の中で出てくる用語ではないので、どのような意味なのかイメージできる方はあまりいないと思います。
この記事では「Declarative」の意味について具体的にイメージができるように解説します。
Declarativeとは?
まず初めにDeclarativeの意味について最初にお伝えします。Declarativeは「最終的な形をそのまま表している」ことを意味します。
対比するとより分かりやすくなるので、Declarativeとの比較に出されるワードである「Imperative」も紹介します。
Imperativeは手順で表現することを意味します。完成品に至るまでの手順を記述することで成果物を作り上げていくイメージです。
オムライスの例
オムライスを例にしてより具体的に説明します。
Imperativeは手順での表現です。そのため「①ご飯を炒め、②ケチャップをかけ、③卵でくるむ」のように完成品にいたるまでの道筋を示します。どのようなものにしたいのか作られていく過程や作り方を明示する形になります。
一方Declarativeは完成品自体での表現です。そのため「ケチャップライスが卵で包まれた料理」のように完成品をそのまま表現します。
まとめ
昔はImperativeのライブラリやパッケージが多かったと思います。Imperativeな形の方がPCにどのように動いてもらいたいのか詳細に伝えることになるので、ソフトウェア側で解釈しないといけないことが比較的少なくシンプルなロジックで実現できていたからです。
ITが進歩してきた今Declarativeなソフトウェアが増えてきています。Declarativeな場合、内部のロジックを知らなくとも、どのように動いてもらいたいのか完成品のイメージがついていれば設定ができるので実装者側のハードルは下がっていると思います。
今後もこの流れは加速していくと思いますので、Declarativeなソフトウェアやライブラリにたくさん触れて最高の完成品のオーダーをできる凄腕エンジニアになりましょう。
参考にした記事
- React Foundations: Updating UI with Javascript | Next.js (Imperative vs. declarative programmingの箇所)