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-orientated, 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 VFP 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 3rd party databases was added in later versions. Tables in an outside database (say, MS SQL Server, MySQL, PostgreSQL, Oracle, or some other ODBC-connected database) could be added to a data session and made to appear like local FoxPro tables.
Resources
- Microsoft's Main Visual FoxPro Page
- MSDN Page
- VFP Wiki
- History of FoxPro
- Open Source Community of CodePlex
Please note that FoxPro has long since been discontinued by Microsoft, with the last version being Version 9 SP 2.