機能的なプログラミング言語は数学表記のようなものですが、命令的な言語は料理のレシピのようなものです。後者は最初は概念化が簡単かもしれませんが、前者はより安全でより高度なコードを書くための有用な機能を提供します。
Functional programming languages are like math notation, while imperative ones are like cooking recipes. The latter might be easier to conceptualize at first, but the former provide useful features for writing safer and more advanced code.