Home
Accesso / Registrazione
 di 

Il linguaggio Harbour - il vecchio Clipper ha nuova vita

01

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:

 

PROCEDURE Main ()
   CLS
   nScelta=1
   @ 09,08 TO 15,35 DOUBLE COLOR "rg+/n"
   @ 10,10 PROMPT "1) Inserimento.........."
   @ 11,10 PROMPT "2) Modifica............."
   @ 12,10 PROMPT "3) Visualizzazione......"
   @ 13,10 PROMPT "4) Stampa..............."
   @ 14,10 PROMPT "5) Cancellazione........"
   MENU TO nScelta
   RETURN
 

 

Oppure per realizzare un sistema per l'inserimento dei dati, è sufficiente scrivere il seguente piccolo programma:

 

PROCEDURE Main ()

   CLS
   cCognome = SPACE(20)
   cNome = SPACE(20)
   nEta = 0
   @ 07,18 TO 13,63 DOUBLE COLOR "g+/n"
   @ 08,20 SAY "Inserire il cognome  " COLOR "w+/n" get cCognome COLOR "rg+/r"
   @ 10,20 SAY "Inserire il nome     " COLOR "w+/n" get cNome COLOR "rg+/r"
   @ 12,20 SAY "Inserire l'eta       " COLOR "rg+/n" get nEta COLOR "w+/b"
   READ
   RETURN
 
 

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/

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog
ritratto di fuzzy

Interessante!! Ho imparato una cosa nuova..... può sempre tornar

Interessante!! Ho imparato una cosa nuova..... può sempre tornarmi utile!!

ritratto di Marek

Congratulazioni. Pensate anche alla creazione della versione ing

Congratulazioni. Pensate anche alla creazione della versione inglese di questo sito?

ritratto di remo.pe

clipper diventò inusabile a causa di un decompilatore detto valk

clipper diventò inusabile a causa di un decompilatore detto valkirie che permetteva di ricavare i sorgenti dagli exe del lavoro di uno sviluppatore.

ritratto di Giovanni Di Maria

SI, ricordo anch'io.... bei tempi...... anche se il PRG non risa

SI, ricordo anch'io.... bei tempi...... anche se il PRG non risaliva perfettamente all'originale....
In ogni caso, Harbour è difficilmente decompilabile...
Certo, contro gli hackers nulla si può.
Però Harbour ha anche l'utility UPX che compatta l'eseguibile, rendendolo più piccolo ma illegibile (da un editor esadecimale) e rende impossibile (o quasi) il "reverse engineering".

ritratto di Francesco Contalbi

CLIPPER!!!!!!!!! Quanto ci ho lavoratoooooooooooooooooooooooo

CLIPPER!!!!!!!!!
Quanto ci ho lavoratooooooooooooooooooooooooooooooo!!!! Bellissimo!! Benchè ora lavori con altri SW, NON l'ho mai dimenticato. Dopo DB III, col quale ho cominciato a guadagnarmi la pagnotta (dopo il politecnico e il suo FORTRAN 4), il Clipper.. Non sapevo che fosse stato mantenuto in vita. Lavoravo con un PC IBM e su un monitor a fosfori verdi da 14" che pesava 20 Kg solo lui... e un FAVOLOSO HD da 20 MB!!!! Un lusso: costava quanto una utilitaria... La mia SW House (che ora non esiste più da decenni) cambiò linguaggio... e io lavoro. Quanti ricordi, e con che facilità si scrivevano programmi e interfaccie video (.. o meglio... maschere, come si chiamavano allora).Ho ancora le mie librerie e il MAKE su floppy!!! Funzioneranno ancora?

Grazie X questa splendida notizia.. lo scarico subito e mi rimetto a guardarlo.... Quanti anni sono passati... La mia gioventù !!!

ritratto di Giovanni Di Maria

Puoi scaricarlo dal sito ufficiale: href="http://harbou

Puoi scaricarlo dal sito ufficiale:

http://harbour-project.sourcef...
...e qui ci sono alcuni miei tutorial su Harbour, molto apprezzati in tutto il mondo....

http://www.elektrosoft.it/tuto...

ritratto di Piero Boccadoro

Concordo. Effettivamente c'è sempre da imparare tanto con gli

Concordo.
Effettivamente c'è sempre da imparare tanto con gli articoli di Giovanni :)

ritratto di Maurizio

Buon giorno..dove posso trovare un tutorial ?. Grazie

Buon giorno..dove posso trovare un tutorial ?. Grazie

ritratto di Emanuele

Un tutorial sul Clipper? Mi sembra un po' anacronistico non dici

Un tutorial sul Clipper? Mi sembra un po' anacronistico non dici?

Per quale scopo ti serve: educational, professional, know-how.....

ritratto di Giovanni Di Maria

Penso che Maurizio si riferisca al tutorial su Harbour. (Clipper

Penso che Maurizio si riferisca al tutorial su Harbour. (Clipper è morto...)
Una precisazione: il compilatore Harbour, di cui parlo nell'articolo, è un compilatore nuovo e moderno, Riesce a compilare al 100% qualsiasi sorgente PRG di Clipper, infatti è compatibile al 100%.
In aggiunta, Harbour mette a disposizione nuove potenzialità moderne, come gestione dati via Server, condivisioni archivi, gestione SQL e MySQL, generazioni di PDF, ecc ecc ecc ecc ecc.

Quindi, se devi usare Harbour come successore di Clipper e tiserve una guida, puoi basarti sulle miriadi di guide di Clipper che trovi in rete.
Se vuoi conoscere le nuove potenzialità di Harbour invece devi iscriverti ai relativi gruppi di discussione.
Puoi anche visionare alcuni miei tutorial che trovi al sito pubblicato nel mio profilo.

ritratto di Piero Boccadoro

È straordinario come ciascuno di noi sia capace di affezionarsi

È 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 :D

ritratto di Giovanni Di Maria

E' vero Piero... io del linguaggio Harbour sono letteralmente "d

E' vero Piero... io del linguaggio Harbour sono letteralmente "drogato". Come il Linux, crea dipendenza...

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 6 utenti e 36 visitatori collegati.

Ultimi Commenti