when the web was young and so was java, I remember programing my first java app in much the same way you wire up a circuit. this was when macromedia was macromedia and flash was shockwave, and people used angelfire, and geocities over second life. The web was young and it was innovative and people were playing with graphical ways or programing, even before GPUs were around.<p>One might say that graphical programing languages were ahead of their time.<p>today, i think labview is the most prevalent graphical programing language out there.<p>do you know others? i am looking for one that might be good for multi-processing.<p>i wonder what metaphors would be the bare min to make it functional.<p>for example a few metaphores<p>* all base types, should visually show their byte structure<p>* sets(arrays, vectors, collections) should be squares, or blocks of memory<p>* objects should be circles or spheres<p>* public functions should be marked on the surface of an object, where privates are internal<p>* multiple inheritance could look like a ven-diagram, with a new circle enclosing the composite set.<p>* variables should be picture hashes, with a dominate color, the variable namespace could be used to generate the hash like a 'code of arms', so it's inheritance might be easily visible.<p>* all functions have an id, but they also have a creation date, last update, and last editor, all versions of functions exist, and you must attach to a version or a set of versions. once a function lacks any attachment, it can be deleted.<p>* functions, should just be an array of instructions, supporting full CRUD.<p>.. what would you want?
I think you might want to take a look at this:<p><a href="http://ffnnkk.org/" rel="nofollow">http://ffnnkk.org/</a><p>Fact is that graphical programming languages are only good for certain kinds of programs which is why they have only gained traction in the data acquisition world ( labview, lego mindstorm..etc ) where the metaphor of "data-flow" fits in very well with the domain. Sometimes they are just really slow to create general purpose programs compared to traditional text-based programming. I still remember the labs I had to do in Labview where to insert an element into an array, I had to drag like 3 different blocks unto the screen, convert the data into right types the and then wire them up, just inefficient.