jueves, 23 de septiembre de 2010

Sobre la muerte de Java


Mucho se ha elucubrado sobre la muerte de Java, sobre los nuevos lenguajes que superan con creces sus características, la compra de Sun...

Java, hoy por hoy, es el líder indiscutible en el desarrollo de aplicaciones empresariales, esto es innegable, y lo seguirá siendo por mucho tiempo. Cuenta con el mayor pool de desarrolladores, el mayor ecosistema que ha tenido ningún lenguaje jamás y la empresa está de su lado, muchos productos han evolucionado hacia sus tecnologías.

Si analizamos por ejemplo el lenguaje C que lleva con nosotros desde 1972 y sus estadísticas de uso según Tiobe, está en segundo lugar con un 17,147%, poco detrás de Java. Su evolución, C++ se encuentra en tercer lugar con un 9,81%.

Java podrá gustar más o menos a la gente, pero el éxito de un lenguaje no depende sólo de sus características, si no estaríamos programando todos en LISP desde hace mucho tiempo. Depende en su mayor medida de las relaciones entre empresas, software opensource, productos que lo utilicen... El lenguaje que sustituya a Java probablemente sea una nueva versión del mismo Java ampliada soportando y simplificando lo que actualmente Java es. Es lo que hizo Java en su momento:

1. Respetar todo lo posible la sintaxis del lenguaje precedente C/C++.
2. Simplificar la gestión de memoria, concurrencia y modelo de objetos.
3. Facilitar el desarrollo multiplataforma.

El siguiente killer language tendrá que soportar los problemas actuales:

1. Simplificar el desarrollo distribuido desde el propio lenguaje
2. Simplificar y potenciar la concurrencia.
3. Respetar todo lo anterior.

Se me viene a la cabeza ahora mismo Erlang como mayor valuarte, pero debería respetar la sintaxis y la orientación a objetos del mismo modo que lo hizo Java en su momento, el cambio drástico hacia la programación funcional es duro de asumir por el grueso de desarrolladores.

Quizá sea el propio Java el que evolucione en este sentido... el futuro nos dirá.