Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

But program code is 2D as well. And quite limited 2D, with 80 characters width max (or similar, but never unlimited).


Code is 1d with named links.

Visual languages trade named links for global wiring, which is very cluttered for serious problem solving.


> Visual languages trade named links for global wiring

Existing visual programming langs can definitely do "named links". A lot support named function-like blocks which are another form of avoiding wires.

> which is very cluttered for serious problem solving

This clutter is also problematic in textual programming, and is the reason abstractions and programming structures are used. Perhaps the hint here is that we need better ways of representing abstraction in visual programming.


Code is not 1d, a single if() already creates another line that makes it 2d


Mathematicians like to use parametrizations to measure "how |any dimensions" something has. If you need two indexes to traverse it (x and y), it's 2d, if a single index works best to describe it, it's 1d.

Another way to think of it is "there is semantic meaning to 'the character to the right/left of this one', but is there to 'the character above/below this one'?" In most programming languages, there isn't at all.


How is `if` related with creating a new line? And how does new line make something 2D? If code was 2D you could write code anywhere in your document without juggling around spaces and newlines


You could argue it's 1d, actually, since sequence is fundamental, not positioning on the x axis.

At any rate it's (mostly+) categorically different from what visual programming attempts. Code must be read, comprehended, and a mental model built. Visual programming is designed to give a gestalt spatial intuition for code structure -- a different kind of comprehension.

+Indent and spacing between functions/methods does count as a tiny bit of visual programming IMO


Nah, code is 1D with line breaks for visual comfort


The fact you can give things names means that there is rarely a need to follow the edges so the visualization is much less cluttered




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: