Hack.pm
  • Inicio
  • Recursos Perl
    • Tutoriales Perl
    • PerlDoc
    • Búsqueda en CPAN
    • meta CPAN
  • Perl para la Web
    • Catalyst Web Framework
    • Dancer MicroFramework
    • Mojolicious Web Framework
    • Template Toolkit
  • CV del autor

Category Archives: Filosofía Perl

Bienvenidos

Posted on 28/03/2014 by Juan Negretti

Bienvenidos a este blog. No voy a alargarme con presentaciones ostentosas y tonterías románticas porque el objetivo de esto es, de momento con naturaleza experimental, educar y promover el uso del lenguaje de programación Perl, en particular en Venezuela.

Lamentablemente (y lo siento por los creyentes de estos lenguajes) Venezuela ha sido un territorio PHP y Java en general. Con una pequeña tendencia naciente a Python y Ruby (Para ser más específicos RoR, porque el lenguaje en si mismo poco se aplica). No obstante considero que hay que cambiar los paradigmas y generar un nuevo movimiento.

No digo que Perl sea este nuevo movimiento, lo considero parte de este movimiento, pero no ES el movimiento. En Venezuela alternativas como la programación declarativa (sobre todo la funcional y la lógica) han sido abandonadas en general, siendo importantes, sumamente importantes. No voy a extenderme en la opción de la programación declarativa, dado que considero que otros pueden explicar mejor este tema. Lo que se debe mantener en mente es que estas tendencias deben promoverse.

No obstante, como lenguaje de propósito general, creo en la alternativa Perl y citando al profesor de la USB Hernández-Novich (http://ldc.usb.ve/~emhn/):

Pienso que Perl es el mejor lenguaje que un buen programador puede aprender para sacar provecho de sus habilidades, puesto que combina las mejores ideas de los paradigmas imperativo, orientado a objetos y funcional de manera simultánea y libre

En el sentido de lenguaje de programación el profesor enuncia bastante bien la opinión general de diversos autores representativos de la comunidad Perl. Sin embargo, considero que Perl va mucho más allá, no en el sentido paradigmático como lenguaje, sino en un sentido cultural y filosófico. Para este Post esto es lo que cubriremos, las ideas paradigmáticas las cubriremos a lo largo de la vida de este blog.

Perl nace y se desarrolla (no se preocupen, esto no va a ser una larga divagación histórica) durante una de las épocas cúspide de la comunidad hacker (http://www.catb.org/jargon/html/introduction.html), en particular dentro de la cultura hacker Unix/Linux. Esto tuvo consecuencias enormes dentro de Perl, tanto en la sintaxis del lenguaje (grep, compatibilidad con sed, influencia de shell script y awk) como en su forma de operar.

En la forma de operar es donde Perl logra obtener mayor ganancia dado que comunitariamente se logran estándares, se generan reglas de interacción, estándares y costumbres.

Veamos, por ejemplo, muchos de los programadores acostumbrados a programar en culturas como Java o PHP estarán acostumbrado a que, cuando se trata de desarrollar un módulo o una clase, al momento de validar debemos pensar y desarrollar pensando en la intrusión, en que el usuario es el enemigo y que por defecto, hará todo de forma incorrecta (y que no se crea que no pienso que esto es cierto). Por el contrario en Perl se desarrolla con la idea que el usuario de un módulo siempre habrá de respetar la interfaz indicada en la documentación. Es una regla de cortesía. Haciendo una similitud con algunos libros de la documentación de Perl: a nadie le gusta ni espera que venga un extraño a tocar y mover lo que tenemos en casa. Pero claro, tienes la libertad de querer proteger lo que se tiene. Un poco más sobre esto en el siguiente punto.

Un punto particular a considerar para comprender una considerable parte de la cultura Perl viene contenida en su motto “There is more than one way to do it”, resumido como TIMTOWDI (y usualmente pronunciado Tim Toady). Esta característica es fundamental dentro de la filosofía de Perl y es la que, considero, tiene el mayor atractivo. TIMTOWDY se traduce como hay “más de una manera de hacerlo” y prácticamente para todo lo presente en Perl esto se cumple.

La riqueza sintáctica de Perl alimenta el TIMTOWDY, dado que la misma tarea siempre se puede hacer de forma distinta con mayor o menor complejidad y/o longitud (existiendo por ejemplo los famosos perl one liners o hasta la Perl Poetry). Esto permite que, según las características de código, la experiencia del lenguaje, y la lógica de programación, cada script o módulo de Perl pueda realizarde de decenas de formas distintas. Aunque citando a Larry Wall “Siempre utiliza la más legible”. La libertad es parte vital de Perl.

En la evolución Perl suele verse otro fenómeno común y un poco inusual que no se suele encontrar en otros lenguajes. Cuando en Perl se quiere agregar alguna característica lo común no es que se agreguen nuevos elementos se sintaxis, sino que se tomen elementos de sintaxis comunes del lenguaje y, con la unión adecuada de estos, se generen nuevos usos. Un ejemplo de esto es el Sistema de Objetos de Perl, que no es más que la unión de la sintaxis de módulos, referencias, y algunos pragmas, variables y subrutinas particulares que logran, al utilizarse en conjunto, generar el comportamiento de la programación orientada a objetos sin crear nueva sintaxis.

Existen gran cantidad de características e idiosincrasias comunes a la comunidad de Perl, y en general a las comunidades de hackers, pero dejaremos que con el uso y el tiempo logren conocerlas, o quizás podríamos conversar sobre ellas en otras publicaciones (en particular hablaremos de lo contenido en Perl Best Practices).

Para finalizar esta publicación de presentación les agradecemos su lectura y les invitamos a comentar activamente sobre sus opiniones, comentarios, críticas y esperanzas sobre el blog. Les pido disculpas si mi escritura no es de su gusto, como blogger esta es mi primera experiencia. Espero refinar esto con el paso del tiempo.

Posted in Filosofía Hacker, Filosofía Perl | Leave a comment |

Último

  • ¡Tan Im-pedante!
  • Cuidado con ese léxico: Parte II
  • Cuidado con ese léxico, parte I
  • Bienvenidos

Supuestamente Juan Negretti

Padre de una pequeña de tres años antes que nada. Perl Hacker en Construcción, programador PHP por necesidad. Adicto a Linux, Debian naturalmente. Desarrollador Web, Administrador de Servidores Linux. Estudiante de la Facultad de Ciencias UCV, Licenciatura en Computación, Último año. Instructor de Ensamblaje y Mantenimiento de Microcomputadores y de Administración de Linux. Consultor freelance de tecnologías web y soluciones basadas en Linux.

Categorías

  • Filosofía Hacker
  • Filosofía Perl
  • Frameworks
  • Ingeniería del Software
  • Sintaxis
  • Uncategorized
  • Utility

CyberChimps WordPress Themes

Contenidos protegidos bajo la Perl Artistic Licence