Visual Foxpro is a dynamic object oriented language that supports
multiple class libraries, a class browser, programmable (run-time) subclassing,
and data dictionary capabilities. Microsoft Corporation released Visual
Foxpro in September 1995, shortly after the introduction of Windows
95. Similar to Visual Basic, Visual Foxpro (VFP) is a RAD tool
that uses ActiveX visual components, and interoperates through OLE automation
or by creating COM servers. VFP can also subclass ActiveX components
and COM automation objects.
Like Smalltalk, Visual Foxpro operates on dynamic inheritance.
It instantiates classes from a library or from base classes. It can also
modify and save classes - including contained objects into the class library
at run time. VFP Wizards provide UML re-engineering and code generation
with Rational Rose and Microsoft Visual Modeler.
There are two major versions of Visual Foxpro: VFP 5.0, first
released in September 1996, runs exclusively on 32-bit Windows operating
systems. VFP 3.0 released in 1995, runs on 32-bit and 16-bit versions (WfW,
3.1, 3.1.1) as well as the Macintosh, but does not provide complete ANS SQL
or COM server building capabilities.
Visual Foxpro is one of several OO 4GLs, languages that
combine OOP and inheritance with native SQL and other relational database
capabilities. These languages tend to treat simple variables, object properties,
and table fields similarly, allowing operations that include all three.
In addition to VFP, three languages: Visual dBase, Alpha 5 Pro,
and Visual Objects were also "xBase" languages, meaning
they evolved from dBase II/III. Visual dBase 7, from Borland International,
now an object oriented language is the direct descendant of dBase. Visual
dBase provides some interesting Java-like OO extensions such as string
classes and methods. Alpha 5 Pro from Alpha Software is based
on a xBase variant called "xbasic." Visual Objects, which
evolved from Clipper, was the first xBase language to include object extensions.
However, Centura, originally SQL Windows, was the first
4GL on Windows and now has OO extensions.
Finally, PL/SQL from Oracle Corporation for Oracle 7
and Oracle 8 is also an OO 4GL. It is not based on xBase, and is
a server language rather than a Windows client, but does provide both native
SQL as well as classes and objects. VFP and other Windows clients interoperate
with PL/SQL through ODBC and OLE Objects for Oracle (OO4O). (See Other
OO 4GL Compiler / Interpreters).