Question for you:
What are the most interesting examples of visual programming? What ideas would you propose?
I'll want to incorporate them into a graphics workstation hypothetical...
Text-based programming is so ingrained, I'm struggling to think beyond it!
I'm particularly interested in different maths notations?
That's where I'm particularly struggling to come up with an interesting answer, & computer graphics requires lots of math!
@harald I'll have a look! Thanks for pointing me to it!
@harald I'm having trouble researching VisualAge SmallTalk. Do you have any links you can sure?
@harald Thanks, I'll look through them!
@alcinnz Max?
https://cycling74.com/products/max
There's also Scratch.
https://scratch.mit.edu
Apple have made at least a couple of visual programming environments over the years, but I don't believe any of them are still available. The most recent was Quartz Composer.
https://en.wikipedia.org/wiki/Quartz_Composer
@alcinnz Snap! Is a scratch that lets you define new blocks.
@alcinnz Visual shader editors are a neat example. Shaders are just functions (in the pure, mathy sense), but they present it more as a... data flow representation?
e.g. https://cdn-images-1.medium.com/v2/resize:fit:1600/1*mDWxHm1iPwocXSYwxyyehQ.png
@emily Yeah, I've seen a few of those. And I've been pointed to a few more!
I do think I'll include it! With a visual syntax that can also be used in a way more resembling Scratch.
But I view that as more suitable to working with higher-level abstractions, whereas I'm more stuck on how I'd want to express the lower-level ones!
@alcinnz What sort of low-level abstractions do you have in mind? I'm having trouble thinking of examples that make sonse, except in the sense of "pure functions are higher level" (I do think this style of editing is more suited to pure functions).
@emily By low-level abstractions I'm thinking of things like:
* Various physics sims
* Ray tracing & depth buffered rendering
* Dynamic topology
And the like.
There's no reason I can't apply dataflow or brick visual syntaxes to that, but I suspect there's better ideas for the task which'd look cleaner.
I keep landing on a language which supports standard math symbols/layout, though I'm not entirely confident in it.
@alcinnz The best example I've seen is the Luna / Enso language. It was general-purpose visual functional programming language, here is how it used to look:
@alcinnz This project (https://ensoanalytics.com/) has by now devolved into a flashy datascience app*, but they crunched through a lot of knowledge along the way. If you really want to dig into this topic, you may checkout the "team" section of the website, and then search for their conference talks, blog posts, etc.
* This is an exaggerated statement to make my point across. Their program might actually be a very good data science app, I don't know, I only spent like 5 min browsing their website right now. However, they do present it as a data processing tool, not a general-purpose programming language.