The Visual FoxPro software development system is used in designing sophisticated database applications. Visual FoxPro is an optimal software development platform for many situations and work environments. According to C I Corporation, a Washington DC based software development company, the following are the advantages and disadvantages of using Visual FoxPro for your software development:

Visual FoxPro Advantage - Programming tools

With Visual FoxPro, procedural Xbase and object-oriented (OOP) programming can be combined to create this planet's most powerful and sophisticated software applications. Xbase and OOP provide the developer with tools to manipulate data, non-visual program objects, and GUI objects with pinpoint control. This allows the design and development of user-friendly applications that can manage highly complex information and business processes. Visual FoxPro is by far the best tool for software development projects and database applications that are central to an organization's information management.

Visual FoxPro Advantage - Flexibility

Visual FoxPro exposes an extremely large quantity of properties, methods, and events (PEMs), which can be accessed and manipulated with VFP programming code. By combining Xbase and OOP with PEMs, developers can create applications which provide maximum ease of use and high levels of sophistication at the same time. This type of software development gives Visual FoxPro an unparalleled advantage over most, if not all, competing software development products.

Visual FoxPro Advantage - Data driven applications

Due to it's ability to concurrently open and manipulate an almost unlimited quantity of tables and cursors, Visual FoxPro has become an indispensible software development tool for creating data driven software applications. This kind of flexibility extends data functionality and the types of data that can be utilized within a software application. Data driven functionality can be used to automatically configure an application to individual preferences and configure interfaces according to changing conditional data. In a properly designed Visual FoxPro application, the interaction between "data" and "Interface" is continuous and dynamic (as it should be).

Visual FoxPro Advantage - Data processing and analysis

Visual FoxPro is a highly efficient and flexible tool for creating data processing routines and analyses for large and dispersed volumes of data records. Visual FoxPro provides the ability to create the same types of standard SQL queries, which are included with most other database development products.

However, the Xbase language allows data processing to go above and beyond the standard SQL query. Xbase is able to process data in ways that traditional SQL statements simply cannot handle. During software development, a programmer can create programs which use only Xbase, or use Xbase and SQL in mutually serving combinations. Regardless of which method is used, the ability to use both Xbase and SQL has made Visual FoxPro the leading software development tool for processing and analyzing large complex volumes of data.

Visual FoxPro Advantage - Supports high volumes of data

Visual FoxPro is the perfect solution for organizations with moderate to high levels of data transactions. Each data table within a Visual FoxPro database can support up to 2 Gigabytes of data or 1 billion records. Keep in mind that this capacity is for "each" table within a database, not the entire database. If software development is done properly, this provides you with an almost unlimited database capacity . With proper database management, Visual FoxPro will easily and efficiently handle "most" user environments and situations.

An unsuitable environment for a "total" Visual FoxPro solution, would be one where there are "extremely" high numbers of concurrent users (example: thousands), "extremely" high numbers of transactions per day (example: millions), and an "extremely" high priority on security. In these cases, a product such as SQL Server or Oracle should be considered. Although, even in these cases, Visual FoxPro can be combined with any of the above products in a client/server configuration.

Visual FoxPro is by far the most cost effective and efficient software development solution for the medium to large size company.

Visual FoxPro Advantage - Web application development

Visual FoxPro is the ultimate software development tool for building Internet applications. VFP is a powerful software development tool for building the next generation of web applications, including web services and desktop software applications that efficiently send and receive data across the Internet. The future of the Web is about using the Internet as a global network, where we can connect our desktop and web site applications to remote database servers/services, which reside on the Internet. Visual FoxPro, along with the new ".Net" technologies, will be a leader in this second wave of the Internet.

Visual FoxPro Advantage - Third party technologies

FoxPro has been around for a very long time. During the past 10+ years, many third party software development companies have created add-on products for FoxPro and Visual FoxPro. This has resulted in Visual FoxPro having access to an extremely wide variety of "add-on" components. This gives software development professionals the tools to build applications which extend beyond the native functionality of Visual FoxPro. When you combine the native power/flexibility of Visual FoxPro with the wide availability of compatible third party components, there is not much that cannot be built using Visual FoxPro.

Visual FoxPro Advantage - Maturity and Stability

After 10+ years of continuous improvements, FoxPro has become the most stable and bug free software development system on the market. The stability of the Xbase foundation has been with FoxPro from the start, with cutting edge technologies being added to this foundation over the years. Each new version of Visual FoxPro has proven it's stability and reliability, with many thousands of high level software development companies and end-user organizations to confirm this reliability.

Visual FoxPro Advantage - A complete development tool

Visual FoxPro is a unique system, in that it combines tight native data integration with high level software development technologies. This takes Visual FoxPro far beyond other products, which are either focused on database management or software development technologies. Visual FoxPro has the best of both worlds, combining both powerful database management capabilities and sophisticated software development technologies.


As with any software development product, there are environments where Visual FoxPro should not be used as a "complete" solution. However, Visual FoxPro is very often the best tool for creating and managing small databases, moderate size databases, large databases, and highly complex software applications for the desktop and Web.

We would recommend a different product in the following situations

1) Your organization processes "extremely" large quantities of records per hour. A high end database server such as "SQL Server" or "Oracle" would be recommended in this instance. Although, Visual FoxPro software development could be used to build a Front-end to these database servers.

2) Your application will require "extremely" high levels of concurrent usage. A high end database server such as "SQL Server" or "Oracle" would be recommended in this instance. Although, Visual FoxPro software development could be used to build a Front-end to these database servers.

3) High levels of administrative security are required. We would recommend "SQL Server" in this instance. Although, Visual FoxPro could be used as it's Front-end.

4) Your organization requires a software development tool that can be easily used by non-programmers to make modifications. Depending on other circumstances, we may recommend Microsoft Access in this situation. The development and upgrades of a Visual FoxPro application requires the expertise of an experienced software developer. Visual FoxPro is not recommended as a database programming tool or software development tool for users or programmers with little or no programming experience. Microsoft Access provides use-friendly tools for users with little or no database management/programming expertise.

5) The entire database application needs to be extremely portable. Depending on other circumstances, we may recommend Microsoft Access in this situation. The one file system of Microsoft Access facilitates easy migration of data and complete applications between computers.

Note: All of the above information is based on the observations of C I Corporation. This information should not be used as a replacement for the technical requirements, capabilities, and recommendations presented within your Visual FoxPro product documentation.

If you find that Visual FoxPro is not suitable for your needs, please review our Microsoft Access page.

If you have questions regarding Visual FoxPro software development or would like to inquire about our services, please write You may visit our web site by clicking on our home page link (below).

2003 Cicrosoft. All Rights Reserved.