Ver la versión completa : Motor Quake2 en JAVA
SilentSei
25/01/2006, 16:57
Hola a todos!!!!
Pues un compañero me ha comentado la noticia de que se han currado el código del Quke2 integramente en JAVA. Así que mi cabeza ha empezado a elucubrar y pensado si sería posible portarlo a nuestra negrita, pues el lenguaje una de sus ventajas en la porabilidad a diferentes plataformas.
¿Qué os parece el tema?
http://www.bytonic.de/html/jake2.html
P.D: Guardad las garras y no mostreis los colmillos aún!!!! que NO estoy pidiendo que nadie lo porte ni nada parecido, sino comentar la posibilidad o no de poder hacerlo.
No se, primero debe estar Java portado a la gp2x. Luego ya puede tirar como un ******, porque java no se caracteriza por ir rapido precisamente, a saber en que pc lo han probado claro. No se, de momento lo veo dificil.
SilentSei
25/01/2006, 17:22
EL que me lo ha comentado ha dicho que tampoco se queda tan atrás respecto a C. Por poner un ejemplo, que si C ha sacado 300 fps el motor en JAVA ha sacado 260 fps.
En cuanto al pc que han usado ni idea. Esta tarde cuando llegue a casa miraré de probarlo a ver que tal va.
Muy interesante, no solo por el quake, sino por la posibilidad de poder usar en la gp2x la gran cantidad de aplicaciones J2ME existentes.
Yo tengo un telefono movil motorola a 780 que tiene la particularidad de tener un hardware ligeramente parecido al de la gp2x y que ademas corre java sobre un kernel de linux:
Características Hardware:
Aplication processor: Intel PXA270 312 Mhz (XScale/ARM)
Baseband processor: ARM7TDMI "Neptune LTE"
Cámara: Omnitivion OV9640
Bluetooth: Broadcom BCM2035
AGPS: Motorola MG4100
Características Software:
Sistema Operativo: Basado en MontaVista Consumer Electronics Linux 3.0. (Kernel 2.4.20)
Entorno Gráfico: Qt/Embedded de Trolltech+ EZX propio de Motorola
Visor de Documentos: Picsel Viewer (PDF, Word, Excel, PowerPoint, HTML, Texto)
Navegador Web: Opera
Navegacion GPS: Copilot Live 5 de Alk technologies.
Tecnológia Java: MIDP 2.0/CLDC 1.1, JSR 75, JSR 120, JSR 135, JSR 179, JSR 184, JSR 185, JSR 253
http://a780.blogspot.com/
Si algun programador considera que aqui puede "haber tomate" que me envie un privado si desea mas "informacion" al respecto del soft del telefono que pueda ayudarle a portar java a la gp2x.
Saludos.
SilentSei
25/01/2006, 17:28
Fosfy, vaya pepino de móvil!!!!
Por eso me parecía interesante. Porque el Quake2 sería el principio. Además se podría aprovechar su código para más cosas, no?
A ver si algúna de las machine de coders que rondan por aki se pronuncia al respecto.
Los juegos de idsoftware hasta el quake 3 tienen el código fuente (en c++ creo) liberado con lo cual no es necesario coger un port en java ni hacer otras cosas más complicadas, "simplemente" se compilan y listo.
Como no podía ser de otra forma ya se ha hecho ;)
http://wiki.gp2x.org/wiki/2xQuake_II
Pero necesita optimización y seguramente para que vaya fino en la gp2x el uso del segundo procesador.
Eso sí, una VM de java para gp2x sería interesante, supongo que Sun no estará por la labor de compilar una... habrá que echar mano de las implementaciones libres o compilar las aplicaciones de java a código nativo con el gcj (The GNU compiler for Java).
Fosfy, vaya pepino de móvil!!!!
Pos si, esa es su virtud y su defecto, pues se chupa la bateria que da gusto y por ahora no venden repuestos. Debido a ello lo uso como pda y utilizo como movil habitual un nokia 2600, sencillo pero muy eficaz, y con una bateria que me dura semana y media ;)
Saludos.
Offtopic:
Como si lo viera, ahora la gente se gasta 800 lerus en unos moviles que te avisan de hasta si tienes la bragueta abierta... y cuando ya no puedan meterle más cosas algún genio traerá la "novedad" de un movil que solo sirve para llamar y escribir SMS llamado "Simpleton disain" que se venderá por 1800 leurus y arrasará el mercado... Sic.
Niñatilla de la época: Es el invento revolucionario del Siglo 23. No se como nadie no lo habia pensado antes!!!!
PD: LOL
No, si estaria bien tener JAVA en la gp, pero a veces parece que olvidais que la gp no es un pc, no es la misma arquitectura, ni siquiera juega en la misma liga! jaja!
La pregunta es... ¿hay JAVA disponible para la arquitectura ARM de la gp? Como SUN dudo mucho que la saque, la pregunta es ¿hay algun port de JAVA libre para ARM?
Por cierto, el port este del quake usa openGL. asi que olvidaros de momento del tema.
Pero para otras aplicaciones estaría bien!
Gammenon
25/01/2006, 17:55
Ademas que JAVA no es portable. Solo funciona en una maquina (virtual, eso si [wei5])
Ademas que JAVA no es portable. Solo funciona en una maquina (virtual, eso si [wei5])
La version portable de java es J2ME ( java 2 micro edition ) y si algun programador se mirase el codigo fuente del linux que usa mi telefono ( supongo que motorola lo habrá publicado, y si no, pues ya tienen distraccion los chicos de la GPL ) :demonio: tal vez se podria llegar a usar J2ME en la gp2x, lo cual, entre otras cosas, permitiria usar algunos juegos de telefonos nokia u otros de los muchos que rulan en java.
No se si es posible, pero si lo fuese seria muy interesante.
Saludos.
EDITADO: Acabo de darme cuenta de que al leerte he confundido portatil con portable xD, pero aun asi no quita para que se pueda hacer que j2me corra bajo el linux de la gp2x ( o al menos eso me parece )
SilentSei
25/01/2006, 18:22
A alguién se le ha ocurrido probar la jre de Linux que tiene Sun en su página ?
Se que no funcionará ni queriendo, pero yo esta tarde en casita lo intentaré aunk sea solo por matar el tiempo.
¿La máquina virtual de java en que lenguaje está implementada?
Si se que la GP2x no es un PC, pero sería interesante tener JAVA en al GP2X.
Si han portado un emu que hacer rualr windows95 en la negrita, porque no JAVA??
La KVM, que és lo que muchos mobiles usan (no los del Nokia S60, e no los mais recientes, lo usam HotSpot), está disponible para descargar en Sun, con código fuente Windows e Linux(X11), en C++:
http://www.sun.com/software/communitysource/j2me/cldc/download.xml
No se, primero debe estar Java portado a la gp2x. Luego ya puede tirar como un ******, porque java no se caracteriza por ir rapido precisamente, a saber en que pc lo han probado claro. No se, de momento lo veo dificil.
http://www.bytonic.de/html/benchmarks.html
Son ordenadores potentes , pero parece que la mejora en cada version es evidente.
Wild[Kyo]
25/01/2006, 19:03
Ya comenté el tema del Quake2:
http://www.gp32spain.com/foros/showthread.php?t=27199
La verdad es que no vale la pena hacer un port de una máquina virtual de java para hacer rular el juego ya que se comería muchisimos más recursos que la versión en C del Quake 2. Yo creo que vale más la pena optimizar este último.
SilentSei
25/01/2006, 20:13
Ups, ese post no lo ví!!!!!!
PharaOnyx
25/01/2006, 20:22
Una cosa es Java (el Java 2 SE) y otra J2ME (Java 2 Micro Edition). Meter Linux, añadirle Java y sumarle el Quake II a la GP2X me parece a priori un poco lento. Otro tema sería los juegos para móviles, que necesitan muchísimos menos recursos, ya que J2ME es un subconjunto de Java SE y, por descontado, no tiene ni la mitad de funcionalidad gráfica
Respecto a las diferencias con C, son muchas más de las que aparenta. Para empezar, C es un lenguaje compilado y Java interpretado, lo que hace necesario cargar el 'intérprete' del lenguaje en memoria (la maquina vrtual). Y como cualquiera puede comprobar, dicha máquina ni es excesivamente rápida ni ocupa especialmente poca RAM. Puede que en el PC de cada uno vaya suavísimo, pero recordemos el hardware que tiene la GP2X
Por cierto, Java como lenguaje SI es portable (el código vale de un sistema a otro sin tocar una sola línea), lo que no es portable es la máquina virtual que, lógicamente, depende obligatoriamente de la arquitectura sobre la que corre
Pienso que tener una máquina virtual de Java sería interesante (programo en Java y J2ME a diario), pero para aplicaciones mucho más 'de andar por casa' que un juego estilo Quake II
Saludos
SilentSei
25/01/2006, 20:50
Si, el Quke2 en java sería una utopia. Pero quizá se le podría sacar algún rendimiento el echo de tener otro lenguaje disponible para la negrita.
A lo mejor no para juegos, pero si para aplicaciones que no consumieran tantos recursos tipo agenda personal, etc.
La KVM, que és lo que muchos mobiles usan (no los del Nokia S60, e no los mais recientes, lo usam HotSpot), está disponible para descargar en Sun, con código fuente Windows e Linux(X11), en C++:
http://www.sun.com/software/communitysource/j2me/cldc/download.xml
Vaya, no había visto la coletilla esa que ponía que incluía los fuentes... Está muy interesante, aunque sólo incluye el CLDC... Habría que currarse la implementación de MIDP para poder jugar a los juegos de móviles.
¿Alguién conoce WABA (http://www.wabasoft.com/)? Es una implementación libre de Java para dispositivos portátiles. Eso sí, utiliza su propio API, por lo que no podríamos disfrutar de las aplicaciones existentes sin adaptarlas primero...
EDITO: También están los fuentes del MIDP AQUI (http://www.sun.com/software/communitysource/j2me/midp/download.xml). Yo lo flipo... esta noche no duermo...
EDITO2: La licencia parece chunga chunga (como suelen ser las de Sun). Habrá que echarle un buen ojo antes que nada...
La version portable de java es J2ME ( java 2 micro edition ) y si algun programador se mirase el codigo fuente del linux que usa mi telefono ( supongo que motorola lo habrá publicado, y si no, pues ya tienen distraccion los chicos de la GPL ) :demonio:Yo de Java no controlo mucho y menos en sistemas embebidos, pero no creo que tenga que ver mucho el kernel Linux que use un movil para que pueda ejecutar aplicaciones Java, o las aplicaciones están compiladas para ejecutarse nativamente (usando por ejemplo el GCJ de GCC como bien han dicho antes) o se implementa una VM de Java en el dispositivo embebido en cuestión (ya sea un movil, PDA o la GP2X).
Bueno, para que veas que hay empresas que no solo se les llena la boca con las palabras "open source", "free software", "linux", etc, a la hora de hacer marketing y dar publicidad a nuevos productos, los de Motorola en productos como sus routers cumplen (http://broadband.motorola.com/consumers/support/gpl_codes.asp) bastante más que otras "grandes" (y no tan grandes) empresas con la licencia GPL, creo que te lo comenté una vez en otro hilo, y el código fuente del kernel Linux que lleva ese movil se puede bajar de aquí (ftp://ftp.gpl-devices.org/pub/vendors/Motorola/A780) y creo que de una zona para usuarios registrados desde la web de Motorola, tanto el original como versiones modificadas). :D
P.D: WinterN parece que controlas algo más del tema de Java, ¿podrías explicar un poco como funciona el tema de Java en sistemas embebidos y las posibilidades, viabilidad o lo necesario para poder correr aplicaciones/juegos en Java en la GP2X?
Yo de Java no controlo mucho y menos en sistemas embebidos, pero no creo que tenga que ver mucho el kernel Linux que use un movil para que pueda ejecutar aplicaciones Java, o las aplicaciones están compiladas para ejecutarse nativamente (usando por ejemplo el GCJ de GCC como bien han dicho antes) o se implementa una VM de Java en el dispositivo embebido en cuestión (ya sea un movil, PDA o la GP2X).
Bueno, para que veas que hay empresas que no solo se les llena la boca con las palabras "open source", "free software", "linux", etc, a la hora de hacer marketing y dar publicidad a nuevos productos, los de Motorola en productos como sus routers cumplen (http://broadband.motorola.com/consumers/support/gpl_codes.asp) bastante más que otras "grandes" (y no tan grandes) empresas con la licencia GPL, creo que te lo comenté una vez en otro hilo, y el código fuente del kernel Linux que lleva ese movil se puede bajar de aquí (ftp://ftp.gpl-devices.org/pub/vendors/Motorola/A780) y creo que de una zona para usuarios registrados desde la web de Motorola, tanto el original como versiones modificadas). :D
P.D: WinterN parece que controlas algo más del tema de Java, ¿podrías explicar un poco como funciona el tema de Java en sistemas embebidos y las posibilidades, viabilidad o lo necesario para poder correr aplicaciones/juegos en Java en la GP2X?
Pues gracias por desborricarme uncanny, se poco sobre el tema y solo he hecho suposiciones :brindis:
De todas formas, yo creo que la gp2x podria rular lo necesario para ejecutar juegos j2me por que la ngage tiene un hardware muy inferior y es capaz de hacerlo, pero nuevamente solo estoy suponiendo; de lo que si que estoy seguro es que seria una caña el poder usar todos esos programas j2me que corren por ahi :brindis:
Como siempre, un placer el leerte ;)
Saludos.
KaosOverride
25/01/2006, 22:53
A mi no me parece descabellada la idea de Portar J2ME a la GP2x, pero de cargar el Quake2 nanaina... que usa el set completo de Java 2, amen de las extensiones OpenGL (Que tiran del OpenGL del sistema operativo huesped, por tanto de la grafica que tengamos instalado en el PC)
Si queremos Quake2, esta el 2xquake2... Por cierto.. Y como iria ahora compilado con las Minimal de Rlyeh o en su defecto, con las SDL con aceleracion hardware?? Y 2xQuake1??? [wei2]
Pues gracias por desborricarme uncanny, se poco sobre el tema y solo he hecho suposiciones :brindis:
De todas formas, yo creo que la gp2x podria rular lo necesario para ejecutar juegos j2me por que la ngage tiene un hardware muy inferior y es capaz de hacerlo, pero nuevamente solo estoy suponiendo; de lo que si que estoy seguro es que seria una caña el poder usar todos esos programas j2me que corren por ahi :brindis: Simplemente me he limitado a informar y, para variar, hablar bien de una empresa porque hace las cosas correctamente. Yo también he dicho suposiciones respecto a la relación de que se use un sistema que corra con el kernel Linux con que se pueda ejecutar aplicaciones Java, porque como digo de Java entiendo más bien poco. Yo también como tu creo que es posibile tener aplicaciones Java ejecutandose en la GP2X, lo que ya no se como conseguirlo (y el tema me interesa) :)
Como siempre, un placer el leerte ;)Igualmente :brindis:
criatura
25/01/2006, 23:06
Java no es exactamente un lenguaje interpretado, es más parecido a un lenguaje compilado, lo que pasa es que la máquina "target" es una máquina virtual que tiene un lenguaje máquina propio. Y como los lenguajes máquina en cierto modo se parecen (registros, instrucciones load/store, aritméticas, de control de flujo, lógicas, etc), la traducción que la jvm hace al código máquina real es muchísimo más eficiente que un intérprete puro y duro. La plataforma .net de m$ ha copiado esta idea de lenguaje intermedio pseudomáquina.
En cuanto al tema de la sintaxis y semántica, java tiene en C la base sintáctica; la orientación a objetos es totalmente distinta de c++; el API es una jerarquía de clases muy bien organizada. No existen directivas de preprocesador, no existen punteros explícitos (operadores * y &), las llamadas a funciones son de una sola forma; la compilación es en un solo paso, no existe enlazado; los archivos que se generan son todos clases, etc, etc. Los lenguajes c# y j# son una copia de java, así como D, que está todavía empezando.
Un saludo
SilentSei
25/01/2006, 23:07
Esa es una buen pregunta. Por cierto, para compilarlos que sería necesario?
Un PC con Linux y la minimal de Riley implementada?? o las SDL por ahrdware?? y por supuesto el código pero eso esta ya.
P.D: WinterN parece que controlas algo más del tema de Java, ¿podrías explicar un poco como funciona el tema de Java en sistemas embebidos y las posibilidades, viabilidad o lo necesario para poder correr aplicaciones/juegos en Java en la GP2X?
Encantado de aportar información, el tema Java lo tengo muy mascado ;)
Voy a intentar dar una breve descripción de lo que es el Java en dispositivos móviles (aunque lo idóneo sería decir dispositivos con pocos recursos, ya que no tienen porque tener movilidad física, vease un router).
En Java existen 3 perfiles principalmente: J2SE (Stantard Edition), J2EE (Enterprize Edition) y J2ME (Micro Edition).
Los 2 primeros son los que normalmente ejecutamos sobre nuestros PCs y servidores. Se ejecutan bajo la misma máquina virtual, pero varían en el API (el J2EE incluye al J2SE).
El entorno J2ME dispone de un API mucho más limitado y una máquina virtual mucho más sencilla. En esta máquina virtual se elimina el soporte nativo para coma flotante, la gestión automática de la liberación de memoria (el recolector de basura se ejecuta bajo demanda) o la verificación de código en tiempo de ejecución (se realiza en tiempo de compilación).
La máquina virtual más utilizada en J2ME (aunque no la única) es la KVM (Kilobyte Virtual Machine). El nombre viene del reducido tamaño que tiene. Los fuentes del KVM para varias plataformas están para descargar desde la página de Sun (lo acabo de descubrir hoy gracias a Takashi) pero habrá que echarle un buen repaso a la licencia.
Ahora que ya tenemos una máquina virtual es necesario tener una "configuración" y un "perfil". Se trata de dos APIs que deben ser implementados en la máquina para poder ejecutar J2ME.
La configuración hace referencia al tipo de máquina sobre la que se implementa. Hay varios, pero el que utilizan la mayoría de los móviles es la CLDC (http://java.sun.com/products/cldc/index.jsp) (Connected Limited Device Configuration). En este caso se trata del perfil para máquinas que tienen acceso de red limitado (no están siempre conectadas o no suelen estarlo pero pueden concectar)
El perfil hace referencia a atributos más especificos de cada máquina en concreto, como son la pantalla, el interfaz de usuario o el protocolo de comunicación. En el caso de lo móviles lo más común es encontrar MIDP (http://java.sun.com/products/midp/index.jsp) (Mobile Information Device Profile), que hace referencia a dispositivos con una pantalla reducida y un mínimo de 2 colores, con una entrada compuesta por un teclado sencillo y/o touchpad y comunicación a través de HTTP y sockets sobre TCP/IP.
Por supuesto tanto del perfil como de la configuración tienen varias versiones (CLDC 1.0 o 1.1, MIDP 1.0 y 2.0). Dependiendo del dispositivo, el programador deberá emplear una versión u otra y usar el API correspondiente.
De cara a la GP2X supongo que se podría compilar la KVM de linux directa o casi directamente, sin embargo el CLCD y MIDP tendrán que ser remodelados (sobre todo el segundo) para que se adapten a las características concretas de la consola.
En resumen, las aplicaciones J2ME deben ser diseñadas para ejecutarse sobre J2ME. Se podrían ejecutar aplicaciones J2SE, pero con la limitación de emplear el API más básico (java.lang, java.util y poco más). Además habría que recompilar por eso del la verificación del código en tiempo de compilación que tiene J2ME
Molondro
25/01/2006, 23:37
Si alguien que tenga un rato pudiese recompilar el 2xquake o el 2xquake2 con las nuevas sdl aceleradas por hw, aunque sólo fuera para ver la diferencia de rendimiento...
La plataforma .net de m$ ha copiado esta idea de lenguaje intermedio pseudomáquina.
En cierta forma sí, pero el JIT de .net añade una mejora, y es que en vez de transformar instrucción por instrucción al ensamblador de la máquina antiva, cadal método se compila bajo demanda para la máquina nativa antes de ejecutarse y se guarda compilado en una caché, de forma que las siguiente llamadas al método se ejecutarán directamente de forma nativa.
así como D, que está todavía empezando.
Creo que las diferencias de D frente a Java son más que notables. Para empezar se trata de un lenguaje compilado, como C/C++. Por otra parte, la intención de D viene a ser algo así como lo que podría haber sido C++ si no hubiesen querido mantener la compatibilidad con C. Un lenguage OO de verdad.
La verdad es que es un lenguaje que viene pegando fuerte, y no están nuevo como parece. La especificación tiene al menos 3 o 4 años y hay compilador para Linux y Windows desde hace más de 2.
http://www.digitalmars.com/d/
PharaOnyx
25/01/2006, 23:57
Creo que sería interesante, al referirnos a cosas como éstas, diferenciar lo que es una aplicación J2ME de una aplicación Java, más que nada para que nadie se lleve a engaños. Posibilidades de tener J2ME en la 'negrita', altas; posibilidades de tener J2SE, altas (para aplicaciones de poco 'consumo') y bajas (para aplicaciones 'serias')
Y, de momento, Java es un lenguaje interpretado (o pseudo-interpretado si lo prefieres). Que se 'transforme' en forma de bytecode no influye para que la ejecución del programa sea una interpretación de dicho bytecode. Si fuera compilado se ejecutaría directamente, sin necesidad de usar 'java.....', con todo lo que ello ocasionaría: rapidez de ejecución, pérdida de portabilidad, etc.
Saludos
Se podría implementar J2SE para la GP2X, pero personalmente considero más interesante J2ME por el ámplio catalogo de juegos (para movil) que tiene...
Gracias WinterN por la excelente explicación que has dado, ya entiendo algo mejor como funciona el tema. :brindis:
Yo también creo que es mejor optar por J2ME porque como bien has dicho está pensada para dispositivos de pocos recursos o embebidos como la GP2X.
EDITO:
Sobre la licencia SCSL (http://www.sun.com/software/communitysource/overview.xml) de J2ME y demás software de Sun que se ha nombrado en el hilo, cito una parte de este analisis de JavaHispano y pongo el enlace de la fuente:
"Esta licencia no es libre; permite ver el código fuente del jdk, e incluso modificarlo, pero sólo bajo ciertas condiciones, las cuales, en esencia, fuerzan a que el producto modificado siga cumpliendo las especificaciones de la máquina virtual, bytecode y lenguaje Java. Su objetivo es evitar que la plataforma se fragmente por causa de implementaciones del compilador o máquina virtual no compatibles con las especificaciones. Sun afirma que esta licencia "toma las ventajas de los modelos de código abierto y propietarios, y elimina sus inconvenientes" [12], ya que permite acceder al código fuente libremente, con todos los beneficios que para la comunidad y para la propia plataforma conlleva, siempre que el acceso no atente contra el principio básico de WORA.
Sin embargo, una vez que un individuo ha accedido al código licenciado SCSL su licencia le impide participar en proyectos de código abierto, ya que el código que ha visto es propiedad intelectual de Sun, y no puede emplear en proyectos libres lo que en él ha aprendido. Además, si desea cobrar a sus usuarios por el trabajo que ha realizado, está obligado a pagar unas cuotas a Sun. Evidentemente una licencia así dista mucho de poder considerarse libre."Fuente: http://www.javahispano.org/articles.article.action?id=88
También se comenta en aquí (http://www.gnu.org/brave-gnu-world/issue-11.es.html) en Georg's Brave GNU World.
KaosOverride
26/01/2006, 15:26
Si alguien que tenga un rato pudiese recompilar el 2xquake o el 2xquake2 con las nuevas sdl aceleradas por hw, aunque sólo fuera para ver la diferencia de rendimiento...
Ui, si fuese tan facil... :) Yo he probado con los SDK precompilados que tengo y me da error en la libm (matematicas) al estar accidentalmente precompiladas para "procesador con FPU (coprocesador matematico de coma flotante)", asi que toca recompilar las librerias con emulacion por software de FPU... y esta en ello :D
Esta mañana al levantarme, uno de los PCs me ha terminado con el gcc 3.4 y el glibc 2.2.5 [wei4] El otro que estaba a por la gcc 4.0.1 y glibc 2.3.5 presentaba un errorcillo que esta ya solventado.. a ver si para cuando me vaya a comer esta tambien cocidito, que al quake con "empujoncito hardware" le tengo ganas ;)
Ui, si fuese tan facil... :)
Me cito a mi mismo... Es "facil" si tienes el SDK cocidito, pero no lo es cuando tienes uno "bajado de internete" y con un despiste de por medio con lo de la FPU... (Que te quedas media hora mirando pasar codigo mientras hace el "make" y te dices "Mmm, SOLO se le ha pasado ese detalle de la FPU?? Que merito, porque mira que salen cosas" mientras crees estar mirando un "Matrix green-code" monitor pero en gris... ;)
Sobre la licencia SCSL (http://www.sun.com/software/communitysource/overview.xml) de J2ME y demás software de Sun que se ha nombrado en el hilo, cito una parte de este analisis de JavaHispano y pongo el enlace de la fuente:
Fuente: http://www.javahispano.org/articles.article.action?id=88
La gente de Sun no es tonta y han sabido siempre mover bien sus fichas. Cuando un Visual Studio costaba un dineral y cualquier extension de librerías otro tanto... llegó la gente de Sun y sacó Java y todo su API completo para descargar completamente gratis.
Eso sí, manteniendo siempre el control sobre la distribución. Aunque fuera gratis no se podía distribuir sin el permiso de ellos (de ahí los problemas de con M$ y el java en XP).
Una vez alcanzado el exito y la fama decidieron que no querían hacer todo su API y tecnología gratis y sacaron J2EE, una extensiones orientadas a empresas (JSP, Servlets, etc...) de pago.
Más tarde salieron soluciones de terceros basadas en Software libre (Apache, IBM...) que atrajo más el mundo del soft libre hacia Java. Entonces es cuando se empieza a mirar a Java con otros ojos: el hecho de no ser código libre era una pega importante que disgustaba bastante a la mayoría de los usuarios.
Sun Microsystems alegaba que la posibilidad de liberar el código podría llevar a implementaciones de Java en las que no se cumpliese con la especificación, de forma que el mismo código no compilase o funcionase en las distintas posibles plataformas...
Al final han optado por liberar el código, pero con una licencia batante privativa, si es como dices. Así pueden tener a la gente más o menos contenta, pero al mismo tiempo seguir teniendo el control total sobre la especificación.
bufalo_1973
26/01/2006, 20:33
Si no me equivoco, lo de que java se interprete es cierto a medias, ya que existen compiladores JIT (al vuelo), lo cual permite compilar el bytecode en lugar de interpretarlo. Aumenta el rendimiento, aunque no llegue a ser código nativo.
Y lo de la licencia de Java, según tengo entendido, viene a ser un "Java funciona así y si no funciona así no es Java". Más que nada para evitar intentos de sabotaje como los de M$ (por ejemplo, hay páginas web que sólo funcionan con la MS-JVM, concretamente con la del 2000 y la del XP y no con la de Sun :mad: :loco: )
chemaris
26/01/2006, 20:52
la verdad es que estaria muy bien una maquina virtual de java para la pequeña, yo estoy empezando a programar en java en la uni (mañana tengo el examen ) y seria curioso ver mis programas en la gp2x aunque por ahora no pasaria de mostrar variable y poco mas [wei]
DMusta1ne
13/08/2007, 13:31
Siento reflotar el tema, pero me imagino que es preferible a abrir uno nuevo sobre el mismo tema. ¿Como va lo de portar J2ME? ¿Se quedó en nada por esa licencia rara de Sun? Yo lo digo, porque, aparte de querer disfrutar de todo el catalogo de juegos de j2me, me gustaría que estuviera portado ya que la mayoría de la programación que se es en Java
Siento reflotar el tema, pero me imagino que es preferible a abrir uno nuevo sobre el mismo tema. ¿Como va lo de portar J2ME? ¿Se quedó en nada por esa licencia rara de Sun? Yo lo digo, porque, aparte de querer disfrutar de todo el catalogo de juegos de j2me, me gustaría que estuviera portado ya que la mayoría de la programación que se es en Java
creo recordar que sun metio la gpl en java?Alguien sabe como esta el tema??
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.