El desinterés de Oracle por Java es una discusión recurrente en la comunidad de desarrolladores desde casi el primer día de su compra. La impresión de no querer fomentar la innovación, pendiente más de sus negocios de cloud computing y sus luchas de patentes fomentan esas dudas. Aunque tengamos ya fecha para la llegada de Java 9 en 2016 parece que no es suficiente.
A esto se suma la irrupción de otros lenguajes más atractivos como Scala o Go, por decir solamente un par, que están sustituyendo poco a poco a Java en ámbitos dónde era indiscutible. El único bastión que lidera Java es Android, pero sigue pendiente de un hilo de que Google de el paso y anuncie un sustituto, una dura estocada si se produce.
La evolución de Java en manos de Oracle
El camino de Java bajo la mano de Oracle siempre ha ido acompañado de que “aún no era el momento de matar a Java, ya tendrá tiempo de hacerlo”.
IBM fue la primera compañía en flirtear con la compra de Sun, pero fue finalmente Oracle la que se hizo en junio de 2009 con Sun y lo que ello conllevaba, Java. Esta compra llegó en el declive paulatino de una de las compañías más innovadoras de la década de los 90 y principios del 2000. Con un stack tecnológico clave en muchas compañías. Oracle cerraba en cierta forma el círculo de su estrategia empresarial ofreciendo un stack completo.
A pesar de la situación que favoreció la compra de Sun, Java estaba en auge en ese momento, salvo disputas con la comunidad libre saldadas con el lanzamiento de OpenJDK para la liberación del código y su implementación libre.
Mientras los ingenieros de Sun se acoplaban en sus nuevos puestos en Oracle, OpenJDK seguía creciendo, incluso haciendo cambiar de idea a muchos detractores de Java en proyectos Open Source con una licencia en Java 7 GNU GPL a penas dos años después de la compra. Oracle mantuvo la promesa de Sun y propició que la JVM fuera el germen para el nacimiento de otros tantos lenguajes JRuby, Groovy, Scala o Clojure.
2010 fue un año negro para Oracle debido a los problemas de seguridad de Java y los continuos problemas con los instaladores de Java. Abusando de la publicidad embebida y de malas integraciones del plugin de su entorno de ejecución en los ordenadores “domésticos”.
El camino de Java bajo la mano de Oracle siempre ha ido acompañado de que “aún no era el momento de matar a Java, ya tendrá tiempo de hacerlo”. Oracle ha ido cepillándose a distintas tecnologías cercanas a Java como Hudson propiciando el fork de Jenkins, dejando de lado servidores como Glassfish, incluso marchitando IDEs como Netbeans en favor de Eclipse. Java ha ido perdiendo paulatinamente el rico ecosistema de Sun dentro de Oracle.

¿El desinterés actual de Oracle por Java?
Oracle dejó claro que no estaba por la labor de colaborar en una de las mayores innovaciones en torno al lenguaje Java como fue y sigue siendo Android.
Planear una obsolescencia programada de Java es algo demasiado aventurado. Infoworld alertaba sobre como numerosos expertos cercanos al entorno de la compañía comentaban con preocupación como Oracle estaba pivotando hacia un negocio centrado en el Cloud Computing olvidándose de Java.
Aunque Oracle no está en un punto de pasarlo mal económicamente, está viendo como su mercado más tradicional está siendo engullido por otros actores en el mercado principalmente centrados en la nube (Salesforce, Amazon, Google o Microsoft). Las empresas que surgen a día de hoy dejan de adquirir costosas licencias de las bases de datos de Oracle o sus productos por soluciones más flexibles. ¿Entonces, Java es un lastre en lo nuevos planes de Oracle?
Desde septiembre hemos ido contemplando como un goteo incesante la fuga de los llamados “Java Evangelist”, algunos con un largo recorrido que han pasado casi 20 años entre Sun y Oracle. Una de las razones de este cese de “ventas” del lenguaje viene justificada por su madurez ¿Es necesario seguir vendiendolo a la comunidad? Quizás las pregunta debería ser planteada en por qué ya no es tan seductor: claramente, la falta de innovación.
A día de hoy, parece que Oracle no quiere compartir sus innovaciones, algo que reforzaría a sus competidores. No está interesada en seguir trabajando con Java EE ni siquiera apoyar o promover las iniciativas propuestas el Java Community Process para definir futuras especificaciones del lenguaje. Recordemos que Java fue liberado en 2006 por Sun con una licencia GNU GPL, pero aún asi Oracle cuando lo compró recibió bastante reticencias. Sin hablar de las disputas con Google acerca de ciertas patentes de APIs de Java.
Oracle ha tenido algunos movimientos muy poco acertados en cuanto al lenguaje, incluso, la que se podría considerar como una versión “rota”, como Java 8 que salió a la luz mirando a los lenguajes funcionales pero sin atreverse del todo. Java 9 es la esperanza de los decepcionados, aún por llegar.
Problemas de compatibilidad hacen que muchos sigan programando en Java 7, en lugar de su última versión como Java 8. Agrietado por el tiempo que paso entre una versión y otra, casi 8 años.
Sin hablar de los problemas de seguridad mal llevados con continuos parches o la mala imagen que dió la dichosa barra de navegación de Ask instalada junto a Java hace unos meses en millones de navegadores. Y, por supuesto, el Day-Zero de seguridad que llevó a una alarma social de la necesidad de tener instalado Java en el navegador con la gran cantidad de software malintencionado que podría atacar los applets con versiones comprometidas de Java.
Oracle ha tenido muy poco claro cómo sacar dinero directamente de Java, quizás la única forma que contempló fue la de demandar a Google por su uso en Android. Dejó claro que no estaba por la labor de colaborar en una de las mayores innovaciones en torno al lenguaje java como fue y sigue siendo Android.

El futuro de Java, según Oracle
Oracle parece querer recuperar Java ME para meterlo si puede en la batalla del Internet de las cosas.
Todas estas argumentaciones previas, totalmente clásicas, acerca de la relación entre la comunidad Java y Oracle, fueron en cierta forma minimizadas. Mejor dicho, adormecidas con las novedades propuestas en la reciente Java One, la gran conferencia anual de la comunidad Java auspiciada por Oracle.
La relevante intervención de Scott McNealy dentro de los homenajes al 20 aniversario del nacimiento de Java recordó la ausencia en la compañía de James Gosling (creador principal de Java) dejando entrever la falta de ese guía.
Pero Oracle a parte de homenajes aprovechó para desvelar sus planes acerca del lenguaje quitándose de encima este yugo de querer abandonar Java a su suerte. Sus principales puntos al respecto fueron la anunciada llegada de Java 8 EE en 2017, enfocada a HTML5, capacidad en cloud, fácil uso, asi como el uso de framework MVC directamente o la mejora en el tema de la seguridad. Terreno que Spring ha liderado utilizando Java antes que Oracle se lance en especificaciones oficiales de la plataforma.
Mientras eso aterriza en el terreno más empresarial de Java, el ansiado Java 9 SE llegará en 2016. Su principal baza es desmontar el monolítico núcleo de Java para convertirlo en un lenguaje modular capaz realmente de funcionar realmente en cualquier sitio sin tener que arrastrar componentes innecesarios.
Existen dos proyectos en la trastienda que trabajan en paralelo para futuras versiones de Java 10 y Java 11: Proyecto Vanhalla y el proyecto Panama, que incorporará novedades tanto a nivel sintáctico como funcional en el acceso de datos nativos y de código, aunque aún queda por ver en qué queda todo ello.
Y Oracle parece querer recuperar Java ME para meterlo si puede en la batalla del Internet de las cosas. Intel es su aliado en ello dando soporte a Java en su IoT Developer Kit. La respuesta al origen inicial de Java, poder funcionar en cualquier dispositivo por pequeño que sea. Java está por si sólo lejos de un declive cercano

Java está lejos de desaparecer
Formar parte del stack principal de muchísimas compañías lo hace difícil de sustituir tan a la ligera.
A día de hoy, Java es ejecutado en el 90% de los ordenadores, casi 3 mil millones de dispositivos móviles funciona bajo Java, Android tiene mucho que ver. Y sigue siendo el TOP 1 de los lenguajes en TIOBE. Este indice incluye a Scala, Groovy y Clojure.
El apoyo de las principales empresas de internet es claro, Netflix, Twitter, Linkedin, Square y Google. Se puede consultar decenas de proyectos en torno a su propio ecosistema.
Aunque Java esté lejos de desaparecer, el futuro es políglota y muchos de los lenguajes JVM nacidos de él le irán sustituyendo según las necesidades. Los desarrolladores están cada vez más capacitados para elegir la correcta herramienta para hacer su trabajo lo más eficiente posible.
En definitiva, Java es más que un lenguaje. Es una plataforma, un API, y una comunidad. A pesar de lo que pueda ocurrir con Oracle en un futuro a medio plazo, la madurez, fiabilidad y seguridad seguirá haciendo posible crear productos innovadores. Formar parte del stack principal de muchísimas compañías lo hace difícil de sustituir tan a la ligera.
Ver 80 comentarios
80 comentarios
knapp
Oracle lo que deberia es entregar completamente Java a la comunidad open source y se acabo el problema.
javidev
Como programador que soy, los que pedís la muerte de Java no tenéis ni idea de lo comúnmente usado de este lenguaje en servidores.
Para mí es, de hecho, el único lenguaje lo suficientemente robusto para considerarse "Enterprise" (con la Java EE), combinado con C/C++ en entornos que requieren alta eficiencia; y junto a, por supuesto, una buena base de datos SQL-derivada.
Para mí, el resto de lenguajes de moda (Ruby, Node.js, etc.) están en beta continua, y sólo sirven si eres una startup en el que cualquiera pudiera parchear los problemas que ocasiona o estar recompilando con nuevas versiones, o eres una gran empresa con gran presupuesto en IT.
Si no, esos lenguajes son juguetes comparados con la robustez de Java EE, lenguaje ideal para consultoras que desarrollan servicios a otras empresas, para ahorrarse un pico en costes de mantenimiento.
jordivilaplana
Que Android Studio tenga a Java como lenguaje de programación principal no implica que Android funcione con Java. Tanto Dalvik como ART, los motores de las apps de Android, poco o nada tiene que ver con la JVM. De hecho, el NDK (Native Development Kit) de Android trabaja con C/C++ y hay otras herramientas para programar para Android creando apps nativas en otros lenguajes, como Xamarin que usa C# (el más digno sucesor de Java, IMHO). Decir que Java se usa tanto gracias a Android es como decir que BSD tiene más cuota de uso en escritorio que Linux gracias a Mac OS X. Oracle podrá "matar" Java cuando quiera, pero el Java de Android Studio no depende de Oracle.
neoranga
Tanta es la frustración de los desarrolladores de Java que los creadores de ItelliJ IDEA han creado otro lenguaje, especialmente para usarlo en Android:
blog.jetbrains. com/kotlin/2015/11/the-kotlin-language-1-0-beta-is-here/
Habrá que ver si Java consigue mejorar más rápidamente, pero hay poca esperanza viendo la cantidad de plataformas, como Android(Java 6-7), que están atascadas en una versión antigua de Java y con pocas probabilidades de actualizarse.
josekron
En mi opinión para aplicaciones grandes y robustas que evolucionen en el tiempo, o tiras por JavaEE o por .NET. Las demás opciones están bien para aplicaciones cerradas o startups, u otras tecnologías más minoritarias/específicas como Scala que ya depende bastante del nivel del equipo de desarrollo. Quizás Python/Django que tiene una gran comunidad detrás, aún así por su modelo MTV no es tan escalable.
Pero vamos, eso también va por modas. Yo flipo con lo fuerte que está pegando Nodejs que está bien para proporcionar servicios de prueba o prototipar por su rápido despliegue pero ni me lo planteo para una aplicación en producción. La gente se queja de Java y su verborrea pero picarse un backend en javascript debe ser un infierno.
La solución como han comentado, es que entreguen Java a la comunidad opensource. Como desarrollador sigo formándome en otras tecnologías, aún así espero bastante de Java 9 y sobre todo que se pongan las pilas con el internet de las cosas porque si en web Java es de las primeras elecciones, con el IoT no hay ninguna razón para elegir Java.
bake3
haber, si aun el año pasado lanzaron java 8 hay fecha para java 9 además de acuerdos con intel,google y otras historias.Que significa cuando el redactor dice "no es suficiente" cual es el problema?, no entiendo este articulo...
Deimdos
JAVA + certificados digitales + admon pública = fatality
felipeponcet2
Java es una maravilla, pero de la forma que está planteado no genera dinero para su "dueño". Por eso Oracle compró Sun, y no al revés.
Usuario desactivado
De p...m.... que se lo cargue, así quedaremos menos programadores de java pero muchísimo mejor pagados
Omar Renteria
Por partes:
1) Netbeans, no es para nada, un proyecto descuidado. Vamos, que la versión 8.1 se liberó recién hace unas semanas.
2) Glassfish, no es que lo hayan querido descontinuar; pero ya existían otras alternativas WildFly, por tanto en vez de tener una comunidad fragmentada en alternativas (jetty, tomcat, glassfish, WildFly, etc.) dejan de poner ese esfuerzo y siguen por su camino con Weblogic (el cual se integra muy bien con Oracle DB).
3) La seguridad de Java se ve comprometida por los applets. Fuera de ahí Java es tan (in)seguro cómo cualquier otro lenguaje de programación.
4) Con Java el problema de "innovación" tiene que ver con algo más grande. En Java hay aplicaciones con muchos años en sus espaldas y generalmente, los proyectos Java son aplicaciones grandes (+50KLoC). Imaginen que cada año se deba cambiar la sintáctica de proyectos grandes... lo que hace Java para mitigar eso es meter pocas mejoras "innovadoras" y cuidar mucho el aspecto de retro-compatibilidad (en muchos lenguajes pasa que te actualizas de la versión 1.1 a la 1.2 y ya se rompe todo; con Java puedes compilar tu código de Java 6 a Java 7 sin problemas).
5) Si Oracle mata a Java no es el fin del mundo. Adobe mató Flex y la comunidad Flex sigue manteniendo el proyecto. OpenOffice fue dejado de lado también por Oracle y ahora está vivo en forma de LibreOffice. Si Oracle mata a Java, pueden ceder lo existente al OpenJDK o simplemente, aportar lo necesario para no romper compatibilidad entre OpenJDK y Oracle JDK.
6) Java ME desde siempre ha sido visto cómo una buena opción para sistemas empotrados. Muchas cosas que usamos a diario usan Java y no es que Oracle quiera revivirlo, sino que usar una plataforma cómo Java es muy sencillo comparado con usar algo cómo C/C++.
ekhaos
Así como ocurrió con Flash de Adobe, Java se está quedando obsoleto. Pero bueno, siempre le quedará Android... ¿Siempre?
cs122
I can't fully understand the term "Day-Zero". Did you mean "0day" or "0-day"? :troll: Podrías corregir el fallo?
kuman
mas que leer el contenido de la nota me agrada mas leer los comentarios, da gusto leer opiniones de diversos puntos de vista y sobre todo dando argumentos se ve q todos saben mucho del tema y para los q solo somos aficionados pues algo aprendemos de cosas q no sabiamos o no entendiamos antes.
dark_god
Java me gusta mucho. Más que C#. Es un lenguaje robusto, y aun no siendo el más eficiente (la máquina virtual al menos) es un lenguaje que permite hacer prácticamente todo. Además hay una cantidad de librerías brutal y cada dia se usa más. Es perfecto para servidores, y no sólo eso, sino que con hadoop por ejemplo está asaltando su debilidad: la eficiencia y el rendimiento. Hasta tiene soporte para OpenCL que recompila en tiempo de ejecución las clases en código nativo para la gráfica. Es un lenguaje sencillo y que prácticamente todo el mundo conoce. Sus ventajas saltan a la vista. Los problemas de Twitter se acabaron cuando migraron todo a java.
driverop
Si Google deja de lado Java será para reemplazarlo por algo igual de malo o peor.
funkse
A Oracle solo le importa la pasta, solo hay que ver los contratos abusivos de mantenimiento, las auditorias infundadas y las amenazas a las empresas si no les dejas auditarte, por no decir que incluso te advierten que si no renuevas contratos de mantenimiento la próxima vez que los pidas te aplicaran una penalización del 150%...increíble!!! y vergonzoso, es normal que pasen de java, que hayan destruido el openoffice y que la comunidad de desarrolladores no quiera ni oír hablar de ellos.
su modelo de negocio no esta actualizado y sus miras son muy estrechas anteponiendo el beneficio económico a corto plazo en vez de buscar un objetivo mas amplio. ahora que las grandes empresas están empezando a abrir sus puertas y ser mas transparentes Oracle hace todo lo contrario.
regys
Si Java muere (no veo lo oportuno de hablar de esto ahora ya que me parece como decir en el 95 si Microsoft se estaba cargando Windows...) no será por Oracle ni por otras razones que no sea evolución del software... y por ahora a Java le veo una gran capacidad de evolución...
Que ahora hay mil tecnologías nuevas intentando hacerse hueco, seguro, pero que se lo hagan no quiere decir que Java tenga que morir... es que es una cuestión tan extrema que no le veo sentido.
Y en España menos; si a los desarrolladores como dicen aquí nos cuesta sacarnos de la zona de comfort, a las empresas les cuesta aún más dispensar la formación adecuada para que eso pasase.
frandevel
"El único bastion es Android" ???? El bastion de java es el software empresarial donde se realizan integraciones de plataformas, comunicaciones a través de colas de mensajería y demás escenarios donde la cosa se pone seria. Eso unido a que la base instalada de aplicaciones desarrolladas en Java es inmensa, a empresas como SpringSource empujando Java en cuanto a eficiencia y productividad en el desarrollo, y a que todas esas aplicaciones necesitan mantenimiento continuo hace que se pueda asegurar que a Java le quedan muuuuuuchos años de existencia. Estamos hablando del lenguaje de programación más importante en el índice Tiobe y aunque pego una pequeña baja con lenguajes como Groovy, está volviendo a subir. Estoy de acuerdo en el que el futuro es políglota, pero por otro lado J2ME no es la solución de java hacia el IOT. Creo que en ese area se usa más Java Embedded.
Saludos
hachepons
Oracle es un cáncer para todo lo que era Sun. Una pena u.u
koaltares
Por ilustre razón, desde hace años me especializo en C# de .NET: Un "Java" bien hecho, y ya trabajando en la versión 7.
Los genéricos, TPL (aunado Async/Await), Properties y modo: "Unsafe" (gestión de memoria manual) y frameworks como ASP.NET / UAP son particularidades que fuerzan NO volver jamás a ese moroso, lento y lenguaje llamado Java. ¡Cuánto te amé en el 2008, cuánto te dejé JVM!. No hay mejor expresión puntera que la de C# como lenguaje OOP. Apenas celebraban Lambda con la triste versión 8...
Respeto al progenitor, pero debo ser duro, .NET Core es futuro, y es OpenSource. Es momento que los remotos "Pro-Anti-MS" indaguen en nuevo pretexto para alardear.
Un demo como .NET es implementado en Ubuntu:
theregister .co .uk/2015/11/20/microsoft_net_core_development_platform_fork/
marjuanmanuel
la gran pregunta que deberíamos hacernos a todo esto es: ¿Para qué compró Oracle a Java?
Emanuel
Hace 2 años que comencé a programar en VB .NET (vine de C#) y la verdad es que no lo cambió por nada, su sintaxis realmente me gusta y me resulta agradable para trabajar. Ambos lenguajes pueden hacer lo mismo, comparten la misma librería, etc. así que no hay "contras" realmente.
vortexwong
LibreOffice deberia buscar otra plataforma.
[offtopic] Señores de Weblogs, ¿Cuando se va a poder comentar desde Twitter desde el movil? (desde la version movil de la web)