Perl
Perl (acronimo di Pratical Extraction and Report Language) è un linguaggio di scripting creato nel 1987 da Larry Wall. Si ritiene che il numero di programmatori e utilizzatori di Perl sia comparabile a quello per Java. Benché sia noto come linguaggio idoneo per lo sviluppo di CGI, Perl è stato creato inizialmente come ausilio ai sistemisti, come linguaggio di manipolazione del testo e dei file. Si è evoluto tramite il sistema dei moduli in un linguaggio a carattere più generale, comprendente l'elaborazione di immagini, l'interrogazione di banche dati e i processi di comunicazione via rete. Ciò è reso possibile pure dal fatto che è possibile integrare codice scritto in C in un programma Perl. A partire dalla versione 5, il linguaggio stesso permette (ma non obbliga) di scrivere programmi orientati agli oggetti.Perl è comunemente ritenuto un linguaggio interpretato, ossia che per essere eseguito viene interpretato al momento dell'esecuzione. In realtà , la prima cosa che fa l'interprete è di trasformare il codice sorgente in un grafo intermedio, ed è questo grafo ad essere interpretato. Questo approccio permette di limitare la lentezza tipica dei linguaggi interpretati.
Nato in ambiente Unix e distribuito contemporaneamente con due licenze liberali, la GPL e la Licenza Artistica, è disponibile anche per i sistemi operativi Windows e Macintosh. L'implementazione per Windows più diffusa viene distribuita da una società , la ActiveState, che da un lato offre con una licenza opensource moduli specifici per il sistema operativo Windows, dall'altro vende degli ambienti di sviluppo integrati, sia per Perl che per altri linguaggi opensource quali ad esempio Python e Tcl.
Benché si ritenga che sia una delle grandi novità nel campo della programmazione, il giudizio su Perl da parte della comunità di programmatori è vario. Da un lato viene giudicato negativamente per il fatto che facilita la scrittura di programmi difficili da leggere e quindi rendendo complicata la loro manutenzione (al punto che il nome del linguaggio è stato reinterpretato come Pathologically Eclectic Rubbish Lister); dall'altro viene apprezzato per la facilità di scrivere programmi potenti, ma semplici e per la libertà semantica che lascia al programmatore, al punto che "non c'è un unico modo di fare le cose" è uno dei modi di dire legati a Perl. Wall - che per formazione è un linguista - ritiene questa libertà semantica un pregio, in quanto più simile al linguaggio umano. Un ulteriore aspetto positivo che attrae i programmatori è l'ampia disponibilità di moduli rilasciati con licenze opensource, quasi sempre le stesse di Perl. Moduli solitamente documentati bene, in quanto il linguaggio stesso offre il Pod, un modo di includere la documentazione all'interno del codice, garantendo cosà che assieme al modulo ci sia pure la documentazione. La comunità ha creato un sito particolare, chiamato CPAN, il quale organizza per argomenti i moduli ritenuti particolarmente validi. I moduli stessi non sono archiviati in quel sito, ma rimangono sui siti scelti dai loro autori. Infine, in quanto linguaggio interpretato e dunque sempre distribuito con il codice sorgente visibile, favorisce la pratica liberale.
Una delle caratteristiche più importanti di Perl sono le espressioni regolari, che permettono la ricerca e la sostituzione di stringhe di testo descritte con caratteri speciali. Le espressioni regolari non sono un'esclusiva di Perl, e anzi sono state derivate da Wall a partire da espressioni già esistenti, ma quelle di Perl sono riconosciute come le più potenti e numerosi linguaggi le emulano mediante funzioni di libreria o moduli esterni.
Il linguaggio e l'interprete vengono sviluppati da un gruppo di circa cento sviluppatori, guidati da Wall, il quale prende le decisioni finali su cosa includere nel codice. Gli sviluppatori hanno creato il Perl Institute per facilitare lo sviluppo di Perl e migliorarne la visibilità e organizzano conferenze. Wall stesso lavora per la O'Reilly, una casa editrice che sostiene attivamente il movimento Open Source.
Perl fa parte degli strumenti standard dei sistemi operativi Unix. Il suo aggiornamento può essere fatto sia da Internet che tramite le distribuzioni dei sistemi operativi liberi, quali Linux, Open-BSD, ecc. Le versioni per Windows possono anch'esse essere scaricate da Internet. Ad alcuni manuali di Perl viene allegato un CD-Rom comprendente le versioni per diversi sistemi operativi e tutti i moduli compresi nel CPAN.
Links utili:
- in italiano:
- http://www.perl.it
- Alcune buone ragioni per usare Perl di Daniele Radogna [1]
- Perl FAQ [1]
- in inglese:
- http://www.perl.org
- http://www.perl.com (com come Comunity, non come Comerce)
- http://www.cpan.org (l'archivio coordinato dei moduli disponibili)
- http://www.perlmonks.org