On 21/12/2010, at 6:07 AM, Brian Gilman wrote:

> I think that the fundamental problem is that keyboards are good for entering 
> text, and text scales very well. 
> 
> Artists and musicians tend to heavily favor visual node based programming, 
> which is a better fit for mobile platforms.  Just drag nodes out, and draw 
> connections.  For non-programmers, being able to see the relationships 
> between visual blocks of code is much more intuitive than text.  The problem 
> is, that it doesn't scale very well.  Once a program reaches even a moderate 
> level of complexity, the graph of nodes end up looking like a pile of 
> spaghetti.  If you want to rearrange your program, you end up having to 
> disconnect and reconnect tons of nodes. 
> 
> For systems without keyboards, spatial representation of code seems like the 
> intuitive direction to go, and would work regardless of whether the user is 
> using a multitouch tablet, or is wearing a pair of AR glasses.  Getting that 
> to scale however, seems like a very difficult problem. 

If you're interested in music, you might know bout the Reaktor, Max/MSP and 
Reason programs.

Their method of programming is indeed this. They are missing something (the 
idea of scale), but I very much like this.

Check them out if you haven't already. I personally love writing code with 
words, but I don't think that this approach is revolutionary enough. I quite 
like the Self language approach to objects and programming (to a degree, 
though, it's still keyboard-tied), but the problem with GUI-based coding system 
such as these is that you ALWAYS have to use the mouse.

This doesn't address the power users. They need to be addressed. Having 
keyboard-based coding systems addresses the power users, but doesn't really 
address the n00bs. I think everyone needs to be treated as a n00b, because 
potentially everyone *IS*... we need COMPLETE self-documenting code that 
explains how every part of itself works, in exactly the same attitude that the 
COLA boostrapping attitude exhibits.

Even Apple, arguably the best asset the entire world presently have in terms of 
presenting things simply and easily, in my opinion fail quite hard at trying to 
explain objects to n00bs... their documentation is great, but they miss huge 
chunks out of things when explaining. If documentation was literally baked into 
the objects themselves, then the process of introspection could be used for 
education. Teaching someone how to use the system and learn about it would take 
about the same amount of time as teaching someone the syntax of smalltalk - 
it's a simple, easy grammar.

The powerful ideas are the connecting ones, IMHO.

Julian.
_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc

Reply via email to