Perl: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Festival del Rilasciato + rimosso un po' di NPOV |
|||
Riga 47:
In verità con i moduli Inline:: sono diversi i linguaggi in cui possono essere definite le funzioni di un sorgente Perl.
Perl è comunemente ritenuto un [[Linguaggio di programmazione|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 [[bytecode]], un po' come Java; sul bytecode crea un [[grafo]] intermedio sul quale applica ottimizzazioni, ed è questo grafo ad essere interpretato. Questo approccio permette di limitare la lentezza tipica dei linguaggi interpretati. La versione del [[Perl 6]]<ref>{{Cita web|url = http://perl6.org|titolo = Perl 6|accesso = 2015-08-06|sito = perl6.org}}</ref>, in via di sviluppo da alcuni anni, divide l'esecutore del bytecode (o virtual machine) dal linguaggio in modo tale da permetterne l'utilizzo anche da compilatori di altri linguaggi, tra cui [[Tcl]], [[Python]], [[Java (linguaggio)|Java]], etc.
La virtual machine che ne deriva sarà una nuova base per lo sviluppo di linguaggi liberi e consentirà livelli di ottimizzazioni molto elevati e indipendenza dallo sviluppo dei linguaggi sovrastanti.
Nonostante il Perl 6 non sia ancora
Ancora una volta è stato messo in evidenza come il Perl sia un linguaggio "socievole", che tende quindi a interagire con gli altri linguaggi e ambienti di sviluppo, siano essi: dialetti shell, altri linguaggi interpretati, linguaggi specializzati (come l'SQL), o i più comuni linguaggi compilati. Questa è la ragione che determina il successo di Perl nell'integrazione di sistemi diversi.
Riga 63:
* dall'altro viene apprezzato per la facilità di scrivere programmi potenti ma semplici, 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
Altre caratteristiche importanti di Perl sono:
Riga 78:
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 [[GNU/Linux]],
[[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.
La comunità Perl è sovente attaccata per l'assenza di un [[Integrated development environment|IDE]] come quelli presenti per Java che rendano semplice l'avvicinamento al linguaggio da parte dei neofiti.
In realtà la ricchezza espressiva del Perl rende complicata la realizzazione di un IDE che evidenzi errori di costruzione degli statement, e dati i numerosi valori di default delle funzioni base risulterebbe oltremodo difficile comprendere in automatico cosa vuole ottenere il programmatore, dove c'è un errore o forse no. Tuttavia Eclipse contiene un'estensione per il Perl e forse altri editor di codice seguiranno.
== Programmi di esempio ==
Riga 114 ⟶ 111:
In questo secondo caso notiamo come sia possibile scrivere lo stesso programma in un altro modo.
Nota: la dichiarazione ''my'' non è strettamente necessaria a meno che non si utilizzi il modulo pragmatico ''strict'', ma quest'ultimo è raccomandato dalla stragrande maggioranza di programmatori perl, insieme a ''warnings'', poiché restringe la libertà del programmatore in modi che prevengono di compiere errori di programmazione banali ma molto comuni, obbligando a pratiche di programmazione più disciplinate che in altri linguaggi sono imposte di default.
| |||