In imperative programming, the programmer is responsible for optimizing the code for performance: In declarative programming, the system optimizes the code based on the rules and constraints specified by the programmer. In imperative programming, variables can be mutable. In declarative programming, variables are typically immutable.
See Cached Version