Friday, June 22, 2007

Compilers versus interpreters

Just some note on information processing for personal use:

Algorithms are based on the idea that a set of operations can be combined in such a way that they can solve a certain problem. So, when we talk about algorithms, or initiation of processes, there are mainly two sets involved:

* the set of possible operations (= instructions, words in a language)
* the set of possible sequences of operations (= computer programs, or texts in a language)

We know from computer science, that there are two basic ways of having computers programs performing actions, the first is

* interpretation: the actions that a computer needs to perform are translated first into the actions of another language. That is, the abstract representation of a computer program is assembled step by step (= run-time)

* compiler: the actions that a computer needs to perfom are translated directly into the set of operations provided by the computer. That is, the abstraction representation of a computer program is assembled in one time (= compile-time)

So, interpretation and compilation are allowing for different designs. Interpretation allows more flexibilty in a design, because its functionality can be improved in an organic fashion, while compilation will allow higher performance design, because functionality can be optimized for certain tasks.

Tuesday, June 12, 2007

Limits of predictability

Some while ago, I was listening to some music by Palestrina (Missa Assumpta est Maria). The Catholic Church had been using the skills of Palestrina to fight reformation from Northern Europe on a spiritual level. When I was listening to the polyphonic voices of the chorus, there was indeed an idea of leaving the ground for reaching closer to the heavens. A strange experience I must say. Also, it is indeed a strange experience to realize that this music was used once to "brainwash" people, to transmit the dogma's of an institution. Luckily, we are not so sensitive anymore to greek or latin phrases. Palestrina lived until around 1595, so, he died around the same time when Galileo was a young man. (By the way, it seems that the father of Galileo was a musician as well.) It is interesting to see that science could not be used as a spiritual weapon for doing politics. Rather, politics needed to fight science to suppress changing forces within the organization. And indeed, we are using the same approaches within the organizations as we know them today, to have some form of predictability, some sense of security, be our dogma's based on correct assumptions or not. I guess this is why human contracts work in corporate worlds or marriage. But if we look back at the music of Palestrina, or the fruits of the scientific method, what survived were not the boundaries that we need to feel safe at a certain moment in time, but the ideas that arise from the confrontation with the unknown, the new, and questions around change.

(Some small note at the end, I also think, computers are a great tool to have a dialogue with the new and unknown, because they allow us to quickly express, validate and communicate ideas. We can think about designs (and avoid mistakes from the past) that would not be possible otherwise. Try it out, thinking about "thinking about thinking", the sound simplification of processes is exactly what a study of computers allows us to do, but why computer models can be misleading on the other hand, when they hide too much of the wonderful complexity of the real world.)