[Linuxtrent] Re: W Perl ;)

  • From: Daniele Nicolodi <daniele@xxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Thu, 30 Sep 2004 15:50:20 +0200

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


Other related posts: