Feature |
Benefit |
Platforms |
|
Windows 98, NT, 2000, XP |
|
|
|
Visual Language |
|
Visual functions with inputs and outputs |
Function as picture you can select and move
promotes reuse |
Links for passing data between functions |
Pass data values between functions without
declaring any variables |
Constant values |
Required for a complete visual language |
Repeats (loop) |
ditto |
Pick Ones (conditional) |
ditto |
Packages (block) |
Allows you to collapse subdiagrams; makes
visual programs scalable with limited screen real estate |
Error Handlers (exceptions) |
Required for robust error handling - errors
are noticed rather than ignored by default |
Ordering links (control flow) |
Required for a complete visual language; allows
you to constrain the order of execution from full parallelism
to full serialization |
Comments |
Important to capture the programmers intent
for posterity |
Forms (modal dialog boxes) |
Required in order to interface to the user |
User-defined records |
Important in order to minimize visual clutter
or map external record data (e.g. databases) into the visual
world |
Global record values |
Simplifies access to key data values used
throughout a program |
Data types: Integer, Decimal, Boolean, Text,
List, Record, Time, Money, Pointer, Error, Object, IDataObject,
and types derived from these |
Required for a complete visual language |
User-defined data type conversions (programmer
can define an automatic conversion from any type to any other) |
Simplifies programming, particularly for end
users and others not wanting to deal with strong typing. |
Links to remote connectors |
Allows deeply nested functions to refer to
data in outer functions; can eliminate links; important to minimize
visual clutter |
|
|
Editor |
|
"Direct manipulation" of most language
features |
Ease of use |
Infinite Undo/Redo |
Allows you to back out a change |
Journaling |
Means that if the computer crashes you can
resume where you left off, not where you last remembered to
do a SAVE. |
Dynamic syntax checking (when connecting links) |
Means you can't even create a syntactically
incorrect program |
"Gravity" to help make proper connecting
links |
Editor attracts you to the nearest connectors
having a compatible data type; ease of editing |
Implicit type conversions |
Ease of use |
Dynamic type inferencing |
ditto |
Navigation aids (e.g. finding functions using
a function, history, home) |
ditto |
Automatic flowgram layout |
ditto |
Scalable icons (Windows metafiles) |
Allows you to treat a program as a set of
pictures; you decide how big (important) a function's picture
needs to be on the screen |
Zoom In or Out |
Allows you to scale up to large programs |
Printing |
|
Hidable labels, and auto-show when needed |
Eliminates visual clutter |
|
|
Components Catalog |
|
Heirarchical Tree of folders for components |
Rapid access to components (one or a few clicks
to any component) |
Find (search for components) |
Allows you to search large libraries of hundreds
of components |
Navigation aids (e.g. finding functions using
a function, recently modified, or deleted) |
ditto |
Multiple cabinets (component libraries) |
Supports large scale development by multiple
organizations |
Permission bits on components and folders
and cabinets |
Allows a component creator to protect the
integrity of published components and libraries |
User supplied component descriptions |
Allows you to document functions you create
for your users |
Help file and help context on components |
Click to view the component-creator's help
text |
Automatic Help file source generation |
Fully integrated automatic generation of help
text from your component descriptions |
Small/Large/Text-only Icon views |
Ease of use and scalability |
|
|
Rapid Component Creation and Reuse |
|
Replace selected functions with flowgram or
package |
Eliminates visual clutter by letting you condense
and collapse diagrams as you please, as well as turn subdiagrams
into new reusable components with a few clicks |
Expand function or package in place |
ditto |
Replace constant with inlet connector |
ditto |
OLE Automation Wizard for building visual
components automatically, from IDispatch or from Type Library |
Allows you to connect to the vast world of
OLE components provided by others |
Supplied clipart |
Allows you to use appropriate or distinct
pictures for your new functions without necessarily using a
drawing tool |
Icon creation using standard Windows drawing
tools |
Allows you to use ANY picture you want for
a function - just draw it or import the picture |
Visual DebuggingStep, Pause, examine |
Direct manipulation program debugging |
Export application as a Program Manager item |
Simplifies application creation |
|
|
Visual Components and Run Time Functionality |
|
Arithmetic, File and Directory, Registry,
List, Logical, Text, Time, User Interface, DDE, Error |
Required for a complete visual language |
Controlling OLE Automation applications using
OLE Automation Wizard created components |
Allows you to create an application that drives
other PC applications, getting data from or putting data into
them |
OLE Linking to other applications such as
spreadsheets for run-time access |
Allows you to copy a cell in a spreadsheet
and then paste inside the visual program to create a live link
to that spreadsheet data |
System access such as Launch Application,
Find Window, Send Keys |
Allows you to control applications that may
not have DDE or OLE interfaces |
Callout to DLL shared libraries |
Allows you to interface to external program
libraries |
Help file and help context on errors |
Ease of use |
Runtime exception trapping |
Helps you create robust programs and detect
runtime errors |
|
|
Documentation and Examples |
|
Online documentation |
Ease of use |
Context-sensitive help |
ditto |
Example applications |
Help you get started |
Microsoft Excel component examples |
Built in support to interface to Excel spreadsheets |
Microsoft Word component examples |
Built in support to interface to Word documents |