Visual Fox Pro

An exceedingly cool object-oriented data-centric application development environment from Microsoft that everyone, especially the pea-brained executive dweebs at Microsoft, should pay more attention to. -- Steven Black.

I was a FoxPro pro back when it ran on a 286. It was light-years ahead of dBase IV - it made that poor thing look pathetic. I simply could not believe how FP had un-klutzed the world of character-based UIs. -- PCP

It could be called one of the top "work-horse" tools for ad-hoc data chomping and RAD Crud Screens. All the different directions that vendors have taken it over the years has given it a lot of confusing baggage for newbies; however, this also lets one use the style they want, whether it be Ex Base command-line data manipulation (AKA "dot-prompt" in the old days), Table Oriented Programming, or OOP.


Please note, that Microsoft has finally "killed" VFP: msdn2.microsoft.com

There will be no VFP 10, but "Sedna" (the former code name for the next version of VFP) will be released, free of charge.

My understanding is that Sedna is a set of tools, not VFP itself.


I agree completely and think more people should take a look at Visual Fox Pro if they are working with data on a Win32 platform. -- Maurice de Beijer


Check out Steven's Foxpro Wiki (run by a Visual Fox Pro web engine) at fox.wikis.com .


Cetus Links has a good collection of Visual Fox Pro links at www.rhein-neckar.de .

You think VFP is so cool... and you know why you are right. Bye VB and Access and hello VFP!


You can say that again. Don't forget the universal thread at www.UniversalThread.com (The Fox Pro section has a huge set of resources, and I believe the whole site is WRITTEN in Visual Fox Pro. Also, check out www.Foxite.com


Been waiting for someone to mention VFP. Now is anyone doing XP in it? Hey maybe it will be one of the tools split off from Microsoft when its broken up? Wouldn't it be cool to have VFP cross platform again? Dare I dream Open Sourced? -- Michael Chean


I'm looking for a VFP unit testing tool that I can incorporate into my tiny little XP effort. Any leads much appreciated!

Try Fox Unit, www.foxunit.org Version 1.0 release(s) 8/10/2004.


Why use Visual Fox Pro instead of something like Java or Smalltalk? I really have a hard time with the Dbase paradigm, and even back in the days when I did used it I much preferred Clipper with Class(y) or Visual Objects to Dbase, Foxpro, or Visual Fox Pro.

Because Clipper had a compile step and no interactive mode. In addition, some of us are not fond of OO, thinking it has limited niches. Also Clipper had no GUI at the time and Fox Pro was almost just as fast in my speed tests. I agree that the XBase language had some rought-spots though. Unskilled programmers could easily make a mess with it. But it made table-centric programming easy. You didn't need arrays and global variables much because it was easy to put those into tables.


I am no expert in Small Talk or Java, nor VFP for that matter, but I can think of 2 reasons off the top of my head for using it.

Its got the database built in. You can do a lot of data prototyping very quickly, and you don't have to learn something outside the language.

2. There is still a very good, and helpful Foxpro community out there with 2 great publications:
Fox Talk (www.foxtalknewsletter.com ) and Foxpro Advisor (foxproadvisor.com ).

p.s. Oh and by the way one of the best implementations of Wiki that I've seen is written in Foxpro - check out the Fox Wiki at fox.wikis.com . It's interlaced with VB (vb.wikis.com ) and SQL Server wikis (sql.wikis.com ) by defining namespaces that you can control.


MS bought FoxPro from someone else, then visual-ized it. This was back in the days when they had no offering in the database niche. -- PCP

Not entirely true IIRC. The original company already GUI-tized it just before MS bought it such that the first version under MS had a GUI version (although I think it was released for the Mac before MS, fuzzy memories). But the GUI was changed around not long after MS perchased it. More OOP and VB-like features were added to the GUI. Version 3.0 was first with the revamped GUI. This pissed off a lot of Mac users because the Mac version was not updated to reflect the overhauled GUI and cross-platform development came to an end.


Funny Enough, it's STILL their best offering in the database niche. We develop a lot of software and almost all of it is in VFP. We're currently making a nice little invoicing app with home-made class libraries that would make a VB user jealous.

For example, we made an easily implementable incremental search class that you dump on a form (a "screen" or "Window", for non-VB/VFP/MS programmers), tell it what field it's to focus on, and when you type in it (it's a textbox class), it automatically readjusts the table's filter, altering only what it had previously added, and leaves the rest alone, even if you've messed with the filter 5 or 6 times since. You can use a multiple number of these on one form just by dumping it in and pointing it in the right direction.

The best part is that we didn't have to mess with API's, OCX's Dll's or anything, as the ability to do all that is built right into the language. The whole class is a few mere kilobytes. And that is the inherent strength of VFP.


The originator of Foxpro was Dave Fulton. I don't think that you will find many developers in the VFP community who will complain about MS's taking over Fox (that is who are still with the product). With the exception of discontinuing the Unix version, and MS's relegating VFP to a secondary position to their main product VB, generally I think the community is happy with its progress. Some in community are always wondering when the other shoe might fall, and VFP will be dropped, but so far so good. -- Michael Chean


I worked with Fox Pro during the Fulton years and all the way up to Fox Pro For Windows (precursor to VFP) and was jolted somewhat by the change to the MS Object model. I really liked Fox Pro-the-language, but never really wrapped my head around VFP in all its glory.

I have recently laid hands on Xbase Plus Plus by Alaska Software. I haven't really had a chance to do anything meaningful with it, but it evolves into the GUI environment along very different lines. Likewise, there is a Unix/Linux product called Flag Ship. Both of these products derive largely from Clipper Language 5.2, with adaptations that take advantage of some of the Fox Pro advances. They are both native 32-bit implementations.

I am quite reluctant to give up more than 10 years of Intellectual Capital in the Fox Pro dialect, but I realize that the legacy product is now pretty tapered off, and I need a more current tool.

I wonder if anyone here has experience with either Xbase Plus Plus or Flag Ship. A comparison from someone with dirt under his nails would be instructive.

Yeah, I used to be able to crank out applications at lightening-speed with Fox Pro and other XBase derivatives. I cannot get to that speed with newer products. It takes twice as long and twice as much code. It was the tight integration with data tables I think. No pesky data access layers or over-worked DBA's in the way. True, one could make a big mess if they did not know what they were doing or didn't give a fluck, but that is true of just about anything, no? Drink to the good ol' days. *clink clink*


: I think you'll find you're much mistaken. While VFP is indeed a niche language these days, it's still going strong and has routine upgrades. Version 9 is in the works and it is still a superb tool for making Windows programs, especially those centered around databases of any sort - standalone, SQL, Oracle, and produces a front end MUCH faster than its counterpart - Visual Basic.net which everyone seems to use for building windows GUI's these days. Tip: you can build the exact same program with identical GUI in ONE QUARTER of the time if you use VFP. The data and ODBC handling capabilities are built into the language rather than forcing you to use ODBC API's and activeX controls.

{Version 9 was released at the end of 2004. -- Ken Dibble )

Also, it's getting more and more versatile. One enterprising (read as "bored") programmer re-created a Windows version of the old classic 'PONG' with it and nicely upgraded the graphics. For those of you who think VFP is dead, you might want to give it a second look. I have quite a few programs on the market just recently created with VFP and I don't plan to change any time soon.

Addendum: I haven't played with it much, but the new version of VFP has an XML generator so you can effectively make a "cross platform" program, so long as the OS has a web browser.


Version 9 of Visual Fox Pro is being worked on as we 'speak' to enhance its ability to play in the sandbox with .NET and to extend its usability. While its use has indeed curtailed in some corners, it is quite popular in many parts of the world (non-USA), and is still quite popular for desktop and small network applications. I do not intend to drop it from my stable of developer tools. I just cannot rely on it as my only source of revenue. --- Kristyne Mc Daniel


There is a Foxpro Wiki that also allows Java Script (see Wiki With Programmable Content) example a page with Tic Tac Toe: fox.wikis.com


Somebody needs to challenge the view that Visual Fox Pro is absolutely fabulous. Here are some of the problems:

The compiler does not warn you of type errors. You can spend hours looking for errors that a Static Typing compiler would simply list to you.

Neither does Small Talk or Python Language. Does that make them "bad"? This is not the place for the neverending static versus dynamic typing debate.

Visual Fox Pro is not winning a lot of converts these days, so the market potential is simply to not lose any existing believers. Each new version needs to bring something new and exciting and at the same time be Backwards Compatible. The present language is a cocktail of halfbaked ideas and clever warts.

If you know the tool well, you can still run rings around Java and other new bloatfads.

Microsoft Corporation has hundreds of courses in their courseware portfolio, not one on Visual Fox Pro development.

So. There are other sources of education.

Precious few books are published on the topic of Visual Fox Pro development, as compared to development using other tools and languages.

Probably because it does not change as much as the current Deprecation-A-Day fads. Thus, a used book is almost as good as a new one, so there is less need for new books. I find at least 50 different titles on Amazon under "Fox Pro". Sure, some are version 6 and so forth, but it does not matter much. Plenty of choice.

Visual Fox Pro is not hooked into the Microsoft Dot Net technology, which is the big development effort from Microsoft Corporation.

Since when is being hooked into Microsoft stuff considered such a good thing? Foxers generally use RDBMS calls or delimited files as the main communication conduit between systems.

The Visual Fox Pro database has limitations on number of joins and subquery depth that can be hard to get around.

That is why it lets you tie into Big Iron RDBMS for bigger jobs. Besides, there are ways to work around such.

(Version 9 has removed a lot of these limitations on SQL SELECT queries. -- Ken Dibble )

In a multiuser application the native Visual Fox Pro database typically exists as a collection of files on a network share where every user has full access. This is a security problem. Access to the database is done through normal file operations. Compared to using a Relational Database which utilizes the server processor, it is not fast.

It is a matter of the right tool for the job. It can also serve as the front end for a Big Iron RDBMS if need be. As far as its speed profile, it depends on what you are doing. Unlike a dedicated RDBMS box, it naturally does Distributed Computing when each client chomps the data. Thus divides up the CPU workload. As far as "not fast", I've seen Fox Pro stay even with MS-SQL server, which even had more RAM.


An article on Microsoft's discontinuation of Visual Fox Pro and the history of the product.

Interesting quotes:

Quote: However, Fox Pro remains a rock star in places like China and Eastern Europe. A 2005 presentation by Ken Levy, then Microsoft’s Visual Fox Pro product manager, in Sofia, Bulgaria, reportedly drew 1,000 attendees. "The way the French are about fashion, the Americans are about technology," Cully says. "We are always throwing out what we’ve got for the latest thing. But in other countries, there are still lots of Fox Pro users because they are focused on getting the job done in a cost-effective way, with little regard for the buzzword of the day." {emph. added}

Quote: "They said Power Builder was going to kill Fox Base back in 1994. Nobody uses Power Builder anymore," says Andrew Mac Neill, a Canadian Fox Pro developer and evangelist. "Then they said Paradox was going to be the next big thing. But Fox Pro has always been able to evolve. So this is not a death announcement by any stretch."

Quote: Fox Pro, though wildly popular, became a burden and an opportunity cost for Microsoft. “Every time Microsoft sold a copy of Fox Pro, I think Bill Gates thought about all the money they were losing from not being able to sell a copy of SQL Server,” Cully says.

Quote: Fox Pro is a "kickass product," says Alec Gagne, president of Crime Star, a small vendor that has embedded Fox Pro in its namesake police department management software for nearly a decade. "A lot of things that are now finding their way into .Net for handing data, frankly, I saw a long time ago in Fox Pro," he says. "While .Net is getting significantly better at handling data in its development tools, it’s just not there yet."


See also Fox Pro, Ex Base


See original on c2.com