On Wednesday, 16 January 2013 at 06:05:41 UTC, H. S. Teoh wrote:
That's not quite true, you know. Binary diffing has been around
for a
long time now. But I suppose you could say that there is
currently no
effective, generic way to display binary diffs in an
understandable way.
But then, I believe git has diff plugins that one could write
custom
diff displayers for, so this is merely a small impediment, not a
fundamental one.
Better than using binary files would be to store the state of the
system using text (json, xml, whatever). For correct visual
representation as intended by the programmer, the state of the
visual representation is loaded up when the graphical editor is
launched.
A nice thing about a graphical representation of code, is that
the execution can be animated for much better feedback and
debugging abilities.
Whatever structures said methods may use, can ultimately be
reduced to
some kind of linear representation, which in turn can be
reduced to some
text representation. I mean, no matter what you do, it will
ultimately
have to be stored as a sequence of binary bytes. And
programmers like
getting to the bottom of things, so directly manipulating a text
representation is the most obvious approach.
True.
This is interesting, and it maps to text based source code.
SAM - An Animated 3D Programming Language (PDF)
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.1.7976&rep=rep1&type=pdf
[...]
Lilypond file and spell out notes and stuff directly, most
people would
prefer a graphical interface where you can manipulate the
musical
notation directly instead. Trying to write highly-polyphonic
music
interspersed with chords in plain text format is possible, but
extremely
painful and tedious, whereas writing it out in musical notation
is
almost trivially straightforward. I've no idea what the
programming
analogue of musical notation would be, though. (Please don't
say APL.
Not exactly music, and not a general purpose 3D programming
language but this is somewhat interesting (and annoying!)
http://www.youtube.com/watch?v=Tq0hbfvNKWQ