“Visual programming is stuck on the form” by <@UNL...
# linking-together
c
“Visual programming is stuck on the form” by @Wil Chung https://interjectedfuture.com/visual-programming-is-stuck-on-the-form/
s
Thanks, love this!
k
Exactly why for my project, I ignored the form almost altogether. 😆 Maybe you don’t need it at all times.
I actually wonder what would happen if you divided program flow and state into a sort of splitscreen sketch canvas land,
g
Excel and FileMaker are the best and most useful visual programming systems ever devised. Excel is a mix of visual and textual. I imagine most effective visual programming systems will be a mix of some kind. FileMaker is mainly not textual. It can do this because it is for programming in the Relational Model, which is not Turing Complete. Much of what programmers do in TC languages can in fact be represented in the Relational Model. Programming systems that employ a TC language intimately associated with a relational UI and a query language like Datalog would be much more “visual” than most systems in use today.
k
I honestly dislike excel/spreadsheets, but I get they tend to be their own model. for visual programming in some sub-domains I don’t find them intuitive in terms of how I think.
j
Screenshot 2025-02-19 at 8.40.51 PM.png
k
^Yeah exactly I was thinking this using a sketch canvas to show the code side effects and data
j
@Karl Toby Rosenberg your drawing looks a lot like https://pythontutor.com/. is that an accurate comparison?
k
I never really used Python tutor, but I suppose the flow/data split is a point of comparison yes. I’m into sort of using moving sketches as representations of programs. You probably saw my project floating around.
j
I disagree with the assertion that "Visual programming hasn't been very successful". I often see examples of visual programming systems that are used and appreciated by many people get discounted as merely domain specific - They aren't "general purpose". This is a strange (and very common) default expectation of what programming languages should aspire to be. To me, this is a bit like discounting the effectiveness of a chain-saw, because it can't also be used as a screwdriver. We shouldn't judge visual programming languages based on their ability to be a swiss-army-knife like the "general purpose" textual languages we have today. I'm not terribly interested in attempts at creating a "general purpose" visual programming languages. Designing a tool that can be used in EVERY domain seems hopelessly impossible. Designing a tool that works in a specific domain is going to be a lot more effective and achievable.
k
Domain-specific makes sense.
a
I've actually always believed that general purpose is a great and achievable goal, because how else would I, a designer and commoner, build anything I dreamed up? Programming certainly can be, but perhaps shouldn't only be, compared to narrow-focus tools like a chainsaw or pliers. Programming can, and I believe should, be a pen, or money, or clay, a substrate for complex computation, data storage and retrieval, and live malleable stateful display. If textual programming can be comfortably "general purpose", I wonder what makes it become uncomfortable when we consider visual programming?
NB: I would however reference an earlier thread that recasts what we typically mean when we say "general purpose" as in fact domain specific to a particularly narrow range of software development for popular markets
j
@Arvind Thyagarajan Great point, clay or a pen is definitely a better analogy. In my view, clay is a specific medium/domain, as is a pen. I see something like Pure Data as analogous to clay, but this article discounts it because it doesn't meet the vague criteria of "general purpose" (which as you point out is a misnomer). I would have loved to see this article dig into what has made existing systems successful/useful, but it seems like these systems aren't deemed relevant because they don't fit into the domain of what programmers traditionally work on. I'm hopefully for a future where system designers move towards domains outside of "general purpose"(aka traditional computing), and can learn from a more diverse body of human experience. There is a lot to discovered by learning from people in other fields, and trying to replicate "general purpose" in a visual medium is needlessly limiting.
a
Yes it's too bad "general purpose" has been waylaid, perhaps I need to find another term to convey what I actually have in mind: "wide, deep, creative purposes"??
i
@Karl Toby Rosenberg That video you shared (and, I presume, made) is cute! I've been thinking a lot about building something like the left side, but with time arranged along the z-axis. And the house = 🏠 is pretty good, except I don't want the
house =
part, I want a purely spatial/graphical way of defining and referencing. Maybe Crosscut-style meta ink?
k
@Ivan Reese Thanks. It would be neat to see if you have your own concept art. I guess I’m still into the idea of textual annotations similar to my previous project, but the “=” might be the offensive part.
i
@Karl Toby Rosenberg here's the first snippet of what I'm working on: https://mastodon.social/@spiralganglion/114089023899198330
k
Needless to say, nice colors.