miércoles, 19 de enero de 2011

Perl: mitos y ventajas

Hace poco di con un interesante artículo escrito por Simons Cozens que trata sobre los diez mitos de Perl. Ese artículo data del año 2000 y tristemente todavía veo que esos mitos persisten.

Al margen de los mitos, yo veo a Perl como un C de buen rollo y a lo bestia: con pocas líneas y algunas expresiones regulares estás leyendo sólo lo que necesitas y a la vez de una base de datos, de un router, de una impresora, de un fichero de texto plano y de una web, lo pones todo en un informe y lo guardas donde quieras y en el formato que quieras (por ej. en HTML).

Luego el sistema operativo te da igual: el único sistema operativo que no soporta Perl yo creo que es el de las lavadoras (y no se yo). Allí donde haya una línea de comandos hay Perl, casi seguro. En concreto, para Windows recomiendo la distribución Strawberry Perl (también recomendada por Larry Wall que es el creador de Perl).

Y bueno, en el terreno de sistemas hay dos cosas: Perl para llegar a todo sistema que funcione (routers, switches, servidores, clientes, linux, microsoft, mac, solaris, etc) y donde no llega Perl llega PowerShell.

Qué decir de Perl y el mundo Web, si fue Perl junto con Apache y CGI el que construyó la web antes de que PHP llegara. Aún así, Perl persiste en webs serias y tiene muchas de las comunidades más serias que he visto en la red, como PerlMonks, entre otras.

He visto dos cosas que realmente me han impactado de Perl: una es la facilidad de aprenderlo (yo aprendí casi todo con este estupendo manual en castellano de Jose Miguel Prellezo) y la otra es la cantidad de módulos disponibles para hacer cualquier cosa o para llegar a cualquier cosa: CPAN.

Otra cosa que me gusta de Perl es que va al grano: es corto, rápido y conciso. Este ejemplo lo ví en el artículo de los diez mitos y es impresionante:

s/(.*):(.*)/$2:$1/

La línea de código anterior puede hacer lo siguiente: toma una línea de texto que contenga cualquier cosa, luego el símbolo de dos puntos y después cualquier otra cosa. Lo que hace es intercambiar las dos cosas que están a los lados de los dos puntos (puedes leer el artículo ya traducido para ver la explicación).

Sin dudarlo, de todos los lenguajes que he utilizado: Basic, Logo, Pascal, Ensamblador, Cobol, Batch, Bash, Python, Ruby, C, C++, C#, Visual Basic, Java, PowerShell y Perl, me quedo con este último.

No hay comentarios: