Mostrando entradas con la etiqueta java. Mostrar todas las entradas
Mostrando entradas con la etiqueta java. Mostrar todas las entradas

sábado, agosto 14, 2010

Sun, Oracle, Google y Java


Ayer me encoentré la noticia ya en la prensa de papel. Concretamente en "El Economista". Por cierto, en la edición en papel el titular es diferente a la edición digital (Oracle demanda a Google y comienza una guerra de patentes), y el artículo es algo más extenso.

Leyendo los comentarios en la web digital de El Economista compruebo que la gente tiene ideas equivocadas de todo tipo. El mayor error de todos es de los que piensan que Java es software libre.

Java nunca ha sido software libre. Es cierto que para ser lo que es, tampoco podía ser totalmente propietario o restrictivo. Al final es toda una plataforma en la frontera entre dos mundos y siempre ha tenido grandes peligros al acecho tanto de una parte como de la otra.


Antes de 2004:


Había unas razones que siempre ha dado Sun para que no fuera software libre:


1.-Si se liberara muy probablemente ocurriría lo que con otras tecnologías estándar. Microsoft haría su propia máquina virtual incompatible con el oficial. Teniendo en cuenta quien controla la mayor parte de los escritorios del mundo Sun y toda la comunidad Java se verían desplazadas y millones de desarrolladores se encontrarían con un Java mayoritario e incompatible y otro Java estándar pero minoritario. No se podría escribir un programa Java que funcionara en cualquier entorno. Esta guerra la abandonó Microsoft en 1997: http://news.cnet.com/Microsoft-wants-end-to-Java-wars/2100-1001_3-278516.html

2.-Si fuera software libre, surgirían diferentes comunidades que con toda su buena intención empezarían a modificar el código para corregir errores, añadir funcionalidad, etc. Este hecho que en otro tipo de proyectos es muy beneficioso, perjudicaría a los millones de desarrolladores que necesitan un entorno unificado y con compatibilidad hacia atrás garantizada. Podemos encontrar argumentos como estos en JAVA.NET y ahora firmado con el logo de ORACLE: http://weblogs.java.net/blog/2003/06/26/why-java-not-open-source-one-cowboys-opinion



AÑO 2004:

IBM solitita a Sun que libere Java: http://news.cnet.com/2100-1007_3-5165427.html

En el mismo artículo tenemos la opinión de Rick Ross, desarrollador de Java, que opina que el problema real de Java es que tenga todo el control una compañía (SUN) que no representa ni el 5% de su industria.

Richard Stallman avisa del peligro que tiene la plataforma de desarrollo Java, precisamente por no ser software completamente libre: http://www.gnu.org/philosophy/java-trap.es.html

Razón no le falta a Stallman. En el artículo viene a analizar las dependencias del software desarrollado con la plataforma de desarrollo Java de Sun. Esas dependencias hacen que el software que se desarrolle pueda no ser software libre aunque el autor lo quisiera.

Año 2007. Empieza el lío.

En noviembre de 2007, Sun se queja de que el Java de Android se separa del estándar que sí cumplen el resto de teléfonos móviles:

http://news.cnet.com/8301-13580_3-9815495-39.html

http://news.cnet.com/8301-13580_3-9817048-39.html

Parece que Google defiende las diferencias para mejorar rendimiento. Android se basa en la máquina virtual Dalvik para el funcionamiento de las aplicaciones Java.

La queja de Sun va en el sentido de que se van a fragmentar los desarrollos Javas y se acaba con el eslogan de "escribirlo una vez y hacerlo correr en cualquier lugar".

Agosto de 2010

Con la compra de Sun por parte de Oracle el año pasado cambia la relación de fuerzas. Oracle es el nuevo propietario de Java, y se siente con fuerzas para iniciar una demanda legal por infracción de patentes contra Google.

Esta es la demanda: http://i.i.com.com/cnwk.1d/i/ne/pdfs/FINAL_Complaint.pdf

Y aquí algunos artículos interesantes:

http://news.cnet.com/8301-30684_3-20013546-265.html

http://www.zdnet.co.uk/news/mobile-devices/2010/08/13/oracle-sues-google-over-androids-use-of-java-40089818/

http://adtmag.com/blogs/watersworks/2010/08/oracle-google-lawsuit-hurt-java.aspx

http://news.cnet.com/8301-30685_3-20013549-264.html

En principio sale en defensa de Java y eso es bueno para los desarrolladores y empresas que lo utilizan.

Ahora bien, la duda es la siguiente: ¿Qué otras cosas van a cambiar a partir de ahora? Sabemos que Oracle era muy diferente a Sun.

Por resumirlo en una línea puede que Oracle se centre más en los negocios, beneficios y cosas así, y que los de Sun se parecieran más a buena gente, colegas que trabajan con comunidades,...

No hay nada que oblige a Oracle a continuar con la forma de proceder de Sun. Al principio decía que Java navegaba entre dos mundos, pero ahora tiene nuevos dueños y podrían cambiar de rumbo. El tiempo nos lo dirá.

Saludos.

domingo, octubre 26, 2008

Instalación de entorno Java

Bueno, por los comentarios del post del otro día, parece que el personal opina que es mejor Java que .NET para un proyecto en principio destinado a la libre distribución.

Pues nada, a reciclarse y a instalar Java.

PASO 1: INSTALAR JAVA


Voy a http://java.sun.com/javase/downloads/index.jsp y selecciono Java SE Development Kit (JDK) 6 Update 10. La instalación no tiene ninguna pega.




PASO 2: CONSEGUIR BUENA DOCUMENTACIÓN


Cuando empezó a extenderse el fenómeno Java (1997) el mejor libro y descargable gratuitamente era el "Thinking in Java" (Pensando en Java) de Bruce Eckel. Este autor dedicado a la formación y divulgación ya era conocido por el "Thinking in C++". Thinking in Java se considera libro de cabecera no sólo para aprender sobre Java sino en general como libro sobre programación.

El propio autor distribuye gratuitamente a través de su web las versiones electrónicas de su libro: http://mindview.net/Books/DownloadSites/

Están la primera, segunda y tercera edición. La más reciente, la cuarta hay que comprarla en librería. Conviene mencionar que los temas no se han ido copiando y mejorando de versión en versión. Hay temas enteros que sólo encuentras en versiones anteriores.


El único inconveniente de esos libros publicados por el autor es que están en inglés. Yo me he bajado la versión pdf del thinking in java segunda edición en castellano de aquí: https://www.yousendit.com/transfer.php?action=batch_download&batch_id=Y2o4dFdYTkFQb0pFQlE9PQ



Cuando se lanzó la segunda revisión estaba disponible el JDK 1.3 que supuso tanto cambios en el lenguaje que se consideró Java 2.

El libro que me he descargado es un PDF de 33,9 Mbytes y 958 páginas con mucha literatura de por medio. En la página 22 empieza un prólogo, en la página 28 está el prólogo a la edición en castellano, en la 36 la Introducción.

Más curiosidades:
pag. 47. Notas sobre el diseño de la portada (la imagen de cabecera del post).
pag. 49-50. Tipos de letras, procesador empleado.
pag. 52 empieza "Introduccion a los objetos".

En la pag. 120 por fin algo interesante: Tu primer programa java.
Edito con el blog de notas el fichero:






PASO 3: NUESTRO PRIMER PROGRAMA JAVA.






Es muy curioso, y creo recordar que en el primer Thinking in Java el autor dice algo al respecto, el primer programa Java no es el famoso HOLA MUNDO.




En la variable de entorno path he metido a mano la ruta hasta el compilador javac.

Luego, en línea de comandos: javac HolaFecha.java

Como resultado genera un HolaFecha.class

Y para ejecutarlo java HolaFecha




PASO 4: SELECCIONAR UN IDE


No vamos a hacer la aplicación utilizando el bloc de notas. Necesitamos algo que nos facilite sobre todo el diseño de los formularios. Ha llegado la hora de elegir un IDE.

El IDE va a determinar las librerías gráficas que podemos utilizar. Nos decían que podíamos utilizar SWING.

En el 97 la libreria grafica de moda era AWT. Ahora veo que ha fracasado. El problema que tenía era que utilizaba por debajo la API propia de cada entorno (Windows, GNULinux, etc.) por lo que AWT sólo abarcaba la parte común de todas ellas.

Aquí podemos ver como lo hace Swing para superar esa limitación: http://es.wikipedia.org/wiki/Swing_(biblioteca_gr%C3%A1fica)

Al final para elegir el IDE me he basado en este post y los comentarios: http://iiso.blogspot.com/2007/06/elegir-un-ide.html

Sólo me queda la duda entre dos: Eclipse o NetBeans. Esto es lo que dice Wikipedia de ellos:
Eclipse: http://es.wikipedia.org/wiki/Eclipse_(software)
NetBeans: http://es.wikipedia.org/wiki/NetBeans_IDE

Por si me quedaba pocas dudas me encuentro con este otro: http://www.forodejava.com/showthread.php?t=440


La decisión es...NetBeans.


PASO 5: DESCARGAR NETBEANS

Para descargar NetBeans vamos al sitio de netbeans en castellano: http://www.netbeans.org/index_es.html

En enlace de descargas: http://www.netbeans.org/downloads/index.html


Y como siempre necesitamos un tutorial de netbeans: http://www.netbeans.org/kb/60/java/quickstart.html


Este es el aspecto de NetBeans:



Ya está todo preparado para empezar mañana el proyecto.

Saludos.