On Thu, Sep 30, 2004 at 02:30:20PM +0200, Luca Manganelli wrote: > E voi per chi tifate? :) Python, ovviamente, anche se non credo nelle soluzioni universali. Dopo aver programmato per molto tempo e moltissime righe di codice in perl mi sono avvicinato a python e mi sono accorto che è decisamente meglio sotto quasi tutti i punti di vista. Alcune grossi problemi del perl che mi vengono in mente sono: 1. Non ci sono i tipi di dato, o meglio ci sono le conversioni automatiche di tipo, per un problema che risolvono ne introducono un centinaio. 2. Estrema confusione, in parte causata dal punto sopra, tra 0, "", undef negli operatori di confronto. 3. Implementazione del paradigma ad oggetti a dir poco penosa. 4. Mancanza delle eccezzioni che unita alla mancanza di tipi rende un casino ritornare qualcosa di consistente da una funzione. 5. Pretesa di essere un linguaggio "all inclusive". Alla fine se vai fuori da quelle quattro cose che fai tutti i giorni devi stare semrpe con il manuale sottomano. 6. Mancanza di una qualsiasi forma di introspezione. Una delle migliori features del python. 7. Mancanza di un interprete interattivo. Dicono che il perl serve per fare script per risolvere problemi in modo rapido... io trovo molto più rapido usare la command line python: per script di poche righe si riduce il tempo necesario a scriverli di un ordine di grandezza combinando sviluppo e testing in un unica fase (utilissimo soprattutto con le espressioni regolari, che dovrebbero essere un punto forte del perl). 8. Sintassi mostruosa. Questo è un programma perl valido: #!/usr/bin/perl $b = { "c" => [ { "a" => 1 } ] }; $a = [ keys(%{shift(@{$b->{'c'}})}) ]; print join("\n", @{$a}), "\n"; ma capire che cosa fa non mi pare assolutamente semplice. 9. Sicuramente c'è altro ma adesso non mi viene in mente... Ciao -- Daniele Physics is like sex. Sure, it may give some practical results, but that's not why we do it. -- Richard P. Feynman -- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx