A Byte of Python

Perquè no Perl?

Per si no ho sabies, Perl és un altre llenguatge de programació. També és interpretat, de font lliure, i extremadament popular.

Si has intentat mai escriure un programa llarg en Perl, ja ets capaç de respondre a la pregunta tu mateix! En altres paraules, els programes Perl són fàcils mentre es mantenen petits. Perl és perfecte per a aconseguir que scrips i petites peces de codi “facin la feina”. Però de seguida es torna immanejable quan els programes comencen a ser grans. I parlo des de l'experiència d'escriure grans programes en Perl a Yahoo!

Comparant-lo amb Perl, els programes Python són definitivament més senzills, clars, fàcils d'escriure i, per tant, més comprensibles i fàcils de mantenir. Admiro Perl i el faig servir a diari per diferents tasques, però, sempre que haig d'escriure un programa, començo pensant en termes de Python. Perl ha patit tantes modificacions que sembla com si tot ell fos una gran i horrible modificació. Malauradament l'arribada del Perl 6 no sembla que hagi de portar cap millora al respecte.

L'únic (i molt significatiu) avantatge que trobo que ofereix Perl és la seva immensa biblioteca CPAN. Com el seu propi nom suggereix, aquesta biblioteca és una formidable col·lecció de mòduls de Perl totalment inabordable per la seva grandària i profunditat. Amb els mòduls d'aquesta biblioteca es pot fer virtualment qualsevol cosa que es pugui realitzar amb un ordinador. Una de les raons per les quals Perl disposa de més mòduls que Python és que el primer porta molt més temps que el segon. Mireu el projecte port-Perl-modules-to-Python2 a comp.lang.python :)

També la nova màquina virtual Parrot (Parrot virtual machine) ha estat dissenyada per executar tant el redissenyat Perl 6 com Python i altres llenguatges interpretats com ara Ruby, PHP i Tcl. El que tot això podria voler dir és que, en un futur, és possible que puguem fer servir tots els mòduls Perl des de Python. Això ens donaria el millor dels dos mons: la poderosa biblioteca CPAN combinada amb el poderós llenguatge Python. En tot cas, haurem d'esperar a veure que passa.