Declarative vs. Imperative Concepts
Declarative blockchains are a novel concept. To fully grasp what they are and why they are important, it's helpful to first understand some core principles and ideas.
This section provides background context on:
- The differences between declarative and imperative approaches to programming
- The pitfalls of imperative design in the context of blockchains
- The rising adoption of intents as a declarative design pattern in web3
This section of the docs is designed to be read sequentially. You'll get the best understanding if you go through page-by-page.
A Note on Terminology
Throughout these docs, you will see the following terms frequently:
- Declarative
- Intent; intent-centric; intent-based
- Outcome; end-result
Fundamentally, they all refer to the same concept: interactions with blockchains should be framed and processed in terms of the user's intended outcome.
When a user submits an intent, they are making a declarative statement about what outcome they want on-chain.