# Visual FoxPro

Visual FoxPro is een softwarepakket van Microsoft voor het creëren en onderhouden van 32-bit database-applicaties en -componenten. Visual FoxPro is een objectgeoriënteerde datacentrische programmeertaal. Het bevat een programmeertaal, een databaseengine en een Integrated Development Environment (IDE). Visual FoxPro heeft een systeem voor achterwaartse compatibiliteit, wat inhoudt dat verouderde code redelijk eenvoudig kan worden aangepast en verbeterd. Visual FoxPro is ook een Rapid Application Development (RAD)-tool, wat betekent dat het gericht is op het op een snelle manier software ontwikkelen.

## Kenmerken

Visual FoxPro maakt gebruikt van een local cursor engine, strakke koppeling tussen de taal en de data en andere features. Het is een tool voor het bouwen van databaseoplossingen van verschillende groottes en voor verschillende platformen, bijvoorbeeld desktop- en client-server-omgevingen, of het World Wide Web.
Visual FoxPro is objectgeoriënteerd, dat wil zeggen dat er gebruikgemaakt wordt van klassen en objecten. Door objectgeoriënteerd te programmeren wordt een programma vaak overzichtelijker, omdat het meer structuur heeft en ook beter gespiegeld kan worden aan de buitenwereld.
XML-webservices gemaakt met Visual FoxPro kunnen gebruikt worden door XML-webserviceclients van Visual Studio .NET 2003, inclusief ASP.NET. XML-webservices gemaakt met Visual Studio .NET 2003 en elke andere standaard XML-webservice kunnen gebruikt worden door Visual FoxPro.

## Geschiedenis

De basis voor FoxPro is gelegd in de jaren 80 door het bedrijf FoxSoft met het product FoxBase als concurrent voor de destijds populaire databasetalen dBase en Clipper. FoxBase werd snel een begrip en dat was vooral te danken aan de snelheid. Het pakket liet qua performance alle anderen ver achter zich. Na FoxBase verschenen nog de pakketten FoxPro for Dos en FoxPro for Windows.
Met name de snelheid van de database was voor Microsoft reden om de technologie van FoxSoft over te nemen. De gepatenteerde Rushmore-optimalisatietechniek werd ook ingebouwd in de Jet-database-engine waarmee Access 2.0 100x (!) sneller werd dan de versie 1.0.
Daar bleef het echter niet bij, Microsoft ontwikkelde Visual FoxPro (versie 3.0), een volledig nieuw, objectgeoriënteerde datacentrische programmeertaal waarmee het voor de ontwikkelaar mogelijk werd om professionele client-server-oplossingen te bouwen voor kleine maar ook zeer grote bedrijven.
Visual FoxPro werd opgenomen in Visual Studio 6.0 en groeide uit tot een zeer populaire ontwikkelomgeving. Het aantal VFP-ontwikkelaars wordt geschat op 500.000. Met name in China en Japan is Visual FoxPro erg populair, mede vanwege de uitstekende codepage (tekenset)-ondersteuning.
Visual FoxPro kan overweg met vrijwel alle gangbare databronnen en laat zich met name uitstekend combineren met Microsoft SQL Server. Het bouwen van webservices, Active-X componenten, dll's etc. is allemaal geen probleem in Visual FoxPro.

## Tijdlijn

Een tijdlijn van de belangrijkste gebeurtenissen
| Jaar | Gebeurtenis |
| 1984 | Fox Software brengt FoxBASE uit. |
| 1985 | Fox Software brengt Multi-User FoxBase uit. |
| 1986 | Fox Software brengt FoxBASE+ MSDOS uit. |
| 1987 | FoxBASE+/Mac. Dit is het eerste Apple Macintosh-product van Fox Software. |
| 1987 | FoxBASE+ voor SCO Xenix is uitgebracht. |
| 1988 | FoxBASE+ voor de Apple Macintosh de eerste cross-platform xBase-tool. |
| 1989 | FoxPro 1989 1.0 MSDOS. |
| 1991 | FoxPro 2.0 Rushmore™ query-technologie laat snelle querying performance toe. FoxPro 2.0 introduceert ook een grafische Screen Builder en Report Builder en geïntegreerde SQL-ondersteuning. |
| 1991 | FoxPro 2.0 MSDOS. |
| 1992 | Microsoft fusioneert met Fox Software (een $173M-operatie) |
| 1993 | De eerste Windows-versie van FoxPro 2.5 |
| 1993 | FoxPro 2.6 voor Apple Macintosh is uitgebracht. |
| 1993 | FoxPro 2.6 voor Unix is uitgebracht. |
| 1995 | Visual FoxPro 3.0, FoxPro evolueert van proceduregebaseerde taal naar een object-georiënteerde taal. (codenaam: Taz) |
| 1995 | Visual FoxPro 3.0 voor Apple Macintosh is uitgebracht (codenaam: Speedy). |
| 1996 | Er is nooit een Visual FoxPro 4.0-versie uitgebracht. Wat begon als de betaversie van VFP 4.0 eindigde op VFP 5.0. (codenaam: Renard) |
| 1998 | Visual FoxPro 6.0 is uitgebracht. (codenaam: Tahoe) |
| 2001 | Visual FoxPro 7.0 is uitgebracht. (codenaam: Sedona) |
| 2003 | Visual FoxPro 8.0 is uitgebracht. (codenaam: Toledo) |
| 2003 | Microsoft lanceert Visual FoxPro Developer Center op MSDN. |
| 2003 | Microsoft brengt Service Pack 1 voor Visual FoxPro 8.0 uit. |
| 2004 | Microsoft brengt een publieke betaversie van Visual FoxPro 9 uit. |
| 2004 | Microsoft brengt VFP9 RTM uit. |
| 2005 | Microsoft brengt een publieke betaversie van VFP9 Service Pack 1 uit. |
| 2005 | Microsoft brengt VFP9 Service Pack 1 uit. |
| 2007 | Microsoft kondigt aan: Er komt geen VFP10 meer. Sedna (add-on op VFP9) wordt het eindpunt. |
| 2008 | De VFP-community heeft de verdere ontwikkeling van VFP ter hand genomen. Voorbeelden zijn de ontwikkeling van VFP studio (Graig Boyd en Bo Durban) in de isolated shell van VS 2008. Guineu van Christof Wollenhaupt (een wrapper rond oorspronkelijke VFP-code.) NetExtender en NetCompiler van eTecnologia uit Miami. NetExtender maakt de .Net-classes toegankelijk voor VFP. NetCompiler maakt pure CLR-code van VFP-code (64 bit-compiler) Hierdoor kunnen snelle database ontsluitingen worden gerealiseerd in Visual Studio. VFP Stack, een initiatief van Ken Levy, voormalig programming manager van Visual FoxPro. |

## Systeemvereisten

* Processor:
** Een pc met een Pentium-class-processor
* Besturingssysteem:
** Microsoft Windows 2000 met Service Pack 3 of recenter besturingssysteem
** Microsoft Windows XP of recenter
** Windows Server 2003 of recenter
* Geheugen:
** 64 MB minimum werkgeheugen (RAM) (128 MB of meer is aan te raden)
* Harde schijf:
** 165 MB beschikbare ruimte voor een typische installatie
** 20 MB beschikbare ruimte voor de Microsoft Visual FoxPro 9.0 Prerequisites
* Drive:
** Cd-rom- of dvd-rom-speler
* Beeldscherm:
** Super VGA 800 X 600 of een monitor met hogere resolutie en 256 kleuren