Questions tagged with Visual FoxPro should be specifically about the Windows based versions of FoxPro, from 3.0 through the final 9.0 version. Earlier versions, and the versions for the Mac and SCO UNIX are not "Visual", and shouldn't be tagged as such, nor should the tag FoxPro be included on questions about Visual FoxPro.
Visual FoxPro (VFP) is a data-centric, object-oriented, procedural, programming language from Microsoft. The last released version, 9 Service Pack 2, was in 2007. Microsoft has since discontinued the product, but it still has active use in business to this day, due to its low cost of deployment and fairly rapid development.
Visual FoxPro is a descendant of foxpro (originally FoxBASE), which in turn was based on dbase of the xbase family of file-based databases. In 2007 Microsoft confirmed that there will be no release of Visual FoxPro 10 or a .NET version of Visual FoxPro.
In 2008 Microsoft released a set of add-ons for VFP's xBase components to allow interoperability with various Microsoft technologies. These were developed under the codename Sedna and made available on the codeplex site under the shared source license.
The following versions of VFP have been released:
- 1995 (VFP 3.0)
- 1996 (VFP 5.0)
- 1997 (VFP 5.0a)
- 1998 (VFP 6.0)
- 2001 (VFP 7.0)
- 2001 (VFP 7.0 Service Pack 1)
- 2003 (VFP 8.0)
- 2003 (VFP 8.0 Service Pack 1)
- 2004 (VFP 9)
- 2005 (VFP 9 Service Pack 1)
- 2007 (VFP 9 Service Pack 2)
Features
- Database engine, using the dbf format. Supports reading and writing dBase and FoxBASE files. While it retains this backwards-compatibility support, in later versions it included new features that, when used, made the table FoxPro-specific.
- A built-in query optimizer called Rushmore. The FoxPro implementation of Rushmore made use of existing indexes when an index definition had a matching expression in the issued command.
- SQL support, in the form of a limited ANSI SQL dialect, although it does have FoxPro extensions here and there.
- OOP design. FoxPro has reasonable support for classes, class libraries, inheritance, etc.
- Procedural support. The original FoxBASE was non-OOP and a procedural-oriented language that worked closely with internal data bindings. For backwards compatibility, this was retained.
- GUI designers for Forms, Reports, and other controls.
- Access to third-party databases was added in later versions. Tables in an outside database (say, PostgreSQL, Microsoft SQL Server, MySQL, Oracle, or some other ODBC or OLEDB - connected database) could be added to a data session and made to appear like local FoxPro tables.
Resources
Please note that FoxPro has long since been discontinued by Microsoft, with the last version being version 9 SP 2.