ivanreese / visual-programming-codex

Waypoints to the past and future of visual programming.
https://ivanish.ca/codex
1.35k stars 58 forks source link

Suggestion: Prograph CPX #69

Open everythingability opened 3 years ago

everythingability commented 3 years ago

Hi,

What a wonderful list, thank you. I keep returning to VPLs because at one time in my life I made something that was beyond my ability, and that was because of the amazingness of the tool, not my abilities. Prograph CPX needs a nod.

For historical reasons, but also because Prograph CPX was probably the most incredible visual language ever. Made in the 1990's it was an object-oriented data flow language, made at the time when Apple was shooting itself in the foot with Open Doc and all that.

Thing is, Prograph CPX had features that were amazing. You could EDIT YOUR CODE WHILST IT WAS RUNNING! When compiled it ran as fast as C yet was closer to HyperCard authoring. You could "scrunch" spagetti code, so that you could focus at the right level and I actually managed to do productive pair programming with it.

Literally LIGHT YEARS ahead of the game. The main dev got very ill and died, the company bet the company on going cross platform, which was a mistake, the follow-up Marten (open source I believe) is similar, but the world moved on. I made a tool that pre-dated Facebook by 7 years, Spinalot, in it... People in Apple's Advanced Technology Lab, Kurt Schmucker and Don Norman introduced me to it.

Here's a video, the end of which has me using and enthusing about Prograph. https://youtu.be/MtECJw59elc?t=1467

I miss it.

tebjan commented 3 years ago

object-oriented data flow language,

You could EDIT YOUR CODE WHILST IT WAS RUNNING! When compiled it ran as fast as C

Are you aware of https://visualprogramming.net?

The language VL is incrementally compiled at runtime and has full state hot-reload. It is object oriented, has generics, type inference and visual representations of loops, if, function pointers, etc. It also introduces a concept of stateful nodes that are automatically bound to the state of the class in which they are used.

everythingability commented 3 years ago

@tebjan Thanks. Looks great, but I don't have Windows unfortunately.

ivanreese commented 3 years ago

@everythingability Thanks so much for the detailed suggestion — and sorry for the delayed response (I had somehow unwittingly turned off notifications on this repo). It's very helpful to not only have a glowing endorsement of a classic tool in the space, but also that extra bit of context that'll help me make sense of it.