Genuine innovation is rare. More often than not, new ideas are really just refined old ones. But every so often, someone breaks completely new ground, and TGS Systems does just that with Prograph. it’s truly a new way to program, and the Mac is its first home. This is a superior language, mainly because of its safety, which means far less instances where mac data recovery may be necessary for the programmer/user.

VISION Until now, programming has always been associated with writing endless lines of impenetrable (for normal people) code. Cranking it all out is a chore for professionals, and the mysterious-looking result is daunting indeed for nonprogrammers.

Prograph is the first completely programming language. Unlike CASE tools, which use flowcharts to generate conventional text-based code, every element in Prograph has meaning. There’s no behind-the-scenes code generation or exeCution.

Each programming construct in Prograph has a unique pictogram associated with it. You caD construct programs by connecting these icons, and the connecting links represent the way data flows in the program. As Prograph’s data-flow-oriented design doesn’t force a program to execute in a particular sequence, Prograph is eminently suitable for parallel processing.

Programmers may find Prograph a bit disconcerting at first, but nonprogrammers should accept it readily, as they have no notions shaped by experience with other programming languages.

OOP 101

Prograph is an object-oriented language. Object-oriented programming (OOP) is a method of software design that, among many other things, matches an application’s operations to specific data types; this is called encapsulation. For example, subtraction is an operation that can be performed only on two numbers.

In addition to forcing programmers into a change of mind-set, OOP forces them to learn new terminology. For example, an object is an incarnation of a class, in much the same way a variable in a program is an incarnation of a variable type.

OOP also encourages you to reuse existing code. Once you’ve developed a class, the description of data, and the operations that may be performed on it, the code is self-contained and can often be reused in another program without change. Without encapsulation, code reuse is much more difficult.

Prograph ships with a set of system classes that make the construction of applications simple. By building on the framework of the supplied system classes, users can design an application’s user interface in full WYSIWYG. Menus and other standard Mac-application userinterface elements can be built on-screen and linked to the appropriate Prograph constructs with a few clicks and drags. You can also step through your application and trace the data flow to find out where any mistakes lie.


One of the penalties of Prograph’s interactivity is that the language is interpreted. As with Hyper-Card, you need Prograph to run any Prograph application. And once an application is finished, it is by no means blindingly fast. Fortunately, Prograph was designed from the start as a compilable language.

By the time you read this, Prograph 2.0 and its compiler should both be available, making possible true stand-alone applications. The compiler will generate native 68000 code and won’t just automatically incorporate a run-time interpreter, so you’ll get real code.


Prograph is novel in many respects. Traditional programmers may balk at its originality, but novices should take to it more readily. Although it’s a high-level language, it still provides direct access to the Mac Toolbox, and programmers can get as down and dirty as necessary.

Prograph is a clear sign of things to come. If your aim is to learn about programming, you can’t afford to overlook it.