Por que elegirias python o perl sobre Java?
Python y Perl son los nombres de los lenguajes, mientras que `python` y `perl` son los nombres de los interpretadores.
Tanto Python como Perl son lenguajes mucho más flexibles en términos de expresividad. En particular Perl tiene disponible varias implantaciones (Moose, Mouse, Moo) de un modelo de objetos superior al de Python y ampliamente superior al de Java. Así, lo que usan Orientación a Objetos No-Jerárquica tienen mejores oportunidades de expresar los problemas de forma simple y eficiente con Perl y Python, que con Java.
Python y Perl tienen modelos de recolección de basura que hacen la ejecución y consumo de memoria razonablemente predecibles, en contraste con Java, que usa un modelo de recolección de basura que desperdicia mucha memoria y que en ocasiones es impredecible. Agrega a eso, que Python y Perl tienen herramientas de instrumentación y análisis de desempeño mucho más completas que las de Java, lo cual facilita identificar problemas relacionados con pérdidas de memoria.
Finalmente, encuentras mejores librerías y más organizadas para Python y Perl, que para Java. Hoy en día el costo de tiempo de programación es notablemente mayor que el costo de CPU y RAM, así que tener tantas librerías disponibles y fáciles de encontrar, hace mucho más cómodo el proceso.
Personalmente no escogería Python, porque aún siendo más flexible que Java, sigue siendo rígido en términos de lo que se puede hacer. Mucha gente que pasa de Java a Python se siente a gusto precisamente con esa filosofía: «ésta es la forma en que tienes que hacerlo».
Finalmente, y en un aspecto MUY técnico, los tres lenguajes son de «máquina virtual»: Java lo exhibe abiertamente en la dualidad `javac`/`java`, Python te lo ofrece como una opción, y Perl lo hace implícitamente. Si uno compara las tres máquinas virtuales, las de Python y Perl son superiores a la de Java en términos de la familia de instrucciones virtuales disponibles; comparar las de Python y Perl es más complicado.
El hecho de que Java sea un «lenguaje compilado» no hace que sus programas sean necesariamente más rápidos que los de Python o Perl, precisamente por limitaciones inherentes a su máquina virtual (que es una simple máquina de pila).
Por último, Python y Perl son lenguajes que evolucionan y se enriquecen de nuevos conceptos, muchísimo más rápido que lo que logra Java. Eso tiene que ver con su comunidad de usuarios y con la gobernanza de los proyectos. Java está hoy, donde Python y Perl estaban a principios de siglo, y con muchas dificultades para adaptarse de manera limpia a los tiempos modernos.
Java es el nuevo COBOL.
Tanto Python como Perl son lenguajes mucho más flexibles en términos de expresividad. En particular Perl tiene disponible varias implantaciones (Moose, Mouse, Moo) de un modelo de objetos superior al de Python y ampliamente superior al de Java. Así, lo que usan Orientación a Objetos No-Jerárquica tienen mejores oportunidades de expresar los problemas de forma simple y eficiente con Perl y Python, que con Java.
Python y Perl tienen modelos de recolección de basura que hacen la ejecución y consumo de memoria razonablemente predecibles, en contraste con Java, que usa un modelo de recolección de basura que desperdicia mucha memoria y que en ocasiones es impredecible. Agrega a eso, que Python y Perl tienen herramientas de instrumentación y análisis de desempeño mucho más completas que las de Java, lo cual facilita identificar problemas relacionados con pérdidas de memoria.
Finalmente, encuentras mejores librerías y más organizadas para Python y Perl, que para Java. Hoy en día el costo de tiempo de programación es notablemente mayor que el costo de CPU y RAM, así que tener tantas librerías disponibles y fáciles de encontrar, hace mucho más cómodo el proceso.
Personalmente no escogería Python, porque aún siendo más flexible que Java, sigue siendo rígido en términos de lo que se puede hacer. Mucha gente que pasa de Java a Python se siente a gusto precisamente con esa filosofía: «ésta es la forma en que tienes que hacerlo».
Finalmente, y en un aspecto MUY técnico, los tres lenguajes son de «máquina virtual»: Java lo exhibe abiertamente en la dualidad `javac`/`java`, Python te lo ofrece como una opción, y Perl lo hace implícitamente. Si uno compara las tres máquinas virtuales, las de Python y Perl son superiores a la de Java en términos de la familia de instrucciones virtuales disponibles; comparar las de Python y Perl es más complicado.
El hecho de que Java sea un «lenguaje compilado» no hace que sus programas sean necesariamente más rápidos que los de Python o Perl, precisamente por limitaciones inherentes a su máquina virtual (que es una simple máquina de pila).
Por último, Python y Perl son lenguajes que evolucionan y se enriquecen de nuevos conceptos, muchísimo más rápido que lo que logra Java. Eso tiene que ver con su comunidad de usuarios y con la gobernanza de los proyectos. Java está hoy, donde Python y Perl estaban a principios de siglo, y con muchas dificultades para adaptarse de manera limpia a los tiempos modernos.
Java es el nuevo COBOL.
Liked by:
Walter Vargas
Marcos Mora
Arnaldo Quintero