Il était dérivé de FoxPro (lui-même issu de FoxBASE), développé par Fox Software à partir de 1984. Fox Technologies a fusionné avec Microsoft en 1992, après quoi le logiciel a acquis de nouvelles fonctionnalités et le préfixe « Visual ». FoxPro 2.6 fonctionnait sous Mac OS , DOS , Windows et Unix .
Visual FoxPro 3.0, la première version « Visual », était initialement compatible uniquement avec Mac et Windows, et les versions suivantes (5, 6, 7, 8 et 9) étaient exclusivement compatibles avec Windows. La version actuelle de Visual FoxPro est basée sur COM et Microsoft a indiqué ne pas prévoir de créer une version .NET . xBase », dont la syntaxe est basée sur le langage de programmation dBase . Clipper et Recital (base de données) font également partie de cette famille .
Visual FoxPro, souvent abrégé en VFP, est étroitement intégré à son propre moteur de base de données relationnelle, qui étend les capacités xBase de FoxPro pour prendre en charge les requêtes SQL et la manipulation des données. Contrairement à la plupart des systèmes de gestion de bases de données , Visual FoxPro est un langage de programmation complet et dynamique qui ne nécessite pas l'utilisation d'un environnement de programmation généraliste supplémentaire. Il permet de développer non seulement des applications clientes traditionnelles , mais aussi des intergiciels et des applications web .
Fin 2002, il a été démontré que Visual FoxPro pouvait fonctionner sous Linux grâce à la suite de compatibilité Windows Wine . En 2003, cela a suscité des plaintes de la part de Microsoft : il a été affirmé que le déploiement du code d’exécution FoxPro sur des machines non-Windows violait le contrat de licence utilisateur final .
Visual FoxPro a connu une ascension fulgurante suivie d'une chute brutale de sa popularité, comme le montre l' indice TIOBE de la communauté de programmation . En décembre 2005, VFP a fait son entrée dans le top 20. En juin 2006, il a atteint la 12e place, ce qui en faisait (à l'époque) un langage de catégorie « B ». planète naine récemment découverte ) et basée sur le code source de VFP9, avait déjà commencé. Sedna est un ensemble d'extensions pour VFP 9.0, comprenant des composants xBase, afin de prendre en charge divers scénarios d'interopérabilité avec différentes technologies Microsoft, notamment SQL Server 2005, .NET Framework , Windows Vista, Office 2007, la recherche Windows et Team Foundation Server (TFS). Microsoft a publié Sedna sous licence de logiciel libre sur le site CodePlex . Microsoft a précisé que le noyau de VFP resterait propriétaire. Sedna a été publié le 25 janvier 2008. En mars 2008, tous les composants xBase de VFP 9 SP2 (y compris Sedna) étaient disponibles pour le développement communautaire sur CodePlex.
Fin mars 2007, la communauté hispanophone de FoxPro a lancé une campagne citoyenne sur MásFoxPro (« MoreFoxPro » en anglais ) afin de recueillir des signatures pour une pétition adressée à Microsoft, demandant la poursuite des mises à jour de Visual FoxPro ou sa mise à disposition en open source . Le 3 avril 2007, ce mouvement a été relayé par la presse spécialisée.
Le 3 avril 2007, Microsoft a répondu à la pétition par cette déclaration d'Alan Griver :
« Nous sommes très conscients de l'importance de la communauté FoxPro et cela a joué un rôle majeur dans notre annonce du 13 mars. Ce n'est jamais une décision facile d'annoncer que nous n'allons pas sortir une autre version d'un produit et c'est une décision que nous prenons avec la plus grande attention. »
Nous n'annonçons pas la fin de FoxPro : les applications FoxPro continueront bien entendu de fonctionner. Selon nos estimations internes, FoxPro 2.6 est plus utilisé que VFP, et FoxPro 2.6 n'est plus pris en charge depuis de nombreuses années. Visual FoxPro 9 sera pris en charge par Microsoft jusqu'en 2015.
Pour que Microsoft puisse continuer à faire évoluer FoxPro, il faudrait envisager la création d'un environnement de développement 64 bits, ce qui impliquerait une réécriture quasi complète du produit. Nous avons également investi dans la création d'une base de données évolutive avec SQL Server, notamment l'édition gratuite SQL Server Express. Concernant un éventuel partenariat avec un tiers, plusieurs grands clients FoxPro nous ont fait part de leur inquiétude : il leur serait alors impossible de continuer à utiliser FoxPro, car celui-ci ne proviendrait plus d'un fournisseur agréé. Nous avons donc estimé que la mise à disposition de l'environnement en open source sur CodePlex , qui concilie les besoins de la communauté et ceux des grands clients, constituait la meilleure solution.
Chronologie des versions
Toutes les versions listées sont pour Windows.
| Version | date de sortie |
|---|---|
| Visual FoxPro 3.0 | Juin 1995 |
| Visual FoxPro 5.0 | Octobre 1996 |
| Visual FoxPro 5.0a | Octobre 1997 |
| Visual FoxPro 6.0 | 18 mai 1998 |
| Visual FoxPro 7.0 | 27 juin 2001 |
| Visual FoxPro 8.0 | 1er février 2003 |
| Visual FoxPro 8.0 Service Pack 1 | 7 octobre 2003 |
| Visual FoxPro 9 | 20 décembre 2004 |
| Visual FoxPro 9 Service Pack 1 | 8 décembre 2005 |
| Visual FoxPro 9 Service Pack 2 | 16 octobre 2007 |
Exemples de code
Le langage FoxPro contient des commandes assez similaires à celles d'autres langages de programmation tels que BASIC.
Quelques exemples de syntaxe de base :
Exemples de « Hello World » :
Objet

- VFP dispose d'une vaste bibliothèque de classes prédéfinies et d'objets visuels auxquels on accède dans l' IDE par une feuille de propriétés (y compris les méthodes ), de sorte que le code tel que celui ci-dessus définissant les classes et les objets n'est nécessaire qu'à des fins spécifiques et pour le cadre des grands systèmes.
Gestion des données
Le langage offre également de nombreuses commandes pour la manipulation et l'indexation des bases de données. L'index d'aide de VFP 9 décrit plusieurs centaines de commandes et de fonctions. Les exemples ci-dessous illustrent la création et l'indexation des tables ; toutefois, VFP propose des interfaces de création de tables et de bases de données qui permettent de créer ces opérations automatiquement, sans avoir à écrire de code.
