[comp.object] Prograph

andrew@jhereg.Minnetech.MN.ORG (Andrew Esh) (10/27/89)

	I am interested in hearing more about a CASE tool called 'Prograph'.
It was discussed briefly in previous articles, and I have seen the
ad for it in MacTutor (pg. 81), but I would like to hear some
unbiased (or semi-biased) reviews from the net.  Be sure to
post, rather than EMail, for the benfit of all.

				- Andrew

mikel@goofy.Apple.COM (Mikel Evins) (10/31/89)

Rather than a CASE tool, Prograph is a programming language whose syntax
is composed of pictorial symbols rather than textual ones. The semantics
of the language revolve around objects and methods, and are based upon
dataflow languages. Methods can either be global, in which case they
behave like procedures or functions in any normal procedural programming
language, or they can be associateed with a class, in which case they
behave more like what you would expect from a language like Smalltalk.
Like Smalltalk and Lisp, Prograph is dynamically typed.

Prograph is the first visual programming environment I have used that I
didn't immediately dislike. I am dubious about certain issues, such as
their handling of case logic, but I haven't been using it for long, so I
remain undecided. Maybe I'll decide I like the way they do it.

To write a program you open a new project and click in its window to
create an operation. You wire together operations and feed data through
them. The operations respond to the arrival of data on their input nodes
by executing their internal definitions and generating some data on
their output nodes. A program is a network of operations connecting some
input data to some ultimate output location. Prograph enables you to
hide much of the resulting complexity by composing your own operations
that contain dataflow networks, and then treating them as black boxes;
once a new operation is defined it is just a black box with input and
output nodes.

The programming environment is fairly rich and forgiving. Editing seems
to be pretty easy. I am a little worried about what happens when I get a
really big network with lots of large sub-networks; I'm afraid that I
may find that there is not enough screen real-estate in the world to
adequately display the resulting program. On the other hand, I have some
hope that dataflow networks may be capable of revealing a lot of their
structure to a casual (knowledgeable) observer.

At OOPSLA TGS Systems was showing a preliminary version of the compiler
for Prograph that they intend to ship sometime early next year. There
was a noticeable speed gain; they say they are shooting for something
like 20 to 50 times speed improvement over the interpreter. The minimum
size of applications looks very good at this point; something in the
single-digit numbers of K.