Prograph is a GraphicalProgrammingLanguage
developed somewhere in eastern Canada back in the wonder years of the early 90s, sold for some time by a company called Pictorius. See http://www.tritera.com/prograph.html
There is an effort, very low-energy apparently, called the "Open Prograph Initiative" to make Prograph into an OpenSource
The "low-energy" evaluation still holds true, unfortunately. -- RonCraig?, OSPGLI
A commercial Macintosh software development environment exists that supports Prograph. It is the Marten IDE by Andescotia. See http://www.andescotia.com
Prograph is a language I wish had become more popular. The software itself was fantastic and produced VERY fast code. This was a programming environment way ahead of its time for the late '80s, but it suffered from poor marketing and poor documentation.
The first half of the tutorial tried to teach OOP to beginners using various farm animals as objects, AND teach you how to use the Prograph GUI all at the same time--may as well have used "pizza" or "fireman", the farm animals example stunk! The second half of the tutorial dropped all farm terminology but abruptly shifted to advanced OOP concepts, with only little information about the use of the compiler and its UI.
A few years later the product was sold to another company. (Insert: Actually, it was just a reorganization of the first company, which had gone bankrupt; they tried and failed three times. See the article on Wikipedia for more info. -RonCraig?
) After that, there were too many bugs in the compiled code to use it reliably. It was never properly updated with the new Macintosh OS APIs and the code it compiled was becoming more bloated. The engineers were actually busy porting it to Windows, and like many other software companies they completely abandoned the Macintosh versions to jump on the MicrosoftBandwagon?
The completely graphical editor was great in that it reduced the requirement of typing down to the bare minimum: object names, constants, mathematical expressions, and comments. I don't know of any modern environment that offers graphical programming capability to this extent--even the so-called "Visual" Basic is actually more BASIC code with a window & control editor than any real visual programming.
A Prograph programmer knows very easily at a glance how efficient or inefficient the code really is:
- accessing a global variable means visually dragging an "elastic band" from the top of your program to where it's needed. If a function or method is buried deeply in the flowchart hierarchy, the line must enter the top of an object, then into the next object inside that one, recursively until it gets to where it is needed.
stuff, but actually composed of graphical primitives
-- dataflow ObjectOrientedProgramming
language. In other words, it's a GraphicalProgrammingLanguage
Programming in Prograph is an unusual challenge and a heady treat. Classes, methods, primitives, loops, and so forth are created by means of various mouse-clicks and drags, and the only typing you ever do is naming the little block you just created. Prograph code is in fact a web of dataflow connections between functions, and when it executes in interpreter mode you can debug the stuff by actually watching the values of objects flow between nodes in the hypergraph. And it compiles.
- When looking for places to optimize code, it's easy to spot an inefficient method with too many hand-me-down variables because a spiderweb of lines is extruding from its edges into all other directions.
I gave up on Prograph around the same time the new company gave up on their Macintosh version, and haven't seen anything close to the elegance of this from anywhere.
] is the spiritual descendant of this language? -- MikeSmith
Doubtless a relative. -- BillTozier
No. Neither invented the notion of graphical programming, and both were developed at very close to the same time by different people. Reference points:
- Prograph by Phil Cox and Tomasz Pietrzykowski, Acadia University, in Wolfville, Nova Scotia; paper published in 1985 ACM SIGSMALL.
- G (LabView) by Jeff Kodosky of National Instruments Corporation, first version released in 1986.
Both are graphical languages, but that appears to be the sole connection (caveat, this is just based on web searching, not personal knowledge).
I've been a fan of GraphicalProgrammingLanguage
s since the 1970s. On the other hand, none of them so far has been a SilverBullet
is one of the most famous successful ones, but it is a DomainSpecificLanguage
Actually there's nothing about the G language itself that is domain-specific. The LabView components are domain-specific (mainly data acquisition and control), of course, but the programming model isn't.
[Rest of discussion moved to GeeLanguage