Ricordate il linguaggio Clipper, con cui si creavano e gestivano le applicazioni con i Database? Da oggi tale linguaggio è risorto dalle sue ceneri, molto più potente e versatile di prima. Il suo nuovo nome: Harbour.
Clipper era (ed è...) un potente linguaggio di programmazione. Veniva utilizzato prevalentemente per la creazione di programmi gestionali con database relazionali, funzionanti all'interno del sistema operativo MS-DOS. Clipper era molto in voga negli anni ottanta, quale compilatore, anche per il linguaggio DB3. Il suo successo venne decretato per molte caratteristiche che lo rendevano diverso da altri linguaggi di programmazione. Tra queste ricordiamo:
- la facilità con cui si realizzavano interfacce video molto gradevoli come, ad esempio, sistemi a menu a tendina, input e validazione dei dati a video, il tutto con una semplicità impressionante;
- la semplicità di creazione, gestione ed utilizzo di un sistema completo di database, con tanto di archivi, indici, relazioni e quant'altro potesse prevedere l'utilizzo di dati ed informazioni ad alto livello;
- la possibilità di eseguire il debug ed il controllo del programma, riga per riga, con possibilità di visualizzare anche lo stato delle variabili, in tempo reale;
- la possibilità di compilare il codice sorgente in eseguibile (EXE) da distribuire liberamente ai propri clienti ed utenti;
- presenza di tanti tool per la creazione dei databases, report, etichette e buste, e tanti altri.
Naturalmente, come ogni settore dell'informatica, i tempi sono cambiati e, se nell'intervallo temporale compreso tra il 1980 ed il 2000, le copie di questo prodotto furono milioni, con l'evoluzione dell'hardware e dei sistemi operativi, il Clipper cominciò poco a poco a tramontare. Ricordiamo che il compilatore era disponibile solamente per piattaforme basate sul sistema operativo MS-DOS. Inoltre, la struttura base a 16 bit, imposta ovviamente dai PC, limitava non poco l'efficenza e la velocità. Ciò nonostante, il Clipper era uno dei pacchetti maggiormente venduti al mondo.
Col passare degli anni, e del susseguirsi delle aziende commerciali che commercializzavano Clipper, le vendite diminuirono sempre più ed il prodotto tramontò, risultando di fatto obsoleto.
Non scomparvero però i numerosissimi programmatori ed appassionati del linguaggio Clipper che, aspettando fiduciosi un miracolo, furono premiati in breve tempo. Così, grazie all'opera instancabile di programmatori molto in gamba, nacque Harbour, un compilatore che doveva sostituire in toto Clipper. In effetti fu cosi in quanto, oltre a garantire la piena compatibilità al 100%, esso introduceva nuove caratteristiche, compatibili con l'odierna tecnologia informatica. La versione 1.0.0 vide la luce nell'agosto del 2008.
Nacque così Harbour Project, un ambizioso progetto che offriva le caratteristiche (e molto più) dell'ormai tramontato Clipper. Il progetto mantenne subito le promesse e, in poco tempo, gli utenti misero in moto una colossale macchina composta da forum, repository, progetti ed altro.
Harbour, come detto prima, permette di realizzare interfacce di testo molto complesse, scrivendo poche righe di codice. Ad esempio, per realizzare un menù di scelta a video, è sufficiente creare il seguente programma:
Oppure per realizzare un sistema per l'inserimento dei dati, è sufficiente scrivere il seguente piccolo programma:
PROCEDURE Main ()
Il linguaggio Harbour (ormai è lecito chiamarlo così) dispone anche di tecnologie avanzate al passo dei tempi. Basti pensare che esso offre, tra le tante, seguenti caratteristiche:
- Connessioni dati ADO, SQL e ODBC;
- XML, TCP-IP, FTP, ecc;
- Può essere utilizzato con tantissimi sistemi operativi (Windows, Linux, Mac, Arm, ecc);
- Da oggi possono essere realizzate anche complesse interfacce GUI, utilizzando librerie come le QT;
- I vecchi problemi di memoria statica sono stati completamente eliminati.
- E molti altri...
Dal momento che Harbour è gestito da tanti volontari è lecito aspettarsi l'esistenza di tanti pacchetti ed utilità che completano il nucleo centrale. In effetti è cosi, infatti esso dispone di "contribs", ossia di svariati contributi che gestiscono qualsiasi tipo di esigenza. Tra i contributi più importanti ricordiamo:
- hbformat - Harbour source code formatter
- hbexpat - libexpat wrapper (XML parser)
- hbgt - GT library
- hbodbc - ODBC wrapper (SQL/db)
- hbzebra - Barcode creating functions
- sddodbc - RDDSQL ODBC backend
- hbtip - TCP/IP-specific comm. protocol functions
- hbhpdf - wrapper (PDF)
- e, tanti, tanti altri.
I sorgenti (PRG) di Harbour possono essere creati con qualsiasi editor testuale, dal momento che i listati (PRG) sono semplici files di testo. Ad ogni modo, la comunità di Harbour ha previsto un eccezionale ambiente di sviluppo, che agevola enormemente le operazioni di programmazione di un programma. L'ambiente è hbIDE e mette a disposizione del programmatore tanti strumenti di sviluppo, quali documentazioni sui comandi e funzioni, colorazione sensibile del codice, tools vari, gestione automatica del progetto, debug integrato, strumenti testuali di ricerca e molti altri.
Harbour può creare anche programmi con interfaccia GUI. E' sufficiente infatti interfacciare il linguaggio con le famore librerie QT della Nokia, per ottenere uno stabile e affidabile programma, utilizzabile su qualsiasi sistema operativo.
I programmatori di Clipper hanno adesso una ragione in più per programmare ed utilizzare i loro programmi. La compatibilità è infatti del 100% e qualsiasi vecchio programma può essere ricompilato senza problemi con il nuovo ambiente.
Harbour è la soluzione consigliata per i programmatori esigenti che hanno la necessità di creare, in poco tempo, veloci e sicure applicazioni. Inoltre esso è completamente gratuito, supportato da migliaia di persone disponibile e professionali ed è open-source.
Concludendo, ecco alcune ottime motivazioni per utilizzarlo nel proprio lavoro:
- Perché è un software gratuito compatibile al 100% con i compilatori Clipper;
- Perché rimuove alcuni dei limiti imposti dalla implementazione di base, ma la portata di questo dipenderà dalla piattaforma scelta;
- Perché Harbour è altamente stabile, solido ed efficiente;
- Perché Harbour supporta RDDs driver di database (sostituibili) per consentire il collegamento a più fonti di dati;
- Perché Harbour è portabile su più sistemi operativi, utilizzando lo stesso codice sorgente;
- Poiché l'architettura è completamente aperta e supporta contributi di terze parti;
- Perché Harbour è open-source, e quindi non è soggetto alle decisioni di una società privata;
- Perché Harbour è sviluppato da un team di grande esperienza.
Harbour può essere scaricato all'indirizzo http://harbour-project.sourceforge.net/
Interessante!! Ho imparato una cosa nuova….. può sempre tornarmi utile!!
clipper diventò inusabile a causa di un decompilatore detto valkirie che permetteva di ricavare i sorgenti dagli exe del lavoro di uno sviluppatore.
Concordo.
Effettivamente c’è sempre da imparare tanto con gli articoli di Giovanni 🙂
Un tutorial sul Clipper? Mi sembra un po’ anacronistico non dici?
Per quale scopo ti serve: educational, professional, know-how…..
È straordinario come ciascuno di noi sia capace di affezionarsi con questo trasporto anche a cosa inanimate 🙂
Ho reazioni simili ogni volta che vedo o sento parlare di Doom, il primo viedogioco che io abbia mai giocato 😀
Molto interessante, Clipper l’ho usato in passato e l’avevo quasi dimenticato. Darò sicuramente un’occhiata, nella speranza che mi venga qualche buona idea.
Il Clipper e’ ormai tramontato.
Ma il nuovo Harbour, oltre a riprodurre al 100% tutte le sue caratteristiche, propone nuove innovazioni, indispensabili con la tecnologia informatica di oggi. Per esempio. ecco alcune delle nuove sue peculiarita’:
– Gestisce server, ftp, http
– Multipiattaforma
– Freeware
– Archivi zip
– Librerie Clipper Tools
– Connessioni remote
– Gestisce PDF
– Xml
– Array con indice testo
– TImestamp
– Oggetti
– SQL
– ODBC
– ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc ecc
Negli anni ’80 scrissi, a mio uso e consumo, dei programmi utilizzando il compilatore Clipper e il Database DBIII in ambiente DOS.
Questi programmi hanno funzionato perfettamente in ambiente Windows fino all’XP.
Con il Vista dovetti rinunciare alla funzioni grafiche ed all’uso del mouse ma il compilatore funzionava ed anche il DBIII.
Ora, il Windows 10 si rifiuta di avviare sia i miei programmi che il compilatore e il DBIII.
Può Harbour aiutarmi a gestire tali problemi? Grazie.
Lo so che è tardi ma io uso vdos
La versione mod, non quella commerciale
Una bomba
Salve.
Certamente. Harbour è stato creato proprio per lavorare con i nuovi S.O. (anche Linux).
Scarichi le ultime versioni di Harbour (consiglio le “nightly”) e compili tranquillamente i suoi sorgenti.
Buon Natale
Grazie, proverò . dopo la bufera natalizia.
Se dovessi avere difficoltà chiederò di nuovo aiuto, 50 anni fa ero un valente sistemista sui grandi mainframe, Ora comincio ad essere un po’ obsoleto!!!!
Buon Natale.
Io non sono mai riuscito a far niente con HB, ho settato le variabili d’ambiente ma niente sempre errori, non vanno gli esempi, non va neppure ciao mondo (da comandi si), copio il codice per fare una finestra grafica ma niente una saccata di errori e documentazione zero ovunque. Un vero peccato perché avrei voluto provare alcune interessanti cose che ho scritto (negli anni 90 scrivevo librerie per gli altri programmatori e fui citato). Ma tutta questa perdita di tempo ne cercare di farlo andare fa perdere la voglia, lascio i programmi girare su macchine virtuali che girano a meraviglia