View Source Document

README.markdown

Irishsea

Irishsea is an experiment in "live coding" or "cyber-physical programming" (or maybe "cyberphysical livecoding", why not?)

It is vapourware. I haven't even been as far as decided for what I want to implement, or what language/environment to implement it in. It is mostly, for the time being, a collection of thoughts on the subject. And they're not even very coherent thoughts! Don't try to make sense of them!

Let's back up.

Many of the ideas behind "cyber-physical programming" do not seem to be actually very new. Consider...

The main new idea seems to be:

This may be a literal performance, in the case of, say, a musical livecoding concert. Or, it may be something more informal, or more abstract, or of supposedly practical value; but it is still some kind of... I don't know, experience, for lack of a better word; potentially a shared experience.

Goals

One of the goals of the Irishsea project is to come up with answers to the question: how do you play a computer like you play a musical instrument?

Actually, I should say "performance instrument". I said "musical instrument" only because (a) you probably know what musical instruments look like, and how they generally work, and (b) you probably don't have a good idea of what a "performance instrument" would look like or how it would work. (I know I don't.)

Or, another way to arrange the confusion in the above two paragraphs: Irishsea is a performance instrument, made out of a computer, using the concept of a musical performance to frame, but not limit, what we mean by "performance".

Working towards these goals might include:

(Why do I keep saying "reprogramming?" Because you almost never program a computer from scratch. Other people have already programmed it a lot before you got your hands on it -- they built the OS, the text editors, the compilers and interpreters that you use... You can think of yourself just "programming" it, because you are adding new code to the existing code, but you still have to admit that your code does not live in a vacuum. Unless maybe you like to hand-assemble your own operating systems.)

Ideas for Model

Ideas for Language

Ideas for Environment

Motivation

Having done all of the following things:

I have a hard time reconciling musical performance with writing software. They're very different activities, for me. But I have less of a problem reconciling

So it seems theoretically possible. So I'd like to try. So this is me trying.