Wiki Home

Visual FoxPro Description


Namespace: WIN_COM_API
From the introduction to VFP on the Cetus Links at http://www.cetus-links.org/oo_visual_foxpro.html:
Intro
  • Visual Foxpro is a dynamic object oriented language that supports multiple class libraries, a class browser. It provides programmable dynamic (run-time) subclassing, and data dictionary capabilities. Microsoft Corporation released Visual Foxpro in June 1995, shortly before the introduction of Windows 95. Similar to Visual Basic, Visual Foxpro (VFP) is a RAD tool that uses ActiveX visual components, and interoperates through OLE automation or by creating COM servers. VFP can also subclass ActiveX components and COM automation objects.
  • Like Smalltalk, Visual FoxPro operates on dynamic inheritance. It instantiates classes from a library or from base classes. It can also modify and save classes - including contained objects into the class library at run time. VFP Wizards provide UML re-engineering and code generation with Rational Rose and Microsoft Visual Modeler.
  • There are two major versions of Visual FoxPro: VFP 5.0 (and beyond), first released in September 1996, runs exclusively on 32-bit Windows operating systems. VFP 3.0 released in 1995, runs on 32-bit and 16-bit versions (Windows for Workgroups, 3.1, 3.1.1) as well as the Macintosh, but does not provide complete ANSI SQL or COM server building capabilities.
  • Visual Foxpro is one of several OO 4GLs, languages that combine OOP and inheritance with native SQL and other relational database capabilities. These languages tend to treat simple variables, object properties, and table fields similarly, allowing operations that include all three. In addition to VFP, three languages: Visual dBase, Alpha 5 Pro, and Visual Objects were also "xBase" languages, meaning they evolved from dBase II/III. Visual dBase 7, from Borland International, now an object oriented language is the direct descendant of dBase. Visual dBase provides some interesting Java-like OO extensions such as string classes and methods. Alpha 5 Pro from Alpha Software is based on a xBase variant called "xbasic." Visual Objects, which evolved from Clipper, was the first xBase language to include object extensions. However, Centura, originally SQL Windows and prior to that, Superbase were the first 4GL on Windows and both now have OO extensions.
  • Finally, PL/SQL from Oracle Corporation for Oracle 7 and Oracle 8 is also an OO 4GL. It is not based on xBase, and is a server language rather than a Windows client, but does provide both native SQL as well as classes and objects. VFP and other Windows clients interoperate with PL/SQL through ODBC and OLE Objects for Oracle (OO4O). (See Other OO 4GL Compiler / Interpreters).

What does all that mean?
Visual FoxPro (VFP) is a programming package sold by Microsoft. It contains a programming language, a database engine and an integrated development environment (IDE). An IDE allows programmers to do most of their work inside a single program. VFP has an excellent record of backwards compatibility so code that was written years ago can still be maintained and improved with a minimum of extra work. VFP is also a Rapid Application Development (RAD) tool which means that its design is focused on software built quickly.

Request for comments
What is VFP good at? What is it bad at? Give us some hard numbers to show to management if you can. CFK, I think you did a seminar on this in Chicago. Care to share some of your material? 2004-03-24 -- Tom Cerul

What is VFP good at: What is VFP not good at:
What's the basic difference between FoxPro and Access.
What are the differences between FoxPro and MS SQL Server?
1. VFP is both a programming language and a database. SQL is just a database

Additionally VFP is very fast to perform on tables in an iterative manner, SQL is not, more a table scan type approach. Good indexing helps both equally. SQL has far better security and is better integrated with the OS. I have found that both are very good at high speed and high volumes. However if it were not for the lack of DB security in Fox I would use VFP DB's by default. Also SQL Server Licenses cost a bundle ! - VFP ones cost nothing (provided you are a runtime developer) - we all know cost is a factor.

VFP Tables are far easier to edit and manipulate, as the SQL Server Enterprise Manager is a bit clumsy in my opinion. SQL Transact SQL is also a bit messy and inflexible. A bit like building a toilet, then building the house around it. VFP DB commands are great (eg, browse etc etc). Date handling is far superior in VFP.

Actually one of the best Apps I ever developed was a hybrid of the two. It required secure high volume data and many lookup tables. I used SQL for a few of the more sensitive tables, and VFP for the over 40 lookup tables needed. All very seamlessly.
Supported by

Really they are in different spaces, though. Put VFP in front and Middle tiers and mix a little with SQL at the backend. Cook until done, and you will have a very good cake.


Another request for comments

Have a difficulty to find more information and code examples regarding original Cetus description ( see below). Could anyone point out whether such a topic exists or explain what does that mean in general and what practical use of that.

Michael Mitiaguin mitiaguin@gmail.com
See also: Exposure To VFP, __ Visual Foxpro Description Copy Right Question

Category Development Tools Category Learning VFP
( Topic last updated: 2011.09.27 05:04:45 PM )