Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

Declarative and Imperative knowledge are best summed up in a cartoon strip in Viz comic.

  Tom: "Hey Bob, I've just invented a new pill that cures cancer and turns 
  water into petrol"

  Bob: Amazing work Tom. How does it work?

  Tom: I've no idea. I only just invented it!
Declarative thinking is about what something is. Imperative knowledge is about how to do it.

  A rocket ship is a way to get to space. (Declarative)

  We can escape the gravity of Earth in a self-contained vehicle
  burning a fuel and oxygen mixture in a combustion chamber such that
  it develops an exhaust thrust that exceeds the weight of the vehicle
  and sufficient total energy to reach escape velocity. (Imperative)

  [Of course we could make the latter *more* imperative by giving
  finer details and equations.]
In programming a great distinction is given in SICP by Hal Abelson's description of Lisp programming as conjuring "magic spells". We start with wishful-thinking (declarative requirements spec) about what we want a function to do. Then we flesh it out with increasingly imperative knowledge until we are forced to face highly specific computational primitives.

Both kinds are needed. There is a danger from an imbalance of these knowledge types.

A serious problem of our age is "unrequited declarative thinking" where there's an excess of abstraction. The degenerate software patent system, which allows vague "business model" claims, exemplifies this problem. We've become too used to technology working like magic and experiencing surface effects rather than understanding mechanisms that we forget someone, or something, somewhere has to actually do the work.

This is what Arthur C Clarke warned about, although typically, most people took his "indistinguishable from magic" statement as a positive endorsement of ignorance (ie. intuitive "just works" stuff that "doesn't make me think").

On the other hand we can have an excess of imperative thinking. Technocrats engage in over-systematisation and rigid mechanical ideation of the world because they forget Einstein's most important equation "Imagination is more important than knowledge".



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: