Newsgroup: it.comp.lang.perl
Titolo: velocita' perl

Buongiorno, sono tibubante se imparare perl o meno (ho qui il - divertente e 
complicato - libro del dromedario)
Ho registrato un dominio con 
register.it
, insieme all'opzione che mi 
permette di usare anche il linguaggio perl. Nel caso lo usassi come CGI, 
perl e i moduli usati verrebbero caricati ad ogni richiesta, oppure una 
volta per tutte? E' possibile lasciare appeso un processo in ascolto, ed e' 
complcato da realizzare?
Perl istintivamente mi piace molto, anche se alcuni aspetti mi lasciano 
perplesso (cose come lo scambio di variabili senza passare per variabili 
intermedie).
Ultime domande: Perl sa interfacciarsi alla grafica 3D, magari sul web con 
VRML o simili? (moduli CPAN?)
Mi chiedo se abbia senso imparare perl da zero (vengo da Linux e C) con 
linguaggi come Ruby e Phython in giro.
Grazie molte, cordiali saluti
-- 
Enos
eno...@gmail.com
 

enos76 wrote:

Riprova facendo una domanda alla volta, e circostanziandola meglio ;-)
Ciao,
Emanuele.

 linguaggi come Ruby e Phython in giro.
[snip]
Mi chiedo se abbia senso chiederlo a noi... Un po' come la storia
"Oste, è buono il vino? - Certo!"
Per le domande più specifiche attieniti al consiglio di Emanuele.
Ciao,
   Flavio.

linguaggi come Ruby e Phython in giro.
Considerando le sole caratteristiche del linguaggio, personalmente oggi mi
rivolgerei piuttosto a Ruby, che trovo seducente (posto che un linguaggio
possa essere seducente) per sintassi e filosofia, un Perl migliore di Perl
per così dire (così come, a suo tempo, sono passato a Perl perché era un
Awk migliore di Awk).
Python, con tutto il rispetto (ho visto applicativi molto interessanti
scritti interamente in Python), non mi ha mai attirato e non ho mai capito
la passione dei Pythonisti. Che d'altra parte esiste, e bisogna pensare che
abbiano anch'essi i loro motivi.
Nella valutazione di un linguaggio, però, entrano anche altre
considerazioni, prima fra tutte la disponibilità di librerie di codice
riutilizzabile per i più svariati compiti. La mia impressione (e, per quel
poco che conosco, non può essere più che un'impressione) è che su questo
aspetto Ruby sia ancora un po' indietro rispetto a Perl e fors'anche a
Python, anche se l'elenco di librerie, applicazioni e progetti Ruby è ormai
piuttosto numeroso.
Questo, per quello che vale, il parere di un oste. La risposta definitiva
te la devi trovare da solo.
Ciao.

 Per le domande più specifiche attieniti al consiglio di Emanuele.
Io entro gia' nella filosofia di perl, scrivendo un programma intero su due 
righe, e voi mi smontate cosi'! ;-)
Grazie
-- 
Enos 

 rivolgerei piuttosto a Ruby [...]
Grazie molte dell'aiuto. Studiero' un poco di Ruby prima di fare la scelta.
-- 
Enos

 su due righe, e voi mi smontate cosi'! ;-)
Ahia, non iniziare con il lato oscuro di Perl :-)
Anche se Perl te lo permette cerca di far codice leggibile o ti assicuro che 
nemmeno tu riuscirai a leggere il tuo codice anche solo a distanza di pochi 
mesi.

(come del resto ha fatto in parte l'oste Giovanni)
Il vino è ottimo, semmai è l'erba che, a volte, sembra più verde altrove.
La verità è che Ruby sembra sia stato disegnato apposta per attrarre gli
utenti Perl; vedi l'articolo di Mike Stock "Delightful Languages: Ruby"
apparso nientemeno che in "The Perl Review" nell'ormai lontano 2002:
 
http://www.theperlreview.com/Issues/The_Perl_Review_0_6.pdf
Peraltro, da quello che ho sentito, molte delle caratteristiche più
interessanti di Ruby dovrebbero apparire in Perl 6, che però per il momento
non è molto appariscente.
Ciao.

> linguaggi come Ruby e Phython in giro.
Per quanto riguarda 'Perl vs Python' ti propongo un po' di considerazioni:
http://www.lulli.net/frog/main.cgi?id=112
Ruby non saprei...

 
http://www.lulli.net/frog/main.cgi?id=112
Che tristezza... A parte che confrontare le velocita' solo sull'I/O...
Io per esempio ho trovato python molto piu' prestante in applicazioni
scientifiche. 
Potremmo aggiungere a favore di python la presenza del tipo set, che ti
permette di fare operazioni su insiemi che con perl devi gestire tramite
hash.
Non credo dobbiamo farne una questione di prestazioni, o meglio, non
solo. Perl e' dannatamente comodo per alcuni scopi, python ha altre
caratteristiche interessanti, punto. Come al solito dipende cosa vuoi
fare.
d


A parte che la differenza di velocità non così eclatante (stiamo
parlando di Perl vs Python, non di C vs Python), a parte il test che
riguarda il solo campo dell'I/O su disco non mi pare che l'autore
fornisca molte altre motivazioni a supporto della sua 'tesi'.

dawe wrote:

In linea di massima concordo con le osservazioni di carattere generale, 
ma vorrei riferire che la mia esperienza, ancorché limitata, mostra che 
Perl puro è più veloce di Python puro nel calcolo numerico.
Questo è uno script dello shootout:
http://shootout.alioth.debian.org/gp4/benchmark.php?test=partialsums&lang=perl&id=3
che, ancorché banale, è di number-crunching puro.
Su questo benchmark, Python viene letteralmente ammazzato da Perl (lo 
script è riportato nell'elenco come "Perl #3"):
http://shootout.alioth.debian.org/gp4/benchmark.php?test=partialsums&lang=all
impiegando lo script Perl un tempo di calcolo inferiore di oltre il 40% 
rispetto alla controparte Python (il codice dei 2 script è pressoché 
identico e quindi confrontabile).
Come se non bastasse, lo script Perl impiega poco più della metà della 
memoria di quello Python.
Per inciso, in questo benchmark Perl batte anche PHP e Ruby, sia per la 
velocità che per l'occupazione di memoria.
Poi certamente Python ha implementazioni particolari ed estensioni 
scritte in C, ma a quel punto anche Perl ha PDL, Math::GMP, Math::Pari e 
un'infinità di altri moduli per il calcolo.
Per concludere, con l'esempio riportato non intendo implicare 
conclusioni di carattere generale sulla velocità di Python (che in 
generale è *molto* veloce), né sulla velocità di Python nelle cosiddette 
/applicazioni scientifiche/ (che vuol dire tutto e niente), ma solo 
mostrare come Perl sia estremamente efficiente anche in ambiti 
"inaspettati".
Infine, Perl 5.10, che sta per uscire, sarà ancora più veloce ;-)
Ciao,
Emanuele.

 non è tanto strano... PHP come linguaggio puro è poverello poverello).
Infatti.
I punti di deboli di PHP non risiedono tanto nell'efficienza (comunque 
inferiore a Perl) quanto nell'estrema inconsistenza (sia sintattica che 
semantica) del linguaggio e nella mancanza di una serie di feature 
essenziali:
http://tnx.nl/php
;-)
Ciao!

 linguaggi come Ruby e Phython in giro.
Come fan di Python e Perl, e con il caveat che non ho ancora scritto
troppo codice, ti dico due cose:
una, entrambi i linguaggi sono eccellenti in diverse cose: se devi
lavorare in manipolazione di testi, Perl è di molto superiore a
Python. È basicamente il suo forte (anche se forse non l'unico). Se
invece vuoi creare programmi a oggetti, la sintassi Python mi sembra
molto più comoda.
due, quello che mi piace tanto di Python è il suo spirito "batteries
included", che in Perl invece è sostituito dalla CPAN. Oltre al fatto
che la sintassi di Python mi pare molto più leggibile, per certe cose
(quando parliamo di regexes, invece, ha la meglio il Perl, ma potremmo
anche dire che le regexes non sono nè Python nè Perl veramente :)
Consiglio finale: entrambi, se vuoi, altrimenti quello che ti serve di
più per lavorare.
--
Saludos
Adriano