hummm... mi experiencia me dice que los programadores que están interesados en hacer virus,
1.- se han visto todas las películas del género, desde
Juegos de guerra (1983) a
la trilogía Millenium (2005), pasando por
Sneakers (1992)
2.- viven en un mundo fantástico en que se creen que van a ganar mucho dinero, bien siendo contratados por empresas de seguridad informática, o por las mafias rusas para infectar miles de ordenadores
3.- harán una trastada, y acabarán en la cárcel, recibirán una multa o se verán obligados a huir a otro país
4.- pasados unos años, se darán cuenta de que sus conocimientos son los mismos que decenas de miles de programadores, por lo que el nivel de reconocimiento en este mercado tiende a cero
5.- unos años más, y después de estar mal viviendo haciendo chapuzas, como montar ordenadores o instalar sistemas operativos Windows en una tienducha de barrio, se darán cuenta de que sus conocimientos ya no sirven de nada porque han aparecido nuevas técnicas, protocolos, programas y sistemas y contramedidas
(repito: esta es mi experiencia que he visto en amigos y conocidos)
En resumen: que a la gente que le interesa hacer
malware no le interesa para nada la informática teórica, de la que en Perl tanto disfrutamos.
Ojalá Murdoc Rush no caiga en ese pozo.
Mientras tanto, sí que recuerdo haber visitado tu sitio. Apunto aquí algún dato más, como el libro "
Higher Order Perl", 2ª Ed., de Mark Jason Dominus, y Morgan Kaufmann (2005), ISBN 1-55860-701-3, que trata temas muy interesantes, como él fantástico módulo
Memoize, recursión, Iteradores, las
clausuras o la
currificación de funciones (transformar funciones que necesita varios argumentos en una función que usa un solo argumento, un bonito ejemplo de metaprogramación).
A propósito, no estoy del todo de acuerdo con la idea de confundir "generación de código" con "metaprogramación". Generar código ya sabemos lo que es. Metaprogramación es algo más, como cuando, en Perl, generamos expresamos regulares en tiempo de ejecución, o la currificación, por ejemplo. No estamos generando código externo, pero sí generamos código que no estaba presente en el código original del programa.