|This article does not cite any sources. (October 2008) (Learn how and when to remove this template message)|
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.
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 anti-trust 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, dbxl, 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 1352 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.
As of 2010, xBase is available and still expanding in terms of platform support (operating system), HTML clients, ASP Servers, Windows Scripting Host, and self-contained interpreters. Its current usage tends to be wider in Europe and Asia than in the United States.
The commercially available products:
- AdvPL from TOTVS
- Apollo database engine for managing CA-Clipper and FoxPro from Vista Software
- Clipper, Visual Objects (Windows 32) and Vulcan.NET from GrafX Software
- dBase from dBASE Inc.
- DBFView, DBF editor/viewer/converter from Apycom Software
- FlagShip from multisoft GmbH
- GS-Base - managing dBase, CA-Clipper and FoxPro files
- Recital from Recital Corp.
- XBase++ from Alaska Software
- xHarbour Builder eXtended xBase Compiler
- DBF Viewer 2000 from HiBase Group
- DBF Database management tools from Astersoft Co. Ltd.
- DBF Commander Professional
- Visual DBU visual administration of any database/table from DS-Datasoft
- CodeBase xBase programming tools for multiple languages
- Xailer complete 32 bits visual development environment for Xbase
- FiveWin visual development for Windows e Linux, from Fivetech
Some free versions are also available, including:
- ActiveVFP – Free and open source project for creating web applications with Foxpro
- CLIP – GNU, object oriented, CA-Clipper compatible compiler
- Harbour Project – from active community
- xHarbour – Open Source alternative
- HMG - Harbour MiniGUI - a Windows API wrapper library for Harbour
- FlagShip free test version
- DBF Commander (free version)
- DBFree – script interpreter for developing xBase applications for the web
- dbview: View dBase III files. Should work for dBase IV, but this is mostly untested. Link has only source, no binaries
- XSharp  - Free and open source project based upon the Roslyn compiler.
- Visual FoxPro was available from Microsoft (last update 2007)
- Vulcan (dBase predecessor)
- DBIII Compiler
- Joinner (from Brazilian company Tuxon)
- Cule.Net from Software Perspectives
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.
- Clipper Newsgroup
- The History of FoxPro: People Who Helped FoxPro Become a Legend
- Vulcan.NET Xbase language for Microsoft .NET
- The NTK Project, WIN32 Gui Framework for (x)Harbour, backward compatible with Clipper and Clip4Win.
- Xbase ( & dBASE ) File Format Description
- Active web pages using server-side Xbase scripts, freeware MaxScript Xbase interpreter, embedded DBF data engine
- MaxScript Xbase interpreter for desktop and web applications,
- The XSharp Roslyn based multi xBase dialect compiler initiative