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