Object-Oriented Language & Development Environment: Visual Foxpro
Intro
Visual Foxpro is a dynamic object oriented language that supports multiple class libraries, a class
browser. It provides programmable dynamic (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).