Declarative and imperative knowledge
There’re two types of knowledge which have clear distinct: declarative and imperative.
Declarative knowledge tells you what but doesn’t tell you how.
For instance, let’s talk about square root.
I can tell that square root of x is that y such that y squared equals x, where y is positive.
It tells you the statement of fact, but it doesn’t help to find a square root of some particularly number.
What is square root of 2?
Here comes an imperative knowledge. It tells how to find the answer.
- let G is a guess what is square root of 2.
- if G*G is close to x, stop, and return G
- else, let’s take a new guess: G ← (G + x/G) / 2
- repeat the step 2
This sequence of steps deduces the answer, it’s an algorithm for computing the square root of x.
Origin is MIT 6.00 course: “Introduction to Computer Science and Programming”, Fall 2008