I want to take the opportunity to demonstrate different imperative and declarative paradigms, what they look like in real code and what their benefits are.
The most common explanation of the difference between imperative and declarative programming is that imperative code tells the computer how to do things and declarative program focuses on what you want from the computer. You may feel like this explanation is quite confusing but I will make sure to make it much more clear.
There are many other paradigms under both imperative and declarative paradigms. In imperative programming, you have procedural code and also all the different flavors of object-oriented programming. Declarative programming is represented by domain-specific languages, logic languages, and functional programming.