yaodebian @ yaodebian.me

Imperative paradigm, Declarative paradigm

Sep 27, 2025

Recently, I’ve been revisiting "Vue.js Design and Implementation" for Vue 3. Perhaps it’s time to gain a fresh understanding of the Vue framework.

Today, let’s have a simple discussion about my understanding of imperative programming paradigm and declarative programming paradigm.

Imperative Programming Paradigm

Imperative programming paradigm, in simple terms, is procedural programming. We need to list out each specific step to be executed and execute them one by one. This is the imperative programming paradigm.

For example: I want to render a button in HTML with the text "Submit", and when clicked, it should trigger an alert saying "Submit successful".

If we use the imperative programming paradigm, we need to write it like this: (Pure JavaScript implementation)

// 1. Create a button element
const button = document.createElement('button')

// 2. Set button text
button.textContent = 'Submit'

// 3. Define click event handler function
function handleClick() {
  console.log('Submit successful')
}

// 4. Bind click event
button.addEventListener('click', handleClick)

// 5. Add button to document
document.body.appendChild(button)

Declarative Programming Paradigm

Declarative programming paradigm, in simple terms, is result-oriented programming. We only need to describe the result we want, without describing the specific implementation steps. This is the declarative programming paradigm.

Continuing with the above example, let’s implement it using the declarative programming paradigm: (Vue 3 implementation)

<button @click="console.log('Submit successful')">
Submit
</button>

The philosophy of declarative programming paradigm is: developers only need to focus on how to describe the result, without worrying about the underlying implementation.

Differences

Advantages of declarative paradigm:

  • Good readability
  • High maintainability

Advantages of imperative paradigm:

  • High flexibility
  • Good performance

Of course, the good performance mentioned here for imperative paradigm only applies to lightweight applications. For complex applications, the performance of imperative paradigm may decline because the code becomes too bloated and may have redundant calls.

Summary

Imperative programming paradigm and declarative programming paradigm each have their own advantages. We need to choose the appropriate programming paradigm based on specific scenarios. Vue 3 is a typical declarative programming paradigm framework. We only need to describe the result we want, without describing the specific implementation steps. By studying such frameworks, we can improve our architectural capabilities.

> comment on mastodon / twitter
>
CC BY-NC-SA 4.0 2021-PRESENT © Anthony Fu