"Java ha provocado una verdadera revolución en la forma de construir software"
James Gosling, Padre de Java y presidente de Sun Microsystems
Java ha supuesto una auténtica revolución dentro de la propia revolución de Internet. ¿Cuáles fueron los orígenes de este lenguaje de programación?, ¿qué objetivos perseguía su desarrollo?
- No existió ningún objetivo en concreto en el desarrollo de Java, es decir, todo comenzó como un experimento de investigación para profundizar en el área tecnológica e intentar salvar las distancias entre el mundo profesional y el del consumo. Comenzamos trabajando en él tres personas y lo que buscábamos era un lenguaje que estuviera basado en C++ pero que supliera las deficiencias del mismo; queríamos desarrollar “algo” que permitiera que varios dispositivos de consumo eléctrico se comunicaran entre sí a través de una red inalámbrica porque, en realidad, Java fue desarrollado en el seno de una filial de Sun llamada FirstPerson enfocada al desarrollo de aplicaciones para. Esta filial desapareció tras un par de éxitos de laboratorio y ningún desarrollo comercial. Sin embargo, Sun decidió quedarse con el lenguaje que habíamos desarrollado bajo el nombre de “Oak” y tras varias modificaciones decidió lanzarlo al mercado en 1995 con el nombre de Java. Nunca existió un objetivo o fin en sí mismo sino más bien la intención de investigar y crear un software para dispositivos electrónicos de consumo.
Sin embargo, Java ha triunfado como lenguaje para el desarrollo de aplicaciones en el mercado empresarial. ¿Cuáles son las características que han conferido a Java este éxito?
- En primer lugar, Java ha revolucionado la forma en la que las compañías construyen software. Una de sus principales características es que es universal, es decir, independiente de la plataforma, por lo que un programa hecho en Java se ejecutará igual en un PC con Windows que en una máquina Unix. Esta portabilidad se consigue haciendo de Java un lenguaje interpretado, quiero decir, compilando el código fuente a un lenguaje intermedio cercano al lenguaje máquina pero independiente del ordenador y el sistema operativo en que se y, finalmente, interpretando este lenguaje intermedio utilizando la máquina virtual de Java. Java ha cambiado totalmente la forma en que las organizaciones interactúan con los clientes haciendo los departamentos de TI más fiables y productivos.
¿Qué posibilidades de desarrollo de aplicaciones permite el lenguaje Java?
- Las posibilidades son infinitas. El desarrollo de aplicaciones utilizando la tecnología Java abarca desde aplicaciones para mainframe hasta para smart-cards. Pero lo más importante es que permite desarrollar aplicaciones, no en el sentido tradicional, sino que se extiendan por toda la red. Java es sin lugar a dudas la herramienta clave para vincular muchos tipos de dispositivos, ejecutando distintos sistemas operativos y varias clases de aplicaciones por lo que sus posibilidades son infinitas. Programar en Java es muy sencillo y esta es otra de sus grandes ventajas aunque detrás de los interfaces existe una gran complejidad tecnológica. Lo más importante a la hora de desarrollar aplicaciones son las características de interoperabilidad, esto es, que si alguien escribe un programa o una aplicación ésta puede funcionar en cualquier plataforma. Esta es precisamente una de las principales virtudes de Java.
¿Cree que el futuro de la Red pasa por el lenguaje Java?
- Absolutamente. Java es el primer lenguaje de programación diseñado para el networking y para el desarrollo de aplicaciones web. Cuando Sun desarrolló este lenguaje, en 1995, las posibilidades de las redes e incluso de Internet no eran las mismas que ahora y la enorme facilidad que ofrece Java para escribir páginas y aplicaciones web hacen de él el lenguaje de Internet por excelencia. Por otro lado, Java tiene un gran futuro en lo que se refiere al desarrollo de software pues al ser un lenguaje independiente de la plataforma, no hace falta crear versiones distintas de un mismo programa para cada tipo de ordenador y esto permite reducir enormemente los costes de desarrollo de software. Sus características de universalidad y portabilidad hacen de Java el lenguaje idóneo para el desarrollo de aplicaciones para sistemas conectados en red. Además, los sistemas y las conexiones en red que se construyen actualmente son cada vez más sofisticadas y Java es una herramienta para la gestión de la complejidad.
Los últimos desarrollos Java giran en torno a las aplicaciones inalámbricas con el conocido estándar Java Wireless. ¿Qué aplicaciones están ya disponibles para estos entornos?
- Ya están disponibles en Japón de la mano de NTT DoCoMo todo un conjunto de servicios para dispositivos inalámbricos basados en el estándar Java Wireless, entre los que cabe señalar la difusión de información, la mensajería unificada, aplicaciones transaccionales, de juego y ocio o aplicaciones corporativas, etc. Ya se están haciendo las primeras pruebas también en Europa donde existen acuerdos con otras operadoras. El objetivo es llevar Java a cualquier tipo de dispositivo de acceso a Internet.
Microsoft no soporta Java desde hace cuatro años, cuando fue denunciada por Sun Microsystems por modificar Java y desarrollar variantes propias...
- Lo más importante para Sun respecto a Java y lo que siempre se va a defender a capa y espada es su interoperabilidad y Microsoft quiso romper el acuerdo que en este sentido había firmado cambiando un poco el código de tal forma que ya sólo funcionaba en sus máquinas, es decir, crearon variantes propias de Java. Esto va justo en contra de lo que queremos que sea Java, una plataforma universal, y por eso denunciamos a la compañía de Gates. Una cosa está clara y es que a nosotros nos gustaría que Microsoft soportara Java ya que corre perfectamente sobre Windows pero la estrategia de Microsoft consiste en no dar libertad a sus usuarios, atraparlos y obligarlos a utilizar sus productos y esto es justo lo contrario a lo que promulga Sun.
¿Cree que Java podría llegar a desligarse de Sun Microsystems?
- Java no pertenece a Sun y esto es algo que debe quedar claro. Java es un esfuerzo de una comunidad de universal, de un montón de desarrolladores. La motivación de Sun a la hora de soportar Java no es económica, lo que queremos es mantener el mercado de software saludable. Hace años la única forma de desarrollar software era haciéndolo sobre plataformas de Microsoft y nosotros queremos ofrecer una alternativa porque entendemos que no es bueno que sólo exista un proveedor. Nuestro objetivo es que existan grandes sistemas integrables entre sí y que no todo tenga que funcionar sobre NT.
¿A cuánto asciende en la actualidad el número de usuarios de Java?
- Desde la etapa inicial del desarrollo original de Java, el número de desarrolladores ha crecido a cerca de 2 millones y medio. Pero en cuanto a número de usuarios no se pueden contar, es imposible porque muchísimas personas utilizan diariamente Java sin saberlo, cuando acceden a determinadas páginas de Internet, etc. Este es uno de los objetivos de Jav