5 ms·
2D languages are an under-researched area of SW dev, IMHO, But I applaud this effort. On the one hand, they can significantly reduce the cognitive effort expre
by kitd 2y ago
2D languages are an under-researched area of SW dev, IMHO, But I applaud this effort.
On the one hand, they can significantly reduce the cognitive effort expressing and understanding code with complex relationships, OTOH they're a bit of a nightmare to actually use, especially the ones that use some form of ASCII art.
I wrote a parser for a simple petri net flow diagram that used ASCII art that constructed the state machine between function calls. It worked well until I actually tried to do anything serious with it. The effort required to keep the chart looking tidy quickly outweighs the effort writing a normal pure-code form.
IMO, a more "Pythonic", indentation-based diagram may be better but I think you're restricted then in the types of problems you can express.
As I say, this all needs more research.
- agumonkey 2y agoEdwards subtext had table centric representation of logic iirc.
- agumonkey 2y agops: here's an oopsla paper https://www.subtext-lang.org/OOPSLA07.pdf https://www.subtext-lang.org/OOPSLA07.pdf (go to page 13 and further for screenshots) from: https://www.subtext-lang.org/ https://www.subtext-lang.org/ (video here: https://vimeo.com/140738254 https://vimeo.com/140738254)
- WillAdams 2y agoI like to consider myself a visual person, so this is something I'm very interested in, and have posted about a fair bit here (and elsewhere), so my apologies to folks seeing my thoughts below again. Well, haven't folks been writing/dreaming about this since Herman Hesse's _The Glass Bead Game_? (originally published as Magister Ludi) The big problem is that there doesn't seem to be an agreed-upon answer for the question: >What does an algorithm look like? and the tools which explore this tend to get bounded complexity-wise by screen size and attempts at escaping that complexity either lose expressiveness (presumably we are trying to escape from a "wall of text" but calling modules/functions as text even if it's wrapped up in a pretty box/connected with lines doesn't really do that and if one sticks to one's guns and just connects things in a node editor, well, there are sites for collecting such (but I'll spare you the link). If folks have other tools in this space to suggest, I'd be glad to try them.
- rollcat 2y ago> The effort required to keep the chart looking tidy quickly outweighs the effort writing a normal pure-code form. In 2007 I've been learning Java and Python concurrently, and made the following observation: some languages just absolutely suck without proper tooling, while others are pleasant to use even if all you have is MS Notepad. I'm not sure if there's a significant correlation to productivity, but the barrier to entry can definitely be much higher if your IDE can't hold your hand.
- 082349872349872 2y agoon that note: line numbers in Basic were a kludge, but they were a kludge which meant one could develop without even having a line, let alone a full screen, editor.
- 082349872349872 2y ago> The effort required to keep the chart looking tidy quickly outweighs the effort writing a normal pure-code form. Github's markdown tables allow an intermediate form: one can edit tabular source untidily while editing (although it still always renders tidily in a markdown viewer), and then, before committing, run a pretty printer that restores a nice tidy tabular look even in the ascii source.
- binary132 2y agoEmacs’ org-mode has a pretty fantastic table prettifier and evaluator — it’s almost like a mini ASCII Excel