This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources. Find sources: "XBase" – news · newspapers · books · scholar · JSTOR (February 2021) |
xBase is the generic term for all programming languages that derive from the original dBASE (Ashton-Tate) programming language and database formats. These are sometimes informally known as dBASE "clones". While there was a non-commercial predecessor to the Ashton-Tate product (Vulcan written by Wayne Ratliff), most clones are based on Ashton-Tate's 1986 dBASE III+ release — scripts written in the dBASE III+ dialect are most likely to run on all the clones.
History of the X
Ashton-Tate always maintained that everything relating to dBASE was proprietary, and as a result, filed lawsuits against several of the "clone" software vendors. One effect of this action was to cause the clone vendors to avoid using the term "dBASE": a trademark term held by Ashton-Tate. This gave rise to the creation of the generic term "xBase" meaning "dBASE or dBASE-like." A suggested name that narrowly failed was "*base" (pronounced "star base" and an homage to Vulcan and Star Trek), and some wanted it spelled "X-base" to further differentiate it from the trademark.
Standards effort
By 1987 there were an increasing number of "clone" software products that mimicked dBASE. Each of these products had its own unique set of supported language features and syntax. As such, it was often very difficult to move code developed with one dBASE-like product to run in another one. (This was in contrast to older programming languages such as C or COBOL where due to published official standards, carefully developed code could possibly be run in a wide range of software environments.) While there were many cries for a standard for the dBASE programming language syntax, nothing would happen as long as Ashton-Tate asserted ownership of all-things dBASE.
Once Borland acquired Ashton-Tate in mid-1991 (and was apparently required to drop the lawsuits as an antitrust related condition of the merger), such standardization efforts were given new life. An ANSI committee (ANSI/X3J19) was officially formed, and began regular meetings in 1992. Marc Schnapp was the first chairman, and the first meeting was held at the Jet Propulsion Laboratory in Pasadena, California which was essentially the birthplace of Vulcan and dBASE II. The group met on a regular basis in a variety of locations over the next few years, and representatives from most major vendors participated. But despite lip service from all the vendors on the need for a standard, no one seemed willing to change their product syntax to match that of a competitor.
Influences over time
In 1989, Microtrend Books published the first "Xbase" cross-reference book (before the term was coined), The dBASE Language Handbook, by David M. Kalman, which covered Quicksilver, Clipper, dvxl, dBASE III, dBASE III Plus, dBASE IV, and FoxBase+. At more than 1,000 pages, it compared the execution of commands and functions to enable developers to build and maintain portable applications.
In 1993, Sybex, Inc. (computer books) published the Xbase Cross Reference Handbook, by Sheldon M. Dunn, another cross reference of the most commonly used xBase languages at that time – dBASE III+, dBASE IV, FoxPro for DOS, FoxPro for Windows, FoxPro for Macintosh and Clipper 5.1. At 1,352 pages and 5.1 pounds shipping weight, the Cross Reference was hardly a handbook, but it provided the xBase community with an up-to-date, all-in-one reference manual, and addressed one of the major documentation problems that the community was facing. The software companies had decided to break their manuals into sections, separating commands from functions, etc., and splitting the (previous) manual into two or three different manuals, and the community was left trying to figure what-was-what and which manual to keep close at hand. 1993 was pivotal for the xBase community because, as previously noted, Ashton-Tate had earlier sold dBASE as well as the rest of their product line to Borland and Microsoft had purchased FoxPro from Fox Software. Borland had also purchased QuickSilver to get a foot up the development ladder for a dBASE version for Windows (then 3.1). In 1994, Borland launched dBase V for Windows and dBASE V for DOS before selling the dBASE name and product line to dBASE Inc.
In recent years there seems to be a renewed interest in xBase, mostly because of a number of open source, portable, xBase implementations (listed below), and the scripting applicability of the language. While newer desk-top database tools are optimized for mouse usage, xBase has always been "keyboard friendly", which helps make scripting and meta-programming (automating the automation) easier. Meta-programming generally does not work as well with mouse-oriented techniques because automating mouse movements can require calculating and processing of screen coordinates, something most developers find tedious and difficult to debug. xBase is one of the few table-oriented scripting languages still available.
Interpreted versus compiled
xBase products generally split into an interpreted camp and the compiler camp. The original product was interpreted, but the "clones", led by Clipper, began creating compiler versions of the product. Compiling improved overall run-time speed and source-code security, but at the expense of an interpreted mode for interactive development or ad-hoc projects.
See also
- Clipper (programming language)
- DBase
- Harbour (software)
- Jet Propulsion Laboratory Display Information System
- FoxPro
- Visual FoxPro
- VP-Info
References
- Bachmann, Erik. "Xbase Data file (*.dbf)". www.clicketyclick.dk.
External links
- Clipper Newsgroup
- The History of FoxPro: People Who Helped FoxPro Become a Legend
- The NTK Project, WIN32 Gui Framework for (x)Harbour, backward compatible with Clipper and Clip4Win.
- Xbase ( & dBASE ) File Format Description
- The XSharp Roslyn based multi xBase dialect compiler initiative
xBase programming language | |
---|---|
Implementations | |
IDE |
Database management systems | |
---|---|
Types | |
Concepts | |
Objects | |
Components | |
Functions | |
Related topics | |