Wiki Home

Visual FoxPro Bullet Points


Namespace: VFP

A Place To List Why We Use Fox

Premise: You're going into a meeting where you expect to be asked by skeptical technical folks why you're a Fox developer, or why you propose to use VFP going forward.

Here's your Powerpoint slide.

(To keep this topic clean, please place discussion, objections, clarifications, and other elements here: Talk : Visual FoxPro Bullet Points )

Productivity Issues

  1. Fully Object Oriented.
  2. Integrated tools for forms, menus, reports, debug, help, installation.
  3. Native metadata for all VFP's structures allows complete manual/programmatic editing of metadata which is priceless for application-wide changes that might otherwise take significantly longer to perform manually.
  4. Excellent front-end for back-end data stores.
  5. VFP is also extremely inter-operative with a wide variety of both legacy and modern data formats.
  6. Many development / run paradigms (EXE's, compile on the fly FXP's, COM DLL's, EXECSCRIPT, etc...).
  7. The Command Window arguably cannot be beat for interactive data management.
  8. The Command Window is useful at design time and in suspended run time.
  9. VFP is layer-agnostic.
    • It makes a great front-end for back-end databases in 2-tier designs because of its connectivity and data manipulation abilities.
    • It makes excellent middleware components in 3-tier designs for the same reasons.
    • In all cases it makes for excellent and notably un-bloated client applications, again for mostly the same reasons as above.
    • VFP can also be used to create monolithic applications.
  10. Data handling capability is encapsulated
    • Database commands are integrated in the language.
    • Data handling commands are integrated in the language, which benefits applications that manipulate data. For example, the downstream quering and processing of result set cursors is an absolute snap in VFP.
    • No notable weaknesses. VFP is excellent for manipulating numeric, string, text, binary, XML....
  11. Good COM story.
  12. Good XML story.
  13. Reasonable .NET interoperability story. Expect this to get better going forward since VFP is from Microsoft.
  14. Good backwards-compatibility story. Legacy Fox systems have many paths forward.
  15. Flexible syntax and execution.
  16. Easily localized.
  17. Possibility to subclass ActiveX components (OCX).
  18. The ability to compile code at runtime via execscript()/&,
  19. Visual class designer (visual subclassing).
  20. Many of the VFP IDE tools are open, extensible, and table based, etc. VFP includes the source code to the Xbase components.
  21. Internationally available (Spanish, German, French IDE) due to licencing of Microsoft Resource Localization Toolkit.

Notable Development Capabilities

  1. Integrated development environment
  2. Powerful local data engine
  3. Hybrid database access (mixed record- or set-oriented)
  4. Hybrid programming model (mixed procedural and object-oriented)
  5. Explicit physical containership-model for most visual and some non visual base classes, instead of simple-frame as found in many other MS products, notably VB, or none at all as in C++.
  6. Interactive (and scriptable) design tools
  7. Small runtime.

Licensing Issues


The VFP Revenue Model, and specifically the VFP Revenue Model Problems, is probably the most important reason, among others (see Other Issues below), why Microsoft doesn't push VFP in any real marketing sense. Hence the skepticism found in IT towards VFP: It's not, and never is, on the Microsoft Band Wagon.

Stability Issues

  1. Typically runs fine on old boxes, with old OSes, and you typically won't ever need a cutting edge OS upgrade or service pack upgrade to run a next version, nor will a future service pack or security patch play havoc with your Fox applications.
  2. Stable, mature, complete development environment.
  3. Stable, mature supporting frameworks for UI, middleware, data, web.
  4. Well established and recognized best practices.
  5. Low rate of change.
  6. On balance, well directed evolutionary change.
  7. XCopy deployment: Copy your Exe and the RT-DLL into your Directory, that's all you need. (Works even with most ActiveX; nothing to register)

Developer Community Issues

  1. Dynamic and experienced developer community, wired since the early 1990's.
  2. Unparalleled peer-support for those who chose to be connected.
  3. International developer community aspects.
  4. Excellent grapevine for locating and evaluating potential developers.

Other Issues


If we're talking about a Web Application, then many of the headaches normally associated with *some* legacy FoxPro experiences, namely
  1. Client-side installations.
  2. Network shares required.
  3. Volume of network traffic.
  4. Tables accessible by other applications.
... just don't exist, and as go your web servers (physical security, network security, performance) so goes Visual FoxPro.

The recently added TCO (total Cost of Ownership) points moved, for now, to Talk : Visual FoxPro Bullet Points -- Steven Black
Category VFP Marketing Category 3 Star Topics
( Topic last updated: 2010.12.26 08:46:40 PM )