[livecode] the medium is the message

From: Dave Griffiths <dave_at_pawfal.org>
Date: Sun, 18 Oct 2009 13:40:45 +0100

Hi all,

Here is the boring old scheme example of the factorial in scheme bricks:
http://www.pawfal.org/dave/images/sbfact.png

When I press 'x' it gets converted to this, which is then run:
(define (factorial n) (if (zero? n) 1 (* n (factorial (- n 1)))))

There is no difference in the content of the two representations, the
pure text version is not any more complex, nor closer to machine
instructions than the image. It would be possible to write an
interpreter, or compiler that reads the image structure directly, rather
than converting it to text first.

Many people, (strangely including a lot interested in computers) have a
latent disinterest or even fear of programming, which usually means
screenfuls of ascii (and people interested in linux :)

I think this fear is played upon, and to a large extent caused, by
programmers themselves - who promise 'normal' people they will be able
to do anything they want with a computer without having to mess around
with all this nasty complex stuff, leave that to us, have some nice
buttons with rounded corners and give us cash.

So programming languages that sidestep this 'ascii block' immediately
break through this to appeal to a different set of people.

Now, although they represent the same thing, the equivalence of ascii vs
non-ascii programming languages isn't true when it comes to their
interface, and I have to agree with Evan on this. The reason I livecode
with scheme bricks isn't really to persuade the masses that programming
is easy with coloured rectangles - it's because it feels different to me
than using ascii, and yes, this does result in a different thinking
process for me.

One concrete example of this is that I tend to build up a collection of
'spare parts' (as Matthew called them) lying around which I grab and
recycle for different things later on. I don't tend to do this with text
so much, as it becomes confusing with too many commented out sections.
Another is that due to the auto-parenthesis matching, mistakes I make
are less likely to result in error and rather in a different sound -
allowing you to be more serendipitous. This is something which is more
likely to appeal to people more open to an experimental approach (in
contrast to traditional top down engineering approach), and I wish more
programming languages exploited this.

One slightly different but really important point, which visual
programming languages allow (but no real reason that ascii ones can't
too) is highlight the process as well as it's description. I can't
understand why people don't do this more - for instance, flashing
play/trigger/bang instructions in sync with the sounds they represent is
great for the audience and for the livecoder too.

cheers,

dave
Received on Sun Oct 18 2009 - 12:41:02 BST

This archive was generated by hypermail 2.4.0 : Sun Aug 20 2023 - 16:02:23 BST