FoxPro
FoxPro was a text-based procedurally oriented programming language and database management system (DBMS), and it was 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.
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.[1]
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.
Version information
Operating system compatibility
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[2] |
Windows 2000 | 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 | VERSION() returns | EXE Size | EXE Date |
---|---|---|---|
FPW 2.6a | FoxPro 2.6a for Windows | 2,444 kb | 28 September 1994 |
FPM 2.6a | FoxPro 2.6a for Macintosh | ? kb | August 1994 |
FPD 2.6a | FoxPro 2.6a for DOS | 1,788 kb | August 1994 |
FPW 2.6 | FoxPro 2.6 for Windows | 2.52 Mb | 9 March 1994 |
FPM 2.6 | FoxPro 2.6 for Macintosh | ? kb | 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,013 bytes | February 1993 |
FPD 2.0 | FoxPro 2.0 for DOS | 488.656 kb | July 1992 |
FPD 1.0 | FoxPro 1.0 for DOS | 343.200 kb | November 1991 |
References
- a CP/M set released in 1982
- using the ibcs files from the Linux ABI on SourceForge