DEV Community

Samuel Durante for Woovi

Posted on

Imperative X Declarative

Before making a comparison between the two models, it's necessary to understand the characteristics of each one of them.

What is the imperative paradigm?

The imperative paradigm is a programming model that is based on statements of actions or commands. In other words, an imperative program is nothing more or less than a sequence of commands for the computer to execute.

Example of an imperative program:

const array: Array<number> = [1, 2, 3];

function plus_one(array: Array<number>) {
  const arr = [];

  for (let i = 0; i < array.length; i++) {
    const element = array[i];

    arr.push(element + 1);
  }

  return arr;
};

console.log(plus_one(array));
Enter fullscreen mode Exit fullscreen mode

As seen in this example, an imperative program is a sequence of commands given to the computer.

What is the declarative paradigm?

The declarative paradigm, on the other hand, states that the modeling of the program must be done through assertions about the objects. In other words, the programmer declares what they want the program to do, and the program's compiler or interpreter is responsible for determining the most efficient way to perform those actions.

Example of a declarative program:

console.log(
  [1,2,3].map((n) => n + 1)
);
Enter fullscreen mode Exit fullscreen mode

In this example, the whole process of traversing the array, applying the function, placing it in a new array and returning, is omitted. Instead, a function from the language's own standard library is used, and the interpreter (Node.js, in this case) returns the expected value.

What's the difference between both?

The main difference between the declarative and imperative paradigm lies in how they express the program. In the imperative paradigm, the programmer directly manipulates the state of the data, while in the declarative paradigm, the programmer declares the relationships between the data and the operations to be performed on them.

The imperative paradigm is more straightforward and easier to understand, especially for novice programmers, while the declarative paradigm is more expressive and can be easier to maintain and scale as the program grows in complexity.

Conclusion

Ultimately, the choice between the two models depends on the type of problem being solved and the programmer's personal preferences.


Woovi is a Startup that enables shoppers to pay as they like. To make this possible, Woovi provides instant payment solutions for merchants to accept orders.

If you want to work with us, we are hiring!


Top comments (0)