Tuesday, May 30, 2006

Context

It has been a while since the last update of this blog. I have been mainly thinking about concepts for programming and knowledge representation. The difficult step with solving a problem is often given by expressing a problem in useful concepts (as I read today in a book on Haskell, a functional programming language). When we think about programming languages - transformations of structures given a certain input - we need to introduce concepts such as functions, variables, expressions, statements, procedures. But if we look at computers - the physical level of algorithms - all what we can find are voltages and currents, or forms of sequences with units of "0" and "1". But every interface is giving real world human psychological meaning to these abstract state machines. I find this very interesting.

Maybe the process of abstraction could be better understood when we look at the world of building things: Architecture. There, the abstract form of space is also translated into the more psychological problem of living environment. I realized this when I came across the concept of "pattern language" by Christopher Alexander who was an architect, and on whose concepts of patterns the wikipedia-encyclopedia is based. Behind every meaning that we express and generate, there is some "meta"-meaning or context, which guides our thoughts into certain direction. Maybe this meta-meaning is more powerful, and therefore also more limiting, than the distilled meaning which concerns us so much during decision making.

No comments: