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. -- StevenBlack.

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 CrudScreens. 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 ExBase command-line data manipulation (AKA "dot-prompt" in the old days), TableOrientedProgramming, or OOP.


Please note, that Microsoft has finally "killed" VFP: http://msdn2.microsoft.com/en-us/vfoxpro/bb190293.aspx

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 VisualFoxPro if they are working with data on a Win32 platform. -- Maurice de Beijer


Check out Steven's Foxpro Wiki (run by a VisualFoxPro web engine) at http://fox.wikis.com.


CetusLinks has a good collection of VisualFoxPro links at http://www.rhein-neckar.de/~cetus/oo_visual_foxpro.html.

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 http://www.UniversalThread.com (The FoxPro section has a huge set of resources, and I believe the whole site is WRITTEN in Visual FoxPro. Also, check out http://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? -- MichaelChean


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

Try FoxUnit, http://www.foxunit.org Version 1.0 release(s) 8/10/2004.


Why use VisualFoxPro 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 VisualObjects? to Dbase, Foxpro, or VisualFoxPro.

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 FoxPro 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 SmallTalk or Java, nor VFP for that matter, but I can think of 2 reasons off the top of my head for using it.

  1. 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 (http://www.foxtalknewsletter.com) and Foxpro Advisor (http://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 http://fox.wikis.com. It's interlaced with VB (http://vb.wikis.com) and SQL Server wikis (http://sql.wikis.com) by defining namespaces that you can control. -- MichaelChean


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.

-- DuffyWeber


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. -- MichaelChean


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

I have recently laid hands on XbasePlusPlus by AlaskaSoftware. 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 FlagShip. Both of these products derive largely from ClipperLanguage 5.2, with adaptations that take advantage of some of the FoxPro advances. They are both native 32-bit implementations.

I am quite reluctant to give up more than 10 years of IntellectualCapital in the FoxPro 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 XbasePlusPlus or FlagShip. A comparison from someone with dirt under his nails would be instructive.

-- GarryHamilton

Yeah, I used to be able to crank out applications at lightening-speed with FoxPro 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. -- KenDibble )

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.

-- DuffyWeber

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 VisualFoxPro 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. --- KristyneMcDaniel


There is a FoxproWiki? that also allows JavaScript (see WikiWithProgrammableContent) example a page with TicTacToe: http://fox.wikis.com/wc.dll?Wiki~TicTacToe~Wiki


Somebody needs to challenge the view that VisualFoxPro 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 StaticTyping compiler would simply list to you.

VisualFoxPro 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 BackwardsCompatible?. The present language is a cocktail of halfbaked ideas and clever warts.

MicrosoftCorporation has hundreds of courses in their courseware portfolio, not one on VisualFoxPro development.

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

VisualFoxPro is not hooked into the MicrosoftDotNet technology, which is the big development effort from MicrosoftCorporation.

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

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

In a multiuser application the native VisualFoxPro 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 RelationalDatabase which utilizes the server processor, it is not fast.

-- GeirGundersen


An article on Microsoft's discontinuation of VisualFoxPro and the history of the product.

http://computerworld.co.nz/news.nsf/tech/BDEDFAB3443D4BDACC2572BB0013A222

Interesting quotes:


See also FoxPro, ExBase


CategorySoftwareTool


EditText of this page (last edited December 23, 2007) or FindPage with title or text search