Maybe not quite as dead as the article makes it sound; see http://www.andescotia.com/products/marten/
While not directly affiliated with Prograph, http://www.clarity-support.co.uk/products/clarity/ may also be of interest.
And of course there’s pd and its commercial offspring Max, which are not really trying to be general-purpose software development languages, but seem pretty successful in their niches.
Would there have been these kinds of solutions if the original Mac OS had a command-line interface out of the box?
These kinds of Mac OS-centric programming environments (I would lump HyperCard, Frontier, and AppleScript in the same category) seem so alien to me now. It’s like there was a burst of creativity because of the limitations of Mac OS, but then nothing really survived Unix getting cheaper and more ubiquitous.
I’ve messed around with some similar ideas here: https://nick.zoic.org/art/flobot-graphical-dataflow-language-for-robots/ . Other examples include LabView and Node Red …
i can’t help thinking that these might finally become practical as monitors are getting huger and higher resolution: using all that space for a 80 column terminal seems a little wasteful :-)
I never used Prograph myself, but I do remember seeing ads for it. I even got their sales literature in the mail, though at the time I couldn’t afford to spend that kind of money on software I wasn’t sure I needed.
I’m pleased to hear that someone enjoyed using it, though!
Looks very similar to LabVIEW, which I am not a fan of. Modern method chaining is much easier to both write and read.
The interactive development does sound nice, though. Similar levels of interactivity are available in Jupiter notebook or React hot reloading, though. And as demonstrated by Casey Muratory in Handmade Hero, you can even get the immediate feedback of sub-second compile times and hot reloading in C/C++, if you architect your code correctly.
What’s “modern” method chaining?
I just meant to distinguish method chaining from old-school one statement per line. Method chaining provides a more visual conveyance of the data flow, IMHO.
I just asked because cascading has been around since long before I was born.
I do agree that multiple messages per statement are great.
True. Just not as much in mainstream languages until the last decade or two. And more recent languages reaching mainstream, e.g. Rust, are fully expression oriented.