El día 4 de julio de 2008 14:58, Leandro Lucarella <[EMAIL PROTECTED]>
escribió:

> Lautaro Cozzani, el  4 de julio a las 12:21 me escribiste:
> > 2008/7/4 Fernando Requena <[EMAIL PROTECTED]>:
> > >
> > >> sabia que alguien se iba a poner a buscar :S... jeje... ahora falta un
> > >> micro como la gente que interprete bytecode... por lo menos para que
> > >> es esfuerzo de construir ese SO valga la pena
> > >>
> > >
> > > ya existen
> >
> > lease que puse "como la gente"
>
> Yo igual lo que nunca entendí de la gente de Java es por qué tomar el
> camino inverso:
>
> 1) Sacar de la galera código de máquina
> 2) Construir por software una máquina virtual que interprete ese código
> 3) Darse cuenta que apesta de lento
> 4) Hacer todo tipo de artimañas para optimizarlo (por ejemplo JIT)
> 5) Tratar de diseñar hardware que interprete directamente ese código de
>   máquina.
>
> Digo yo, si el bytecode de Java hubiera sido opcodes de x86 por ejemplo (o
> de la arquitectura que más les pinte, pero de la cual *ya* exista
> hardware, digo x86 por ser probablemente la más popular), no sería ya todo
> lo rápido que tendría que haber sido en un primer momento? No se hubieran
> ahorrado horas y horas hombre en construcción de máquinas virtuales? No
> tendríamos ahora al menos un emulador de x86 (o la arquitectura *real* que
> hubieran elegido) decente para las demás arquitecturas que pueda usarse
> tanto para correr programas hecho en Java como en cualquier otro lenguaje
> que compile para x86/whatever?
>

Supongo que es asi porque originalmente, Java era una maquina virtual para
dispositivos, y no para desarrollar aplicaciones.

Si bien el mercado de computadoras personales es bastante homogeneo (PC,
Mac y alguna cosa mas), el de los dispositivos es mucho mas variado.
Java nacio con la idea de ofrecer una maquina virtual comun a muchos tipos
de dispositivos distintos, y en ese contexto, Java es una buena idea.

Pero en computadoras personales me parece que funciona mucho mejor un
interprete o traductor directo, como python o perl. Java es en definitiva un

emulador, de una maquina hipotetica, pero un emulador al fin. Y para que un
emulador tenga un desempeño razonable, tiene que emular un hardware
muuucho mas simple que aquel sobre el cual esta corriendo.
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a