
Mastering Algorithms with Perl
Jarkko Hietaniemi, John Macdonald, Jon Orwant
- Editorial
- O'Reilly
- Año
- 1999
- Páginas
- ~704
- Nivel
- Avanzado
De qué trata
Tratado exhaustivo publicado por O'Reilly en 1999 y escrito a seis manos por Jarkko Hietaniemi (creador y bibliotecario principal de CPAN), John Macdonald y Jon Orwant (fundador de *The Perl Journal*). El texto aborda el análisis y la implementación de estructuras de datos y algoritmos clásicos aprovechando las características expresivas y nativas de Perl 5. Está pensado para desarrolladores con un nivel intermedio o avanzado en Perl que desean superar el uso del lenguaje como simple herramienta de secuencias de comandos (*scripts*) o manipulación de texto y buscan resolver problemas computacionales complejos con eficiencia de tiempo y memoria.
El manual cubre una amplitud temática excepcional, adaptando algoritmos canónicos al paradigma idiomático de Perl en lugar de limitarse a traducir código C o Java. Detalla el uso de referencias y estructuras anidadas, listas enlazadas, listas infinitas, árboles binarios, montículos (*heaps* como Janus Heap), matrices dispersas y grafos con algoritmos de recorrido y caminos mínimos. En el ámbito de algoritmos sobre texto y cadenas, explora la distancia de Levenshtein, fonética computacional (Soundex y Metaphone), compresión y optimización con el motor de expresiones regulares de Perl. Asimismo, dedica capítulos especializados a geometría computacional en dos y tres dimensiones, teoría de números (aritmética modular, números primos, factorización con `Math::BigInt`), criptografía clásica y moderna (DES, RSA, funciones hash como MD5), simulaciones probabilísticas de Montecarlo, estadística descriptiva y análisis numérico (derivación, integración numérica, resolución de raíces mediante el método de Newton y ajuste de curvas mediante *splines* cúbicos).
A lo largo del volumen, los autores presentan módulos funcionales y subrutinas reutilizables optimizadas, integrando módulos consolidados de CPAN y comparando el rendimiento de soluciones nativas en Perl frente a llamadas a bibliotecas externas en C. Su principal aportación es demostrar que Perl es un lenguaje apto para la informática teórica y científica, enseñando técnicas como la transformación Schwartziana para optimizar ordenaciones complejas y la gestión eficiente del recolector de basura por conteo de referencias. Al ser una obra de 1999, no contempla las adiciones modernas de Perl 5.20+ ni Perl 7, y asume que el lector ya domina el manejo fluido de referencias complejas, expresiones regulares avanzadas y programación orientada a objetos básica en Perl.
- Perl 5
- CPAN
- Estructuras de datos
- Expresiones regulares
- Algoritmos de grafos
- Procesamiento de texto
- Teoría de números
- Criptografía
- Análisis numérico
- Simulaciones de Montecarlo
- Transformación Schwartziana
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✗ Sin proyectos

