Perl: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Xqbot (discussione | contributi)
Yuiop (discussione | contributi)
mNessun oggetto della modifica
Riga 43:
* 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 rilasciati con licenze open source, 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í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.
 
Altre caratteristiche importanti di Perl sono:
Riga 65:
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.
 
Gli sviluppatori Perl esperti, in verità, non sentono l'esigenza di strumenti diversi da [[vi (software)|vi]] o [[Emacs]], e quest'ultimo in particolare permette di effettuare il [[debugging]] di ogni programma Perl, con narrowing, colorazione della sintassi, macro, breakpoint, single step etc.
 
== Programmi di esempio ==