El 16/11/07, Alejandro Weinstein <[EMAIL PROTECTED]> escribió: > On Nov 16, 2007 1:16 PM, Franco Catrin L. <[EMAIL PROTECTED]> wrote: > > > > El segundo link casi me deja ciego ;) > > Perdon. Me olvide de advertir que habia que ponerse lentes oscuros. > > [sobre la diferencia entre maquina virtual e interprete] > > Aun no me queda del todo clara la diferencia. Por ejemplo, hay alguna > diferencia de fondo entre un interprete Python ejecutando un archivo > .pyc o .pyo (no un .py) y una maquina virtual java ejecutando > bytecodes?
Diferencia de fondo no hay mucha. Según [1], inclusive hay similitudes con Java y .NET: 1.- Se compila a bytecode que es compatible entre arquitecturas (yo tomo un .pyc en Windows y lo paso a Linux y funciona). 2.- Se hacen algunas optimizaciones pequeñas al código Python. 3.- De 1.- se puede inferir que no es necesario que Python como intérprete deba destripar cadenas y revisar sintaxis, lo cual también es una optimización a la hora de interpretar y cargar el archivo. Ahora, una diferencia sustancial debe ser la manera en que Java y Python reservan la cantidad de memoria necesaria para su ejecución, pero eso ya es hilar demasiado fino y... es viernes. [1] http://www.network-theory.co.uk/docs/pytut/CompiledPythonfiles.html -- Rodrigo Fuentealba