Junior — Middle
Can you explain the concept of declarative programming style and how it differs from imperative approach?
sobes.tech AI
Answer from AI
Declarative programming style describes what needs to be done, not how to do it. In this approach, the developer focuses on the end result, and implementation details are hidden.
Imperative style, on the other hand, requires a step-by-step description of the algorithm — the programmer specifies exactly how to achieve the result.
For example, in JavaScript, you can write imperatively as:
const numbers = [1, 2, 3, 4, 5];
const evens = [];
for (let i = 0; i < numbers.length; i++) {
if (numbers[i] % 2 === 0) {
evens.push(numbers[i]);
}
}
And declaratively — using built-in methods:
const evens = numbers.filter(n => n % 2 === 0);
Declarative code is usually shorter, easier to read and maintain, especially when working with large volumes of data or UI (for example, React). Imperative code, however, provides more control over the process, which is sometimes necessary.