Enable JQuery execution.
Abilitare l'esecuzione di JQuery
Use an SVG enabled browser (eg Chrome, Firefox) for a proper visualization of the content.
See instructions here.
Per una corretta fruizione dei contenuti del sito deve essere utilizzato un browser abilitato alla visualizzazione di SVG (es. Chrome, Firefox).
Vedere le istruzioni qui.

Free Pascal e Lazarus

Uno dei linguaggi di programmazione che utilizzo è il Free Pascal

Lazarus è l'ambiente di sviluppo a interfaccia grafica (IDE e librerie) che permette di usare agevolmente Free Pascal. Da notare che Lazarus è scritto in Free Pascal.

Per la descrizione del linguaggio si trovano varie risorse in internet

Ad esempio:

Descrizione su Wikipedia

Sito principale Free Pascal

Sito principale Lazarus

Community internazionale sul linguaggio Free Pascal

 

Non mi dilungo ad elencare le caratteristiche del Free Pascal.

Qui voglio solo descrivere brevemente quali aspetti di questo linguaggio trovo interessanti.

Spero di far capire perchè, nonostante non sia un linguaggio "alla moda", è tuttavia degno di considerazione.

 

Object Pascal

Deriva dal Pascal, linguaggio di lunga tradizione (dal 1970) ideato da Niklaus Wirth per una programmazione corretta e pulita. E' stato molto usato in passato per apprendere la programmazione.

Nell'Object Pascal sono stati introdotti i costrutti necessari per realizzare la programmazione ad oggetti.

E' un linguaggio di programmazione che non pone limiti a ciò che si vuole realizzare.

E' facile da apprendere e da scrivere.

 

General purpose

Si possono produrre ogni genere di programmi: programmi console, programmi con interfaccia grafica, librerie di codice, applicazioni web, app per smartphone, ecc.

 

Multipiattaforma

L'ambiente di sviluppo (IDE e librerie) è disponibile per molti sistemi operativi, in particolare Linux, Windows, macOS.

Gli strumenti disponibili consentono di produrre programmi eseguibili su una grande varietà di dispositivi. E' possibile sviluppare applicazioni per Linux, Windows, macOS, Android, iOS, web, e molto altro.

Se non si usano funzionalità specifiche di un particolare sistema operativo, si può prendere un programma sviluppato in Linux e produrre un eseguibile per Windows senza doverlo modificare. Questo vale non solo per programmi console, ma anche per programmi con interfaccia grafica che sappiamo essere particolarmente problematici vista la grande varietà di interfacce disponibili.

 

Compilato

Produrre un programma eseguibile, in linguaggio macchina, ha vari vantaggi.

I programmi ottenuti sono veloci. Non sono necessari interpreti per decodificare ed eseguire le istruzioni, ma si lavora direttamente con il processore sfruttandone appieno le potenzialità. La velocità ottenibile è paragonabile a quella del C/C++.

Distribuire un programma compilato protegge meglio la proprietà intellettuale. Decompilare e capire un programma compilato è molto difficile. Al contrario, vari linguaggi "alla moda" sono interpretati e richiedono la distribuzione del codice sorgente, che può essere studiato e copiato.

La compilazione dei programmi è molto rapida e si ottiene velocemente il programma eseguibile da provare o distribuire.

 

GUI

L'ambiente di sviluppo è dotato di librerie di componenti grafici che si adattano alle varie interfacce grafiche dei principali sistemi operativi.

L'utilizzo dei componenti grafici è molto semplice e intuitivo.

 

Ricco di librerie

C'è una comunità di sviluppatori piccola, ma molto vivace. Sono disponibili librerie per fare una gran varietà di cose.

 

Compatibile con Delphi

Il progetto si propone come alternativa open source dell'ambiente proprietario Delphi, con cui cerca di mantenere una certa compatibilità.

Il passaggio di un programma da un ambiente all'altro presenta qualche complicazione, ma nulla di insuperabile.

 

Open source

Sono disponibili i sorgenti dell'IDE e del compilatore, nell'eventualità che si voglia studiare come è stata realizzata una certa funzionalità.

 

LGPL

Pur essendo open source, viene rilasciato con licenza LGPL che consente di creare programmi closed source commerciabili.

 

Gratuito

Non costa niente e viene aggiornato con una certa frequenza.

 

Nel corso del tempo ho avuto modo di apprendere e utilizzare vari linguaggi di programmazione. Per quelle che erano le mie esigenze, dei vari linguaggi/ambienti ho avuto modo di apprezzare i pregi e cogliere le mancanze.

La gran parte della mia esperienza è sul Pascal, avendo iniziato molti anni fa col Turbo Pascal e passando poi al Delphi e infine al Free Pascal.

Anche se come puro linguaggio di programmazione personalmente preferisco l'espressività del C++, devo dire che come ambiente di sviluppo nel suo complesso non ho ancora trovato un valido sostituto a Delphi/Free Pascal, almeno per quelli che sono i requisiti che a mio parere dovrebbe avere un linguaggio di programmazione.

Ovviamente, rinunciando alla compilazione e/o all'interfaccia grafica e/o allo sviluppo multipiattaforma, si trovano linguaggi e ambienti di sviluppo egualmente interessanti.