# Paradox (database)

Paradox è un'interfaccia software per la gestione di basi di dati di tipo relazionale (RDBMS) che sfrutta le Borland Database Engine e che integra nativamente in sé un modulo per lo sviluppo rapido di applicativi (RAD, Rapid Application Development) gestionali, attualmente distribuito da Corel Corporation. È stato originariamente pubblicato per DOS da Ansa Software, e successivamente da Borland dopo aver acquisito la società. Una prima versione per Windows è stata creata da Borland nel 1992. Quello di Corel è molto simile a dBase III, dBASE 3+ e dBASE IV, che sono sul mercato dagli anni '80.

## Paradox per DOS

Paradox per DOS è un sistema di gestione di database relazionali RDBMS originariamente scritto da Richard Schwartz e Robert Shostak e pubblicato dalla loro società Ansa Software nel 1985. Nel settembre 1987, Borland ha acquistato Ansa Software, compreso il loro software Paradox / DOS 2.0. Versioni classiche da ricordare erano le 3.5 e 4.5. Le versioni fino alla 3.5 erano evoluzioni della 1.0. Le versioni 4.0 e 4.5 sono state ri-progettate in Borland C++ windowing toolkit e utilizzando un sistema di accesso alla memoria estesa diverso.
Paradox per DOS era un database di successo alla fine degli anni ottanta e primi anni novanta. A quel tempo, dBase e i suoi cloni xBase (Foxpro, Clipper) dominavano il mercato. Gli altri concorrenti di rilievo erano Clarion, DataEase, R:Base, e DataFlex.
Le caratteristiche che distinguevano Paradox / DOS sono state:
* Una implementazione visual Query by Example che era sostenuta da un motore AI.
* L'uso efficace della memoria (convenzionale, estesa / espansa) - caching tabelle di dati, ed in particolare indici, che ha consentito a Paradox di eseguire attività molto rapidamente, in contrasto con le competenze esplicite necessarie per l'ottimizzazione delle prestazioni di xBase.
* Un linguaggio di programmazione innovativo: il Paradox Application Language (PAL), che era leggibile, potente, e poteva essere registrato dalle azioni della tastiera (un po' come le registrazioni macro di Lotus 1-2-3).
* Menu di testo tipo Lotus e finestre come sua interfaccia nativa (a differenza di dBase che aveva una interfaccia a riga di comando con menu a strati ad albero).
* In particolare in Paradox 1.0 e 2.0, i manuali d'uso e di programmazione hanno vinto premi per la leggibilità; erano abbondantemente illustrati con esempi esplicativi e ben strutturati; le spiegazioni erano scritte in lingua inglese comune e venne tradotto in diverse lingue compreso l'italiano.

## Paradox per Windows

Paradox per Windows è un prodotto nettamente diverso da Paradox per DOS, ed è stato prodotto da un gruppo diverso di programmatori. Anche se le caratteristiche principali del prodotto DOS, il QBE e il motore di database, erano porting mantenendo il codice DOS, ci fu una grande rottura di compatibilità da PAL a ObjectPAL e il passaggio a un'interfaccia grafica per maschere e report.
Le modifiche di ObjectPAL sono state controverse ma costrette dal momento che PAL si è basato sulle azioni di registrazione con dei tasti premuti che non avevano equivalente in Windows. Un linguaggio di programmazione orientato agli oggetti basato su idee di HyperCard è stato poi utilizzato al posto della registrazione dei tasti premuti. Gli strumenti software designer per maschere e report usati erano scalabili in modo indipendente, tra cui la capacità di lavorare in modalità ingrandita per il layout dettagliato. Il tasto destro del mouse è stato utilizzato per l'accesso alle proprietà delle maschere e dei report, ispirati dalla Xerox Alto e Smalltalk, usati in modo ormai quasi universale dai programmi di Windows. L'ObjectPAL era (come HyperCard) associato con gli oggetti visivi - evidenziati anche da tasto destro del mouse. L'ispezione alle proprietà e gli strumenti di layout potevano essere "pinned up" (bloccati) fino a rimanere sullo schermo, un'idea presa in prestito dal NeXT e ormai abbastanza ampiamente adottati da Windows.
Durante circa il primo anno di sviluppo del codice orientato agli oggetti è stato scritto in C aiutato da macro, fino a quando Turbo C++ non divenne disponibile e a quel punto le restanti parti del codice sono state scritte in C++. Il responsabile del prodotto fino all'uscita della versione 1.0 è stato Joe Duncan. Il team di sviluppo e il team QA era formato in tutto da una trentina di persone.
Sia Paradox per Windows che Quattro Pro per Windows, un progetto strettamente legato, hanno iniziato lo sviluppo con le versioni beta di Windows 3.0, nella primavera del 1990. Paradox / Windows è terminato con un ritardo di circa un anno oltre il suo piano originale, in vendita nei primi mesi del 1993. La ragioni erano molte, ma non del tutto sorprendenti dovute a un importante riscrittura, in un linguaggio orientata agli oggetti con nuovi strumenti, lo spostamento a un paradigma GUI (grafico), su quello che era essenzialmente una prima versione del sistema operativo. Comunque è stato un grosso problema per l'azienda e Microsoft è riuscita a far uscire Access un paio di mesi prima di Paradox per Windows, una vittoria importante di marketing per Microsoft.
Nel 1990 Borland iniziò a lavorare anche su un clone interno di dBASE, sia per DOS che per Windows, scritto in Assembler, che è stato pianificato per l'uscita sul mercato nel 1992. All'inizio del 1992 è diventato chiaro che Ashton-Tate era in difficoltà riguardo allo sviluppo di versioni per Windows dei loro prodotti e così Borland ha attivato altre strategie, invece di acquisire la società, battezzando così il proprio progetto interno come il successore ufficiale. Nell'ambito della successiva operazione di acquisizione di Ashton-Tate è stato compreso anche il database InterBase. Si è deciso che Paradox / W avrebbe dovuto essere in grado di lavorare con Interbase, così come il motore di Paradox; questo ha portato alla creazione di un motore IDAPI (Independent Database Application Program Interface) basato su InterBase.
L'acquisizione ha anche spostato gli obiettivi di mercato: Paradox ha storicamente gareggiato contro dBase in alcuni mercati, e Paradox / W è stato originariamente progettato per migliorare la posizione competitiva nel mercato destinato agli sviluppatori (developer-oriented). Dopo che dBASE è stato acquisito da Borland questo era già quasi fuori mercato e l'attenzione si è spostata verso un mercato di utilizzatori finali del prodotto database con facilità d'uso. Tuttavia, il prodotto non poteva essere cambiato rapidamente per le nuove richieste del mercato (questo si è verificato nelle versioni successive), rendendo a lungo il prodotto un po' troppo complesso per il mercato entry-level.
Microsoft per il suo primo programma di database per desktop, Microsoft Access, focalizzato per affrontare lo stesso mercato di utilizzatori finali, arrivò per prima quando ha debuttato al COMDEX nel novembre 1992. In risposta alla acquisizione di Borland di Ashton-Tate, Microsoft ha acquisito FoxPro e incorporato la sua tecnologia Rushmore nel Jet Engine di Access per migliorare in modo significativo le sue prestazioni.
Microsoft Access ha offerto molte caratteristiche che erano più facili da implementare per gli utenti finali e per gli sviluppatori, tra cui un'interfaccia di query più intuitiva utilizzando i collegamenti di Windows tra i campi, piuttosto che il contrassegno del testo fatto da Paradox dei campi in QBE, e l'accesso al linguaggio di programmazione di base che era più simile a PAL di ObjectPAL. Access e Paradox significativamente differivano nel modo in cui presentavano i risultati della query. Access mostrava i record prima che una query fosse completata e senza il sovraccarico di creare una tabella di output. Paradox mostrava i risultati solo dopo che tutti i record erano stati caricati creando una tabella RISPOSTA. Questa differenza di prestazioni è stata significativa per grandi serie di dati ed ha impattato negativamente su Paradox / W.
Prendendo spunto da un libro sul debutto del foglio di calcolo a basso prezzo Quattro Pro di Borland contro Microsoft Excel, Microsoft Access ha debuttato con un prezzo di $ 99. Questo prezzo era inferiore ai listini prezzi dei DBMS di Paradox DOS, Paradox Windows e dBase che ammontavano a circa $ 799, il che ha inciso negativamente su Borland più di qualsiasi altra azienda concorrente.
Il team di gestione di Borland, allora con la sua quota del 85% del segmento di mercato dei database per desktop sottovalutò gravemente la minaccia di Microsoft e di Microsoft Access. Tuttavia, Paradox / W ha venduto bene per un po' di tempo. Nel frattempo, Borland stava attraversando alcuni gravi problemi finanziari causati dalla acquisizione di Ashton-Tate. Molte linee di sviluppo prodotti sono state sospese, la riorganizzazione aziendale e il consolidamento è stato doloroso, e peggio ancora, il progetto interno dBASE al centro delle motivazioni dell'acquisizione è stato poi annullato per motivi tecnici, che lasciarono Borland con un crollo dei ricavi e una seria necessità di sviluppare un dBASE per Windows in fretta. Borland perse la forza per combattere le molteplici battaglie di marketing di cui aveva bisogno per la sua gamma di prodotti. Paradox è stato poco commercializzato agli sviluppatori in quanto la società ha deciso che sarebbe rimasto in lavorazione per la sostituzione di dBASE, che alla fine è uscito nel 1994, troppo tardi per la società.
A peggiorare le cose, mentre il clone di dBASE per DOS (FoxBase) ha copiato da vicino dBASE, la versione Windows di questo prodotto è stato sviluppato senza un dBASE esistente per il modello di Windows. Uno dei punti di forza di dBASE per DOS è stato il supporto multi-vendor e questo supporto è stato perso nei vari prodotti xBase per Windows. Il Visual dBASE per Windows di Borland non poteva funzionare con Foxbase di Microsoft per i programmi di Windows e viceversa. Di fronte a un mercato frammentato e la necessità di riscrivere i programmi per sfruttare i vantaggi del sistema operativo Windows, c'era poco incentivo per gli utenti xBase di rimanere fedeli al prodotto che avevano usato per DOS.
Nel 1995, Microsoft fa fornito in bundle Access nella loro suite Microsoft Office Professional, con Word, Excel e PowerPoint. Questo ha praticamente ucciso il mercato dei database desktop degli utenti finali per i prodotti stand-alone.
Nonostante il seguire di versioni con miglioramenti di usabilità per gli utenti entry-level, Paradox è uscito dal mercato. È stato incluso nella vendita di prodotti Borland in WordPerfect, che sono stati a loro volta rivenduti come WordPerfect inserito in prodotti finanziari, e nel periodo della riscrittura di Paradox per Windows, WordPerfect e Quattro Pro per Windows sono divenuti di proprietà di Corel e venduti come parte della loro suite per ufficio. dBASE per Windows è uscito troppo tardi per essere un competitore importante nel mercato di Windows; la maggior parte dei programmatori di dBASE di allora erano passati a Microsoft FoxBASE, uno strumento di database molto simile. Borland stessa ha mantenuto il server Interbase / IDAPI e concentrato gli sforzi sui suoi tools Delphi, strumenti che negli anni le hanno dato una parte influente, ma piccola nel mercato di sviluppo degli applicativi orientati alla gestione dei dati (data-oriented).

## Corel Paradox

Corel ha riacquisito alcuni diritti per lo sviluppo e per poter immettere sul mercato Paradox a metà degli anni '90, distribuendo Corel Paradox 8 nel 1997. Nel gennaio 1996, Corel acquisì da Novell la suite per ufficio WordPerfect Office per Windows, ufficialmente denominata Corel WordPerfect Office, che da allora incorpora in bundle anche Paradox come database RDBMS nella versione professionale, non acquistabile separatamente dalla suite.
Ha pubblicato poi Office Professional Edition nelle versioni 9, 10, 11, 12, X3, X4 e X5. L'ultima versione di Paradox pubblicata da Corel è 11.0.0.676 che viene fornito in bundle con X4 Hot Fix 1 e X5 Hot Fix 1.