Java para siempre
A la vista de algunas noticias pesimistas y algo apocalípticas sobre el futuro de Java que han aparecido en JH recientemente, y con el propósito de conjurarlas vertiendo un poco de optimismo sobre su futuro, traigo aquí este artículo publicado recientemente en Java World.
En él el autor expone las que, a su juicio, son las doce claves por las que Java será el lenguaje/plataforma predominante durante aún muchos años más. Personalmente comparto la mayoría de sus argumentos, aunque discrepo sobre otros y creo que le faltan algunos de igual peso.
Y como no me parece justo "arrojar la piedra y esconder la mano", voy a mojarme dando mi opinión personal al respecto. De los puntos expuestos por Peter Wayner en su artículo, creo que los dos más fuertes son:
- El hecho de que Java como lenguaje sea hoy la lingua franca de la programación: la mayoría de los programadores (por el motivo que sea) conocen Java aunque prefieran otros lenguajes.
- Que la JVM sea hoy en día no sólo una de las piezas de software más admirables que existen, sino además la plataforma sobre la que se están creando y evolucionando casi todos los nuevos lenguajes que más repercusión están teniendo.
Y de los puntos expuesto, creo que el que menos peso tiene es el hecho de que Blu-ray utilice Java. Ya que con la escasa acogida que ha tenido esta tecnología y el futuro tan poco halagüeño que en principio se espera para cualquier tipo de almacenamiento en forma de disco, no creo que Java vaya a sobrevivir gracias a ello.
¿Qué opináis vosotros?
Reader Comments (7)
Pues yo opino que firmo porque Java tenga dentro de 20 años la mala salud que tienen ahora mismo C o COBOL. Que igual la blogocosa no se acuerda de ellos, pero la jodida realidad...
Para mi la única razón de más peso es la de la JVM, sobre todo por la cantidad de librerías ya existentes para hacer prácticamente cualquier cosa. Claro, que esa razón se aplica también al resto de lenguajes de la JVM: Groovy, Scala... de hecho no veo ningún motivo por el que Java deba prevalecer en lugar de Scala, por ejemplo.
Efectivamente, la mayoría de razones son bastante banales. Lo de Blue-ray es anecdótico, porque es un uso muy específico de Java que no afecta o importa al usuario. Y comparado con la importancia de Java para Android, lo del BR casi da la risa.
Java ya se ha usado demasiado como para que desaparezca en breve plazo, el índice TIOBE da buena muestra de ello, y se sigue usando muchísimo en aplicaciones para la Web. Donde creo que tiene más problemas es en el desktop. Entre los "bujeros" de seguridad del plugin en los últimos tiempos y la fama de lento que sigue arrastrando, sigue siendo complicado que la gente use aplicaciones escritas en Java (excepto quizá el JDownloader, tiene narices la cosa). Es decepcionante que uno haga una aplicación, la regale con fuentes y se la echen a la cara constantemente con excusas peregrinas del tipo "Java es lento", "tengo que instalar la JVM", "Java consume mucha memoria" o simplemente "le tengo manía a Java", y todo eso !!!sin haber llegado a probar el programa!!!.
Probablemente, lo que garantiza el futuro a medio plazo de Java es, precisamente, su pasado. El que esté a punto de cumplir los 20 y siga con buena salud es el mejor síntoma para lo que esté por venir.
Para mi, los hitos más importantes que ha marcado Java podrían ser:
* Multiplataforma y threads, ambos mencionados en el artículo. Sigue sin haber nada que compita de verdad con lo primero y facilita mucho la programación con threads, eso es innegable.
* El empujón que le ha dado Java a las tecnologías JIT y de GC's ha sido brutal. Si comparáramos ahora el rendimiento de una aplicación en Java 1.1 y una con Java 7, incluso en un HW actual, veríamos que la diferencia es enorme. Humildemente, creo que se le concede muy poca importancia a lo que es la tecnología JIT y las ventajas que conlleva y estoy convencido de que, sin apostar por cuantos años le quedan a Java, si apostaría por el futuro de los JIT. A la larga, creo que serán mejores que los compiladores estáticos, proclamo.
* Las ventajas inherentes al hecho de funcionar en una VM. A la hora de depurar o analizar un programa las facilidades son enormes.
En fin, ya he pegado bastante chapa por ahora.... :)
JAVA me encanta, me soluciona los problemas que presento como desarrollador, java esta en todos lados, en la medicina, moviles, escritorio, hadware, aplicaciones de escritorio, JAVA es genial, y en mi opinion java tiene para muchosisisimos años
Lo primero yo separaría mucho entre java lenguaje y JVM. El lenguaje, pues sencillamente hay alternativas mejores tanto dentro como fuera de la JVM. Aún así seguira vivo mucho, mucho tiempo por la cantidad de código que hay que mantener y por la cantidad de programadores que seguirán empezando nuevos proyectos con java porque es lo que conocen y es donde se sienten más seguros. Y la cantidad de empresas que seguirán "imponiendo" java en sus proyectos para tener al alcance de la mano la enorme cantidad de programadores que existen con conocimientos en el lenguaje.
Hablando de la JVM, para esto ni siquiera hay alternativas. Ni .net lo es que es un nicho, ni lo es programar nativo que es por lo general mucho más costoso y más complejo y por definición no es multiplaforma, ni lo es ruby que tiene un runtime más bien de risa y cada vez son más los que usan JRuby para poder tener una jvm en runtime etc,etc. Hay cosas graciosas y exóticas como erlang que por ejemplo en multithreading es muy superior a la JVM (y en realidad a cualquier otra cosa, incluidos los sistemas operativos) pero precisamente por exótico y por la curva de aprendizaje sólo lo veremos en cosas muy concretas, aunque cada vez más eso si.
En mi opinión Java seguirá reinando por varios años, lo que si ahora ya tiene buenos competidores, hablo de scala, python, que vienen pisando fuerte, en este caso los programadores debemos de estar agradecidos por tener tantas alternativas por las cuales poder decidir y desarrollar una aplicación.-
Parece que habláis de Java como una lengua muerta, creo que todos sabéis que Java 8 está a la vuelta de la esquina, hay Java PARA RATO