Last updated: February 12, 2019
Visual FoxPro: You Need This Old School Programming Language In 2019.
Visual FoxPro is an object-oriented programming language, as well as a development environment, application platform, and database engine.
It started life as FoxBASE in 1984, and had what was — at that time — the fastest database management system available. This was a derivative of the dBase systems designed in the late 1970s. At that point was FoxPro was a programming language with built-in database system.
Fox Technologies, the company that created FoxPro, merged with Microsoft in 1992. In 1995, Visual FoxPro 3.0 was released. This was the first “Visual” version (the last non-visual version, 2.6, was released in 1993). This added a drag-and-drop GUI editor and development environment, very similar to Visual Basic.
The language was never hugely popular but it did decently well, peaking in 2006 at number 12 in rankings of language use. Moreover, it grew an extremely dedicated developer community which continues to use and extend the language today.
That enthusiastic developer community was extremely disappointed when Microsoft announced in 2007 that there would be no future versions of Visual FoxPro. The last official update to Visual FoxPro was a set of extensions which were released in 2008.
In response to petitions and general frustration from the VFP community, large portions of VFP have been released as Open Source and are available from CodePlex. Unfortunately a working runtime cannot be created from this collection, and the core of VFP remains closed-source. Microsoft’s intentions surrounding the release of VFP to the development community are unclear, at best..
Getting Visual FoxPro
The only way to get an officially licensed full copy of Visual FoxPro from Microsoft is to download it through their Subscription Service. Once you have created an account, you can find available FoxPro Downloads. Unfortunately, you have to purchase a subscription product to be able to download FoxPro and you cannot purchase FoxPro by itself. It only is available as a sort of side benefit to purchasing another product, such as Visual Studio.
There are people selling used or unopened copies of Visual FoxPro, but there is some potential risk here (at least one reviewer apparently received pirated software).
Visual FoxPro Resources
Because of its long history and dedicated following, there are a lot of resources for people who want to learn and use Virsual FoxPro.
Be sure to check out Visual FoxPro Developer Center, Microsoft’s Visual FoxPro page.
- Learn Visual FoxPro Free: a large collection of video tutorials. There is also premium content available.
- FoxStuff: a large collection of articles and tutorials on Visual Fox Pro, from Mike Lewis Consultants, a Visual FoxPro consultancy.
- Tutorial: Creating A FoxPro Application: a step-by-step walkthrough from the Computer Science department at Trinity University.
- Fox Pro Tutorials: this website is kind of a mess, which is unfortunate because the information on Visual FoxPro 9 is pretty extensive and highly browsable.
- FoxPro Wiki: over 7,000 articles on FoxPro topics. Perhaps the best page here is the collection of Really Stupid Tweets about FoxPro.
- The Fox Show: a long-running podcast series on Visual FoxPro. It seems to have gone dormant in 2015, but there is a decade of great information still available.
- Visual FoxPro Forum: large online community of VFP developers.
- Southwest Fox Conference: annual meeting of Visual FoxPro developers.
Visual FoxPro Tools
- Craig Bailey’s Recommended VFP Tools: this is just a handful of recommendations on Visual FoxPro tooling, but they are definitely worth looking into.
- Craig Boyd’s three utility libraries for VFP: these are essential libraries created by one of the most well-respected members of the VFP developer community. Boyd was awarded the FoxPro Community Lifetime Achievement Award in 2012.
- Visual FoxPro Tools: large collection of VFP tools and add-ons.
- Open source add-ons for Visual FoxPro 9.0: an effort to provide free and open source tools to the FoxPro community.
- Guineu: an alternate Visual FoxPro runtime environment.
Other VFP Links
- Programming World — Visual FoxPro Archive: a bit of a hodge-podge of code examples and links to other resources. Of particular interest might be several downloadable ebooks on earlier versions of VFP.
- Example FoxPro Applications: a large collection of Visual FoxPro apps which can be downloaded, studied, or modified.
Books on Visual FoxPro
- Hentzenwerke Publishers has a number of books on FoxPro, spanning versions 6 through 9, and covering a wide range of intermediate and advanced topics. Hentzenwerke books that are still particularly relevant include:
- Visual FoxPro Made Simple: this in-depth book covers the last four versions of VFP.
Should I Learn Visual FoxPro?
Well, it depends.
There is a common misconception that the most lucrative careers in development involve knowing the latest, greatest, trendiest languages. It turns out that this is only true in very narrow sectors — mostly startups focused on web applications development.
Visual FoxPro was released in 1984 and was discontinued in 2010. That’s 26 years of continuous use by many thousands of companies building applications in dozens of industries. A great deal of this software is still in use, and needs to be maintained, replaced, extended, or otherwise dealt with.
And what types of companies have this sort of legacy software? Well established companies that have been doing business in solid industries for at least a couple decades. These are companies that can afford to pay well, and — in many cases — the legacy technology is mission-critical, so they are often willing to pay well. Additionally, because most people would rather work on fun, new languages, there are relatively few developers who are both willing and able to handle Visual FoxPro.
Legacy languages like Visual FoxPro — along with others such as Visual Basic, Pascal, and Cobol — might not be trendy, but they can be very lucrative for developers who take the time to learn them.