I'm struggling to find more than one or two histor...
# thinking-together
n
I'm struggling to find more than one or two historical examples where this is the case (Lamdu is probably the closest)
đź‘‹ 1
y
I think that “visual” usually communicates something else. Perhaps the more appropriate term is “projectional”? I’ll clarify by defining some terms as I see them: • Traditional text programming - freeform editing of text • Structural - Edits are done on structure. Code may still be stored as text (paredit is an example) • Visual - looks nothing like text. Data flow is visualised by the layout using nodes and arrows • Projectional - the UI displays something which isn’t an exact straightforward presentation of the code storage. For example a language where the user draws an image of a diagram in Paint/Photoshop/etc and then the compiler turns the painting into a program is visual but not projectional.
n
I don't think "projectional" is a useful category. Text files are just projectional editors for byte arrays, so every GUI is fundamentally projectional. I also don't think "visual" should imply a lack of text, since text is inherently visual symbols. I think "visual" is only a useful term when you want to use it to distinguish between displaying data as a 1D, serialized sequence of symbols versus some other kind of visualisation where the layout is not so trivial. This implies that any "visual" language would also be a "structural" one. The tricky thing about equating the two is that for some reason, people who make structural editors oftentimes try their hardest to make everything look like a serialized sequence of symbols. IMO that only leads to an obscuration of the structure being manipulated, and for what benefit? It's a kind of Stockholm Syndrome that I've recently snapped out of.
y
I also don’t think “visual” should imply a lack of text, since text is inherently visual symbols.
Perhaps it shouldn’t imply that, but from my experience when I use this term this is what is implied.
Text files are just projectional editors for byte arrays
That’s true. But the projection is considered to be so simple to the point that it’s considered direct editing of the stored data. This is the term used by MPS and others (https://martinfowler.com/bliki/ProjectionalEditing.html) and I favor using it because it communicates important things that the term “structural” doesn’t.
👍 1
i
Visual - looks nothing like text. Data flow is visualised by the layout using nodes and arrows
Most visual languages take that "nodes and noodles" approach, but there are many that don't. Off the top of my [outboard] head: Apparatus, DeepUI, Dynamicland (arguably), Fizzygum, Piet, and Zells (by our own @Nikolas), to name a few.