The Joy of Interpretation
Without interpreters, we wouldn’t have software, but yet interpreters are also software. This is why we talk about `bootstrapping’, where software pulls itself from the floor by its bootstraps, a paradox settled by the existence of hardware microcode.
Any piece of software exists as a combination of two parts, some instructions in a computer language and an interpreter of that language. Alone they do nothing, put them together and they can notionally do anything. Often there are intermediary steps, commonly interpretation into another language called `bytecode’ to produce `binaries’, but these are just translations into another language, which still needs interpreting for the magic to happen.
Interpreters are fantastic, they allow us to try out ideas beyond our imaginations, adding some instructions, interpreting them to get output rendered as sound or light to our senses, perceiving otherwise impossible worlds, and returning to the source code to twist the encoded structures into new contortions inspired by the results so far. We humans expand the realms of perception through computation, not creating things but writing about things in order to magic them into existence. We’re only scratching the surface of what’s possible, artistic and otherwise, from marrying high speed computation with embodied human experience.
It’s a shame then that the freedom of thought that interpreters give us happen to threaten business models of large companies, who are accordingly searching for the power to make free access to them them illegal. `Console’ computers (a misnomer if I ever saw one) are those where the end user is not allowed access to an interpreter, without paying for a restrictive license and/or expensive hardware. You are not allowed to modify code, certainly not allowed to modify the interpreter, and so must be satisfied with using whatever programs the manufacturer allows you to.
This creep towards centralised control over interpretation is deeply worrying, and arguments that end-users get confused or threatened by higher order thought are frankly sinister. Can we have our languages back, please?
UPDATE: If you needed convincing on the point of interpreters allowing higher order creativity, check out Dave’s latest work: http://www.pawfal.org/dave/blog/2010/04/lazybotz/