03 - Open SourceHarbour

Harbour-storia dei linguaggi XBASE

Last Updated on 13 Giugno 2021 by Roberto De Pedrini

In questo articolo andiamo a vedere la storia dei linguaggi XBASE e come si e arrivati nello specifico alla creazione di Harbour.


La storia comincia nel lontano 1979 con la creazione del progetto VULCAN ideato da Wayne Ratliff.

Visto lo scarso successo, il pacchetto successivamente venne ceduto a George Tate (fondatore della Ashton Tate). Grazie ad un buon investimento pubblicitario, venne presentato nel 1982 DBASE II che era riuscito a diventare uno dei standard per l’epoca. Inizialmente il prodotto veniva eseguito su architetture a 8 bit, venne cosi riscritto con il linguaggio C.

Venne cosi rilasciato sul mercato nel 1984 il DBASE III e con la versione PLUS, venne aggiunto
il supporto alle reti e l’accesso ai dati sfruttando un sistema multiutente.
Il DBASE nascendo come linguaggio di programmazione interpretato, venne adottato da molti
sviluppatori (Questo fu il suo successo ma anche la sua rovina).
Per far funzionare l’applicazione creata era necessario avere su ogni sistema il DBIII installato e la
copia dei sorgenti del proprio programma totalmente in chiaro. Questo era molto dispendioso dato
che il costo del prodotto era molto elevato. Molti cominciarono cosi a far circolare copie pirata del
DBASE con in allegato programmi rubati ad aziende che possedevano una licenza regolare. Si
venne a creare cosi un vero e proprio mercato nero.
La Ashton Tate anche se era consapevole di quel che stava accadendo, decise di non prendere
nessun provvedimento ma si concentrarono solo a vendere più copie del prodotto possibili.
Per tutelare il lavoro di chi sviluppava con DBIII infatti, bastava creare un compilatore e rendere
separata la parte dati da quella applicativa.
Visto il disinteresse di Ashton Tate, la Nuntucket decise di presentare sul mercato il clipper.
La prima versione del compilatore venne alla luce con il nome in codice Summer87.
Ebbe un successo immediato perché consentiva di scrivere programmi in multiutenza, era solido
come una roccia, quasi privo di BUG, efficiente e relativamente facile da imparare (soprattutto per
chi proveniva dal DBIII). La sua parentela con il C non lo rendeva troppo strano anche per chi
proveniva da questo linguaggio. Come abbiamo visto nel precedente articolo in anteprima con
harbour infatti anche Clipper era dotato di tutti gli strumenti per collegarlo proprio al C. Molti
sviluppatori , cominciarono nell’immediato a convertire il codice da DBIII a Clipper. Il linguaggio
grazie alla sua flessibilità poteva essere usato da sviluppatori principianti ed anche esperti.
La Nantucket fu acquistata all’apice del successo dalla Computer Associates, che era un
colosso del software. Dall’acquisizione viene rilasciato sul mercato il clipper 5 , questa
versione era stata totalmente modificata , attraverso l’uso di un traduttore il codice veniva
convertito totalmente in C. Venne Aggiunto il paradigma di programmazione ad oggetti, il
supporto ai database grazie ai driver modulari RDD-Replaceable Database Drivers (esempio
nell’articolo introduttivo di harbour dove si mostra la connessione multipla tra db2 e
mysql) e l’uso degli indici. che consentono:
1) l’impiego di indici e strutture di database nettamente più efficienti rispetto ai formati nativi DBF/NTX;
2) l’apertura verso altre piattaforme e tipologie di database;
3) la possibilità di implementare meccanismi avanzati e robusti di cifratura e decodifica “onthe-fly” degli header e/o dei dati.

Con il successo del clipper e altri cloni come foxpro o Quicksilver , la Ashton Tate
cominciava a perdere terreno e per cercare di salvare la situazione presento cause legali
contro i diversi fornitori di software. Un effetto di questa azione è stato quello di provocare
i venditori che evitarono di utilizzare il termine “dBASE”: un marchio di fabbrica proprietario di Ashton-Tate. Questo ha dato luogo alla creazione del termine generico “xBase” che significa “dBASE-like” . Anni più tardi Ashton-Tate aveva lanciato il DBIV, che ebbe poca fortuna, ed in seguito per ambiente Windows il dBase 5, ma anche questo non ebbe grande successo ed alla fine fallì. Anche la CA dopo il successo del clipper comincio
ad avere problemi. Con l’arrivo di windows il linguaggio non era più stato aggiornato e venne lentamente dismesso.
Dopo il clipper la CA provo a presentare Visual object (anche questo progetto viene tenuto
in vita su piattaforma .NET con il nome in codice X# – https://www.xsharp.eu/) , ma
risulto un prodotto pieno di BUG e venne subito dismesso.
Intervenne a questo punto Microsoft, che acquistò Visual Foxpro. La mossa apparve come
il riconoscimento che Visual Foxpro era il miglior strumento xBase disponibile, e che
Microsoft si era decisa ad entrare nell’arena dei linguaggi xBase dalla porta principale.
Molti programmatori acquistarono Foxpro serenamente pensando che il linguaggio non
sarebbe morto e nuovi rosei sviluppi sarebbero arrivati. Niente di tutto ciò. Ben presto la
vera strategia di Microsoft si chiarì: aveva acquistato Foxpro solo per toglierlo di mezzo e
indirizzare i programmatori verso le sue alternative proprietarie. Foxpro fu lasciato morire
lentamente e l’ultima release risale all’ormai lontano 2007.
Successivamente la Microsoft aveva deciso di rendere open-source l’intero progetto, ma
anche in questo caso ci fu un ripensamento e per cercare di limitare il danno sulla fiducia
dei propri clienti il colosso di Redmond rilascio alcuni componenti a codice aperto per fare
in modo che le aziende potessero sviluppare plug-in per mantenere codice legacy
aggiornato e migrare al più presto a soluzioni moderne. Come Foxpro anche il Clipper
veniva ancora pienamente usato (si stima che molti progetti abbiano resistito fino al
2006).
Antonio Linares, un forte programmatore C con buonissime conoscenze dei meccanismi
interni di Windows e che si era innamorato di Clipper, scrisse a sua volta una estensione
che chiamò Fivewin. La bellezza e la profondità di Fivewin stanno nella semplicità del
linguaggio creato da Linares per gestire l’ambiente Windows, nella perfetta integrazione
delle sue estensioni nel linguaggio esistente e nella fondamentale qualità del suo lavoro.
Anche se Fivewin aveva qualche piccolo problema (corretti in periodici aggiornamenti), la
qualità generale era molto buona ed il costo accettabile: il prodotto ebbe subito successo
tra i programmatori.
Il clipper in questa fase, grazie a questo prodotto, cominciava a svecchiarsi dando ai
sviluppatori un plug-in con cui potevano salvare la loro applicazioni lasciando intatto il
codice già scritto, aggiungendo del nuovo sfruttando le librerie grafiche offerte da
Windows.
Ma il Clipper aveva un gran problema all’interno del suo motore,dato che la CA era
totalmente fallita era rimasto un compilatore a 16 bit (l’ultima versione che CA rilasciò di
Clipper è la 5.3b nel 1997) . Dato che il mondo si avviava a grandi passi verso l’architettura
a 32 bit prima e a 64 bit dopo, cominciava a soffrire di limitazioni strutturali
insormontabili. Fu così che Linares cominciò a sviluppare un compilatore indipendente
compatibile con Clipper (e Fivewin naturalmente) in grado di affrontare le sfide del futuro
e sfruttare tutta la potenza degli attuali PC a 32 o 64 bit. La sua visione fu grandiosa e lo
sforzo personale immenso.
Il nome che venne dato al progetto fu Harbour (per rappresentare in maniera simbolica
un porto che assicurava la salvezza dei programmatori xbase e del glorioso veliero clipper).

La grossa novità fu che il nuovo compilatore nasceva come progetto Open Source, cioè di
libero utilizzo da parte di chiunque.
Le alternative per la comunità di programmatori xBase erano costituite da pochi prodotti
proprietari piuttosto costosi (Alaska xBase++, Flagship, Visual Foxpro,dBase V, …).
Nessuno di questi prodotti sembrava però in grado di raccogliere l’eredità di Clipper.
Inoltre solo Flagship era multi-piattaforma, ovvero disponibile sia per il sistema Windows
e sia per Linux.
L’idea del compilatore Open Source coagulò un certo numero di programmatori e il
sistema cominciò pian piano a prendere piede. La cosa ammirevole del progetto riguarda la
passione e il gioco di squadra che mettono tutti per migliorare ogni giorno questo
linguaggio, soprattutto perché’ non esiste nessun colosso informatico che decide le sorti di
Harbour. Presto fu disponibile la versione per Linux, il che consente ad un programmatore
di scrivere un programma e di poterlo compilare ed eseguire senza particolari modifiche
nei due ambienti. La situazione attuale vede Harbour come un progetto disponibile per
diverse piattaforme, come Windows, Linux, Mac OS X, Windows CE, Pocket PC, Symbian,
iPhone, OS/2, AIX , Android ecc… . Inoltre con il plug-in Mod-Harbour (accennato
nell’articolo introduttivo – Harbour il ritorno di una leggenda) abbiamo la possibilita di
creare applicazioni web e ciò che stupisce riguarda la flessibilità di Harbour, un piccolo
gruppo di sviluppatori hanno creato un plug-in chiamato Harbourino in grado di scrivere il
codice degli elementi una volta sola e usarli in contemporanea sia su applicazioni desktop
che web ma questo lo vedremo in articoli futuri. Questo articolo era solo per aprire una
parentesi storica necessaria per capire le origini di Harbour e come questo linguaggio
abbia segnato un’epoca.

Link esterni:

Questo articolo prende riferimenti da : Storia dei compilatori xBase liberi | (appliserver.com) dal sito di Daniele Campagna

Related Posts
DB2 for i SQL – Stringhe – POSSTR-LOCATE-LOCATE_IN_STRING (IT)

Introduzione Spesso, nelle nostre applicazioni, abbiamo la necessità di lavorare con le stringhe di testo e l'SQL del DB2 può Read more

DB2 for i & SQL – FAQ & Howto (Part. 1) (IT)

Database DB2 e SQL ... forse lo strumento più potente e completo che abbiamo sulla piattaforma IBM i: ecco una Read more

Annuncio IBM i 7.4

Arriva direttamente con l'uovo di Pasqua questo annuncio IBM per le novità della versione IBM i 7.4, versione iNext secondo Read more

Generated Always Columns – Approfondimenti (IT)

Introduzione "Generated Always Column": sono colonne, campi, di una tabella il cui contenuto è controllato direttamente dal sistema ... e Read more

About author

Giorgio Caponera, appassionato sviluppatore del mondo IBM i, Fresh Face IBM nel 2019.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *