[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]Gunnar Wolf wrote:
Ivan Caballero Cano dijo [Tue, Apr 26, 2005 at 12:58:45PM -0500]:Tu sabes perfectamente Max que un lenguaje interpretado tiene como desventajas que:Lo de la lentitud de ejecución es relativamente cierto. La mejor aplicación no sirve de nada sin su intérprete. (...)Bueno, cabe acá mencionar que los lenguajes serios de script (esto es, Perl, Python, Ruby y varios menores - No, me niego a incluir acá aPHP),
Este comentario es más de odio que de razón.Desde la versión 4.0 PHP es un lenguaje tan compilado como Perl y el código binario que se obtiene de esa compilación es ejecutado por medio del uso de la Zend Engine http://www.zend.com/products/zend_engine . Ese código binario se puede cachear, optimizar, ofuscar como cualquier otro código binario. El hecho de que el engine de Perl sea más rápido creo que tiene mucho que ver con el lenguaje que está hecho para ayudarle al parser y al compilador al costo de una gran incomodidad para el programador y algunas limitaciones.....
En realidad no necesitas que el compilador sea la cosa más ágil del planeta y tampoco el engine de ejecución (a menos que estés programando algoritmos complejísimos de miles de líneas) porque lo que haces programar el pegamento y ligar librerías escritas en C y ensamblador para llamar sus funciones que son las que te dan la funcionalidad que necesitas a toda la velocidad que te da el procesador....pese a que lo parezca fuertemente, no son lenguajes interpretados - Son compilados, pero sus compiladores son muy ágiles, por lo que en fracciones de segundo tienes ya en bytecode programas bastante largos.
Java y .Net son lentos y pesados porque en su afán de distribuir aplicaciones con algoritmos complejos en formato sólamente binario están pagando el costo de la necesidad de meter muchas más capas de abstracción que les permitan obtener ese efecto de "máquina virtual" para lograr que el mismo binario corra en todos lados.Y típicamente estos lenguajes son más rápidos que Java/.Net - los cuales también son inútiles sin su máquina virtual.
Saludos,