Wiki Home

VFP Article By Burt Rosen

Namespace: VFP
I feel like I should be standing in front of a room of people announcing “my name is Burt, and I am a FoxPro programmer”. Does anyone know if there is a twelve step program called FPA – FoxPro Programmer’s Anonymous?

Right about now, many of you are probably asking ‘What is FoxPro, and why should I care’. FoxPro is a number of things, but the primary attributes are 2-fold. First, FoxPro is a programming language (the basic tool used to develop computer software), and second FoxPro is a database. Again you ask – why should I care?

If you are involved in using computers – you should care. If you are involved in purchasing software, you should care a lot. If you are involved in contracting to have software developed – this should be a major issue for you. Again, you ask why?

Most business computer applications involve one of 3 things – forms, pictures, or data (information). If you are dealing with forms – you are probably using a Word Processor (like Microsoft Word) or a spreadsheet (like Microsoft Excel). If you are dealing with pictures, either someone is providing the pictures to you, or you already know what software to use. In any case, graphic software is beyond the scope of this discussion.

My concern here is for those of you dealing with data. When faced with a ‘data’ problem – most people will choose one of three methods for dealing with it. They will either stick the data in a Word document – the worst possible solution, or they will put it into a spreadsheet, or they will put in Microsoft Access – an entry level database system.

Why is the tool you use important? Have you ever tried to insert a screw using a hammer? You can do it (sometimes), but the results will not be very clean. Alternatively, you can insert a nail using a screwdriver. Most likely result of this is a broken screwdriver. It is important to use tools that are appropriate for the project at hand. If you are processing data, you need to use a program that is designed for processing data – namely a database system.

Microsoft’s most popular database tools are Access and SQL Server. Access is a user-oriented database system that is reasonably well suited for low end applications. This is a tool that someone can use to throw together a quick and dirty application for a data problem. There were several key terms I used above. First of all, access works well for use by a single individual – it does not scale well for use by multiple people. Secondly, I said quick and dirty. If the data problem is a one-time issue, Access will probably be acceptable. But I do not recommend using access for a system that will be used on a regular basis for months or years.
On the high end, Microsoft has SQL Server. This is a development environment designed for Corporate Enterprise level applications. People developing large applications for large corporations will be using SQL Server, Oracle or IBM DB2 databases.

But what should people and organizations that are in the middle do for data solutions? They need real solutions to real problems that are too big for access, but they do not have the budget or equipment to support SQL Server or its competitors. What is their solution? That is where FoxPro comes in. FoxPro, or to be more technically accurate – Visual FoxPro (VFP), is a database with an integrated programming language. It is ideally suited for mid-range type data problems. The great news in all of this is that VFP is extremely scalable. It can readily accommodate a small database running on a desktop with several dozen records. It can also handle a database with millions of records running on a fully distributed network. The good news is that it also handles all of the sizes in between and handles them very well.

So, you might ask, what is my problem? When I tell people that I am a FoxPro programmer, the most common reaction that I get is “oh, is that still around?”. People think that FoxPro disappeared at least 10 years ago, and that all that is left is legacy programs that are not worth re-writing. The truth is that Microsoft is releasing VFP version 9 in September. VFP as a development tool is alive and thriving, and in my opinion, it is the most powerful and versatile development environment on the market today.

So next time you are looking for a database solution, look for something written in VFP. I think you will find there are powerful, reasonably priced solutions available with great flexibility and performance. If you need a special application developed, ask for a FoxPro developer.

In the meantime, I will stand up and confess “I am a FoxPro Programmer, AND I AM PROUD OF IT!!!”

Burt Rosen

This article was originally published in CWCE Magazine (
(c) 2004 by Burton J. Rosen
Burt- Great article! Have you ever considered the implications of being able to substitute an SQL (or Oracle or MySQL or...) back end for VFP tables? For the developers, with proper design, it can be done in a way that could be almost painless. It can be a piece of cake for the end users: they may not even notice the change. Randy Bosma
Randy - Thank you. Yes, although I have considered using VFP as a front end to a different back end database, I have never done so personally. Two comments - that concept would too complex for the target market of the magazine that is publishing the article. Second - unless the database involved is very very large, I do not see a great advantage to using SQL/ORACLE/etc. on the back end. The major exception would be in a shop that mandates a specific back end database. In that case, VFP would make an excellent front end with whatever back end the organization mandates.
Burt Rosen
"The truth is that Microsoft is releasing VFP version 9 in September."

Really? That sounds like a bit of misinformation or wishful thinking. Safer to say this year.
Category VFP Marketing
( Topic last updated: 2004.08.21 07:45:16 PM )