Saltar al contenido

Categoría: Java

¿Java será GPL?

¡Guao! hoy me entero por medio de Slashdot y Barrapunto que al parecer Sun Microsystem usará la licencia GPL (la misma que tiene Linux) al momento de liberar Java el próximo año. Es una sorpresa para muchos (aunque todaví­a no es oficial) ya que la mayorí­a de las personas pensábamos que la licencia con la que iban a liberar Java iba a ser una libre pero con ciertas restricciones pero al ser GPL principalmente (y el cambio que creo que mas veremos) nos dará la libertad/obligación de publicar las mejoras o proyectos derivados hechos a la misma, por lo que no será raro ver en unos años ver muchas máquinas virtuales distintas hechas por diferentes organizaciones y causando lo que para mi es lo malo de este asunto: Incompatibilidad o Destandarización de Java.

Si liberan Java bajo GPL, en mi opinión deberí­a Sun controlar o tratar de mantener un estándar de Java para todos los proyectos que se deriven del mismo, evitando que llegue a pasar que si programo algo no vaya a funcionar correctamente en todas las JVM que existan (sin tener que configurar algo), así­ como pasa con los navegadores libres, distribuciones, etc. (Claro puede sonar como dictatorial e ir con los principios de software libre) pero pienso que es lo mejor; otro problema que puede suceder es que las compañí­as que han creado trabajos o han desarrollados ciertas cosas en Java (entiéndase cosas incluidas en JRE, JSE, JME) deberí­an liberar estas cosas y causar disgustos para las mismas.

Existen rumores acerca de lo que Sun planea hacer es 2 modelos comerciales de Java, uno libre licenciado bajo GPL para la comunidad y otro con fin comercial dirigido a nivel Empresarial (Ya que de JEE no se ha dicho nada) así­ como lo hace Redhat, SuSe, MySql, que ofrecen versiones de sus productos tanto para la comunidad como para empresas. Lo cual harí­a «feliz» tanto al mercado empresarial como la comunidad y hacer Sun ganando mas dinero y ampliando su mercado.

Por ejemplo en Venezuela, Sun querí­a entrar al mercado del software gubernamental pero como sabemos por el decreto 3390 (que dice que todo el software gubernamental debe ser libre) no se podí­a usar la tecnologí­a Java muchas tareas ya que su máquina virtual era privada e iba en contra del decreto. Otro ejemplo es que he leí­do es de que muchas empresas no les agrada Java porque no tienen acceso a la JVM y no pueden saber que hace en realidad, si tiene backdoors, si tiene algo que no les guste, funcionalidades escondidas, entre otras cosas. Supongo que estas cosas les habrá pasado en muchas partes del mundo, haciendo que pierdan mercado que ellos pueden entrar, por lo que es razones como estas han hecho que liberen a Java.

Tocará esperar al otro año a ver si esto se hace realidad y el impactó que tendrá en el mundo de la informática.

P.D: Agredecirí­a sus opiniones, discusiones del tema y correcciones.

1 comentario

Frogger en JAVA (JFrogger 2k6)

Este es la famosa versión del juego Frogger programado en JAVA por mi. Lo hice porque en este semestre de la universidad yo era el preparador (Estudiante que trabaja en la universidad explicando el contenido de cierta materia de la carrera) de la materia Programación I de informática en la UNET. Y pues en el último parcial a los muchachos de esa materia les pidieron realizar un Frogger en Java, por lo que tuve que hacerlo primero para luego explicarlo.

El mismo esta hecho para correr perfectamente en cualquier S.O. que soporte Java, trae sonidos, fue hecho con multihilos, y espero que les guste y den comentarios.

Interfaz de JFrogger

Descarga:
https://skatox.com/descargas/JFrogger2k6.zip

¡¡El código fuente está bajo GPL para que lo disfruten aun mas!!

10 comentarios

JAD un decompilador para Java (Java Decompiler)

Jad es un buen programa que encontré por la red, el cual busqué para recuperar un juego (Frogger) que habí­a programado y borrado accidentalmente los códigos fuentes. (JAMAS PERMITAN ESO, Es algo muy ignorante, bobo, imperdonable perder los «sources» de un programa que estemos haciendo)

Jad es un decompilador de Java, es decir, un programa que traduce los un archivo .class a código de lenguaje Java. Se puede utilizar para recuperar el código fuente de .class que hicimos y perdimos los sources (cosa que no deberí­a suceder nunca), obtener el source de otros programas y aprender como funcionan algunas librerí­as, etc.

Uno de los usos interesantes que le dí­ fue el de crear una aplicación, compilarla y luego obtener los códigos fuentes de la misma, así­ se puede estudiar mejor el lenguaje, compilador, y el código que se genera. Esto me ayudó a resolver una duda que tení­a (si es elemental, no la sabí­a):

Por ejemplo, yo suelo importar todo un paquete de clases aunque utilice una sola (en este caso usaré por decir sólo la clase Frame):

import java.awt.*;
Frame objeto........

Mi duda era que si el .class que se generaba importaba todas las clases pertenecientes a awt, pero me di cuenta que al generar el .class y luego decompilarlo obtendrí­a en esa lí­nea sólo:

// Entonces es chevere porque puedo seguir con mi costumbre XD
import java.awt.Frame; 
Frame objeto........

Pero este programa no es perfecto del todo, lamentablemente no me recupera los comentarios que tengan las fuentes (es casi que obvio que no las recupere), al igual que aquellos métodos ó atributos que se definen al momento de instanciar/llamar al constructor de un objeto y estos no se encuentran definido en la clase que pertenece el objeto. ejemplo:

Object perro = new Object(){
int edad;
String nombre;     };

Me darí­a como resultado por el JAD:

// Se pierden los atributos que definen en el momento.
Object perro = new Object();  


En fin, es buen decompilador que se los recomiendo. Está disponible para x86 con Win 9x/NT/XP,2000; Linux, Mac Os X, BeOS, Solaris 7 y para PowerPC esta disponible para Mac Os X, para Sparc con Solaris ó Linux, entre otros.

Descárgalo desde: https://java.decompiler.free.fr/

1 comentario