On Mon, 15 Oct 2007, Frank Barknecht wrote:
I believe, the choice between a 1-dimensional language like SC and a
2-dimensional one like Pd is a state of mind thing. I do my fair share
of 1-dim programming,
Non-graphical languages are still 2-dimensional as they are written,
because people use lines (rows) as logical units of code. The compiler
makes a largely 1-dimensional interpretation of it, but this is not how
people write and read code. Similarly, Pd almost completely ignores the
actual position of the objects (except [inlet] and [outlet]) when
interpreting a patch.
However, the usual rules of formatting source code completely ignores any
use of columns beyond plain indentation, and makes rules that conflict
with the potential that columns have in a document. Sometimes a piece of
code would read better as a table, but coding standards defines "read
better" with their own criteria anyway, which bends in the direction of
1-dim, but still supports 2-dim as far as line breaks and indentation do.
Somehow Pd's way of laying out processes in two dimensions is more
inspiring to me than the sequential, left-to-right programming of SC
etc.
You'd be surprised if you thought about how much right-to-left parsing
it's possible to do for grammars that are always thought in a
left-to-right way... But that's besides the point, as that alternate
parsing is as one-dimensional.
There are several important languages in use, which consider newline as
being largely equivalent to a semicolon. In that case, the change of line
is seen as more two-dimensional, because it is not just ignored in the
parsing.
I'm not here to argue that non-graphical languages are fully 2-dim... else
they'd probably be called graphical, to the extent that ascii-art is
graphical.
_ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list