# FoxPro

FoxPro is a text-based procedurally oriented programming language and database management system (DBMS), and it is also an object-oriented programming language, originally published by Fox Software and later by Microsoft, for MS-DOS, Windows, Macintosh, and UNIX. The final published release of FoxPro was 2.6. Development continued under the Visual FoxPro label, which in turn was discontinued in 2007.

## Description

FoxPro was derived from FoxBase (Fox Software, Perrysburg, Ohio), which was in turn derived from dBase III (Ashton-Tate) and dBase II. dBase II was the first commercial version of a database program written by Wayne Ratliff, called Vulcan, running on CP/M, as does dBase II.
FoxPro was both a DBMS and a relational database management system (RDBMS), since it extensively supported multiple relationships between multiple DBF files (tables). However, it lacked transactional processing.
FoxPro was sold and supported by Microsoft after they acquired Fox Software in its entirety in 1992. At that time there was an active worldwide community of FoxPro users and programmers. FoxPro 2.6 for UNIX (FPU26) has even been successfully installed on Linux and FreeBSD using the Intel Binary Compatibility Standard (ibcs2) support library.

## Reception

Tom Campbell of Compute! in 1993 praised FoxPro's rapid application development: "You can create a complete database browser with a mousing, menuing interface in well under 100 lines--including a custom data entry screen with error checking". He concluded that the $1000 price for FoxPro and runtime library was "without a doubt" worthwhile, as it "could mean that you'll make that $1,000 back--on your first job".

## Version information
### Operating system compatibility

Extant Versions by OS :
| Version | FP 2.0 | FP 2.5 | FP 2.6 |
| MS-DOS | Yes | Yes | Yes |
| Windows 3.1 to 7 Ultimate sp1 | Yes | Yes | Yes |
| Macintosh | Yes | Yes | Yes |
| SCO UNIX | Yes | Yes | Yes |
| Linux and FreeBSD | Yes | Yes | Yes |
| Windows 2000 | No | No | Yes |
| Windows 7,8,10 32 bit | No | No | Yes |

### Technical aspects

FoxPro 2 included the "Rushmore" optimizing engine, which used indices to accelerate data retrieval and updating. Rushmore technology examined every data-related statement and looked for filter expressions. If one was used, it looked for an index matching the same expression.
FoxPro 2 was originally built on Watcom C/C++, which used the DOS/4GW memory extender to access expanded and extended memory. It could also use almost all available RAM even if no HIMEM.SYS was loaded.

### Version timeline

| Version | Returned by VERSION | File Size | Release Date |
| FPW 2.6a | FoxPro 2.6a for Windows | 2.44 Mb | September 28, 1994 |
| FPM 2.6a | FoxPro 2.6a for Macintosh | Unknown | August 1994 |
| FPD 2.6a | FoxPro 2.6a for DOS | 1.79 Mb | August 1994 |
| FPW 2.6 | FoxPro 2.6 for Windows | 2.52 Mb | March 9, 1994 |
| FPM 2.6 | FoxPro 2.6 for Macintosh | Unknown | 1993 |
| FPD 2.6 | FoxPro 2.6 for DOS | 1.83 Mb | March 1994 |
| FPU 2.6 | FoxPro 2.6 for Unix | 2.3 Mb | 1993 |
| FPW 2.5 | FoxPro 2.5 for Windows | 1.63 Mb | January 1993 |
| FPD 2.5 | FoxPro 2.5 for DOS | 509.0 Kb | February 1993 |
| FPD 2.0 | FoxPro 2.0 for DOS | 488.7 Kb | July 1992 |
| FPD 1.0 | FoxPro 1.0 for DOS | 343.2 Kb | November 1991 |