# Paradox (database)

Paradox is a relational database management system currently published by Corel Corporation.
It was originally released for MS-DOS by Ansa Software, and then updated by Borland after it bought the company. In mid 1991 Borland began the process to acquire Ashton-Tate and its competing dBase product line; A Windows version was planned for release by Borland in 1992, but was delayed until January 1993, by which time Microsoft's Access for Windows was available. It was last updated in 2009.

## Paradox for DOS

Paradox for DOS was a relational database management system originally written by Richard Schwartz and Robert Shostak, and released by their Belmont, California-based company Ansa Software in 1985.
The New York Times described it as "among the first of an emerging generation of software making extensive use of artificial intelligence techniques," and noted that Paradox could read the competing Ashton Tate's dBase files.
In September 1987, Borland purchased Ansa Software, including their Paradox/DOS 2.0 software. Notable classic versions were 3.5 and 4.5. Versions up to 3.5 were evolutions from 1.0. Version 4.0 and 4.5 were retooled in the Borland C++ windowing toolkit and used a different extended memory access scheme.
Paradox/DOS was a successful DOS-based database of the late 1980s and early 1990s. At that time, dBase and its xBase clones (Foxpro, Clipper) dominated the market. Other notable competitors were Clarion, DataEase, R:Base, and DataFlex.
The features that distinguished Paradox/DOS were:
* An enhanced design and implementation of visual Query by Example that was supported by an AI engine for heuristic, dynamic query optimization.
* Effective use of conventional, extended, and expanded memory – caching data tables and particularly indexes, which caused Paradox to execute tasks very quickly in contrast to the explicit skills required for xBase performance optimisation.
* An innovative programming language, the Paradox Application Language (PAL), that was readable, powerful, and could be recorded from keyboard actions (rather like Lotus 1-2-3 macro recording).
* Lotus-like text menus and windows, which was the native interface (in contrast to dBase, which had a command-line interface with menus layered on top).
* Particularly in Paradox 1.0 and 2.0, the user and programming manuals won readability awards – they were copiously illustrated, well laid out, and explanations were written in common English.
There are a few MSDOS emulators, among which are dbDOS (a paid-for product) and https://www.vdos.info/ (which has a freeware option), both of which provide the ability to run Paradox for DOS applications (such as Paradox 4.5 for DOS) on Windows Vista and above 64-bit operating systems.

## Paradox for Windows

Paradox for Windows is distinctly different from Paradox for DOS, and was produced by a different team of programmers. Paradox for Windows applications are programmed in a different programming language called ObjectPAL. Although key features of the DOS product, the QBE and the database engine, were ports keeping the DOS code, there was a major break in compatibility from PAL to ObjectPAL and in the shift to a GUI design metaphor for Forms and Reports. The ObjectPAL changes were controversial but forced since PAL was based on keystroke recording actions that had no equivalent in Windows. An object-based language based on ideas from Hypercard was used in place of keystroke recording. The Forms and Reports designers used device-independent scaling including ability to work in zoomed mode for detailed layout. The mouse right-click was used for access to Forms and Reports properties, inspired by the Xerox Alto and Smalltalk, in a way now almost universal to Windows programs. The ObjectPAL was (like Hypercard) associated with the visual objects - also revealed by right click. Property inspection and layout tools could be "pinned up" to stay on screen, an idea borrowed from the NeXT and now fairly widely adopted in Windows.
For approximately the first year of development the object-oriented code was written in C aided by macros, until Turbo C++ was available, at which point the remaining parts of the code were written in C++. The product manager up until shipping version 1.0 was Joe Duncan. The development and QA team totaled about 30 people.
Both Paradox for Windows and Quattro Pro for Windows, a closely related project, started development under beta versions of Windows 3.0, in the spring of 1990. Paradox/Windows ended up delayed about a year beyond its original plan, shipping in early 1993. The reasons were many, but not entirely surprising for a major rewrite, in an OO language with new tools, shifting to a GUI paradigm, on what was essentially a first version operating system. Still it was a big problem for the company and Microsoft managed to ship Access a couple of months ahead of Paradox for Windows, a major marketing win for Microsoft.
In 1990, Borland also started work on an internal dBASE clone for both DOS and Windows, written in assembler, which was planned to ship in 1992. By early 1992 it became clear that Ashton-Tate was in difficulties on developing Windows versions of their products and so Borland switched plans, instead acquiring the company and anointing their internal project as the official successor. Part of the Ashton-Tate acquisition was the InterBase rdbms and it was decided that Paradox/W should be able to work with InterBase as well as the Paradox engine, and this led to the creation of an IDAPI engine based around InterBase.
The acquisition also shifted focus. Paradox had historically competed against dBASE in some markets, and Paradox/W originally was designed to improve the competitive position in the developer-oriented market. After dBASE was acquired, this was no longer desirable, and emphasis shifted toward an ease-of-use market. However the product could not be changed to match the emphasis (this occurred in later releases) at that late stage, making the product somewhat overly complex for the entry level market.
Microsoft's first desktop database program, Microsoft Access, did a good job of addressing that same market, and got there first when it debuted at COMDEX November 1992. In response to Borland's acquisition of Ashton-Tate, Microsoft acquired FoxPro and incorporated its Rushmore technology into the Access Jet Engine to significantly improve its performance.
Microsoft Access offered many features that were easier for end users and developers to implement, including a more intuitive query interface using Windows links between fields rather than the Paradox text tagging of fields in QBE, and the Access Basic programming language which was more similar to PAL than ObjectPAL. Access and Paradox significantly differed in the way they presented results from queries. Access showed records before a query was completed and without the overhead of creating an output table. Paradox showed the results only after all the records were retrieved and an ANSWER table created. This performance difference was significant for large datasets and negatively impacted Paradox/W.
Taking a cue from Borland's low price Quattro Pro spreadsheet debut against Microsoft Excel, Microsoft Access debuted with a $99 price. This undercut the traditional DBMS prices of Paradox DOS, Paradox Windows, and dBase of around $799, which negatively impacted Borland more than any other firm.
The Borland management team, with its 85% market share of the desktop database market, severely underestimated the threat of Microsoft and Microsoft Access. Still, Paradox/W sold well for a while. Meanwhile, Borland was going through some serious problems caused by the Ashton-Tate acquisition. Many product lines were discontinued, corporate reorganization and consolidation was painful, and, even worse, the internal dBASE project at the center of the acquisition rationale was eventually canceled for technical reasons, leaving Borland with a collapse in revenues and a serious need to develop the missing dBASE for Windows in a hurry. Borland lost the strength to fight the multiple marketing battles it needed for its range of products. Paradox was minimally marketed to the developers since the company decided it would hold out for a replacement of dBASE, which eventually came out in 1994, too late for the company.
To make matters worse, while the dBASE for DOS clone (FoxBase) copied dBASE closely, the Windows version of this product was developed without an existing dBASE for Windows model. One of dBASE for DOS's strengths was multi-vendor support, and this was lost in the various Windows xBase products. Borland's Visual dBASE for Windows couldn't run Microsoft's Foxbase for Windows programs and vice versa. Faced with a fragmented market and the need to rewrite programs to take advantage of Windows, there was little incentive for xBase users to stay loyal to the brand they'd used for DOS.
In 1995, Microsoft bundled Access into their Microsoft Office Professional Suite with Word, Excel, and PowerPoint. This effectively killed the end-user desktop database market for standalone products. Despite solid follow-on versions with improvements to usability for entry-level users, Paradox faded from the market. It was included in the sale of Borland products to WordPerfect, which were in turn resold as WordPerfect got into financial products, and, at the time of writing, Paradox for Windows, WordPerfect, and Quattro Pro for Windows are all owned by Corel and sold as part of their office suite. dBASE for Windows came out too late to be a significant player in the Windows market: most dBASE programmers by then had migrated to Microsoft FoxBASE, a very similar database tool. Borland itself retained the InterBase/IDAPI server and focused efforts on its Delphi tools, which over the years gave it an influential but small part of the data-oriented developer market.

## Paradox Engine

Paradox Engine was a precompiled C library allowing DOS programmers to use Paradox databases. It was available for Microsoft Quick C and Turbo C versions. Source code was not published, but all the functions included in the library were well documented.

## Corel Paradox

Corel acquired certain rights to develop and market Paradox in the mid-1990s and released Corel Paradox 8 in 1997.
Paradox was also bundled in the professional version of Corel's WordPerfect Office suite. Subsequent releases included Office Professional Edition versions 9, 10, 11, 12, X3, X4, X5, X6, X7, X8, X9, and 2020. However, it has not been updated since 2009 with the Paradox Hot Fix 1 for X4. All later releases carry same version of 11.0.0.676.

## Users

There is a strong Paradox user base, mainly centered on the Paradox Community and its associated newsgroups. On 30 July 2024, Larry DiGiovanni announced to the community that eventually the pnews.thedbcommunity.com server would go read-only and then be shut down entirely and that it would be replaced with a Google group, TheDBCommunity.
Although there are many fans of ObjectPAL, the programming language for Paradox/Windows, PAL/DOS scripts could not easily be migrated; the object and event models were completely different, forcing developers using PAL to completely rewrite their database applications.

## Reception

Evaluating a prerelease beta of Paradox 3, BYTE in 1989 said that it "has the potential of overtaking dBASE IV" without being a dBASE clone. The magazine said that it "has all the capabilities necessary for even the most advanced applications" yet was, unlike competitors, easy to use.