If we had such a representation, it'd give interesting prospects for programming with a tablet/touch interface.
If we had such a representation, it'd give interesting prospects for programming with a tablet/touch interface.
I suspect the brain-to-computer interface for tablet/touch interface is too narrow, at least for that kind of thing (input of a big bunch of discrete symbols). Tablet/touch interfaces might be nicer for viewing or better yet debugging code; I'm daydreaming of being able to pull out a variable and 'expand it' in some handwavy fashion.
On a more serious note, is there any fundamental reason that we'd need a big bunch of discrete symbols? If you look at the evolution of language development, we already went from machine code, which is extremely verbose, to languages like Python/Ruby which are pretty concise.
If we continue this, we'll eventually be high level enough to not think in terms of statements but in terms of data transformations, filters, queries, reductions, etc.
And with touch you could already do a lot with making input context sensitive. Only show the options that make sense at that point. Hardly a need to show a full keyboard unless typing some identifier for the first time.
Anyway, it's very interesting to think about what is possible if you leave behind current assumptions such as code=text.
I bought a tablet only recently and am frustrated that I haven't found a convenient way to write programs with it. I hope some day I will.
For example, I just typed a bunch of words at you. I didn't have to 'interact' with the computer at each step, even though I suppose I could have used a touch interface where I typed the first letters of each word and then hunt around from a list.
We're good at being able to say that something is going to be equal to (-b + sqrt(b^2 - 4ac))/2a, for example, by blasting out a bunch of different symbols that the input system is unlikely to be able to anticipate. I can't type that formula as fast as I can gibber away in English... but I can still do it pretty smoothly without having to drop into a 'select things from some sort of menu' mode.
This is made worse by the myriad of perfectly useful operators in a language like C, as well as all the variables that may be defined at that moment. I think discrete symbols are a fine way of expressing this.
All those things that you talk about 'instead of statements' are fine things, but just as information-dense as a good-quality statement and will still call on you to express an idea drawn from a huge space of possibilities.
Definitely in agreement on how interesting this all is as a concept. This would be my toy project if I had time for toy projects. :-/