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 …


This content originally appeared on DEV Community 👩‍💻👨‍💻 and was authored by Samuel Durante

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));

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)
);

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!


This content originally appeared on DEV Community 👩‍💻👨‍💻 and was authored by Samuel Durante


Print Share Comment Cite Upload Translate Updates
APA

Samuel Durante | Sciencx (2023-02-09T14:18:48+00:00) Imperative X Declarative. Retrieved from https://www.scien.cx/2023/02/09/imperative-x-declarative/

MLA
" » Imperative X Declarative." Samuel Durante | Sciencx - Thursday February 9, 2023, https://www.scien.cx/2023/02/09/imperative-x-declarative/
HARVARD
Samuel Durante | Sciencx Thursday February 9, 2023 » Imperative X Declarative., viewed ,<https://www.scien.cx/2023/02/09/imperative-x-declarative/>
VANCOUVER
Samuel Durante | Sciencx - » Imperative X Declarative. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2023/02/09/imperative-x-declarative/
CHICAGO
" » Imperative X Declarative." Samuel Durante | Sciencx - Accessed . https://www.scien.cx/2023/02/09/imperative-x-declarative/
IEEE
" » Imperative X Declarative." Samuel Durante | Sciencx [Online]. Available: https://www.scien.cx/2023/02/09/imperative-x-declarative/. [Accessed: ]
rf:citation
» Imperative X Declarative | Samuel Durante | Sciencx | https://www.scien.cx/2023/02/09/imperative-x-declarative/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.