La competencia, evolución y posicionamiento que están tomando las diferentes tecnologías de programación, sobre todo desde la aparición de algunas como Ruby, Groovy, etc., esta tomando límites cuanto menos curiosos y de casi obligado seguimiento.
Por un lado, asistimos a una corriente, cada vez más creciente, que anuncia el final de los gloriosos días de Java. Infoworld publicaba hace unas semanas, en uno de los típicos resúmenes de fin de año, como Java podría estar convirtiéndose… en el nuevo Cobol. A lo que podemos añadir la complicada situación que atraviesa Java ME, la apuesta de Google por crear Android (en la que las aplicaciones se desarrollan en Java pero son ejecutadas en una nueva máquina virtual llamada Dalvik), y ya desde antes por su compleja introducción en el desarrollo de aplicaciones para dispositivos móviles, por la poca estandarización (cada gran desarrollador ha ido creando soluciones propietarias) y poco respaldo por parte de Sun. Recuerdo que hace unos meses participábamos en definir la estrategia de una empresa bastante grande respecto a la migración de parte de la funcionalidad en el servidor a clientes móviles, y los principales inconvenientes que pesaban sobre Java ME venían de su difícil integración con el hardware (impresoras en dispositivos móviles, lectores de códigos, etc.) y la poca estandarización en el dispositivo cliente. Si bien, y sobre todo, una de sus grandes amenazas está siendo .NET Compact Framework.
Claro que la llamada guerra de los lenguajes también se libra en la arena de los paradigmas. ¿El fin de la Orientación a Objetos? ¿Son los lenguajes dinámicos el futuro? Comentaba Brooks en su charla en la OOPSLA 2007, uno de los congresos con mayor peso y que más claramente marca las “tendencias” que en ingeniería del software se seguirán en los próximos meses, como “si alguna tecnología merece realmente el honor de ser una -silver bullet- esta es la Orientación a Objetos” (como en ingeniería del software todo es cíclico esto recuerda a las ya antiguas críticas – guerras con los lenguajes estructurados).
Pero no ha de cundir el pánico entre los fieles a la OO. El rápido análisis que realizó Erdogmus en su última columna en la IEEE Software sobre las más de 200 presentaciones realizadas en dicha OOPSLA mostraba la siguiente división en porcentajes de tiempo dedicado en ponencias según paradigmas de programación:
- “Objects and object-based approaches: 67%
- Functional languages and programming: 15%
- Dynamic languages: 10%
- Domain-specific languages: 6%
- Aspect orientation: 2%”
La guerra puede que esté comenzando… o quizás esté comenzando su fin, la respuesta puede estar en los lenguajes multiparadigma. El tiempo dirá, y, no obstante, ¿cuántas líneas de código Cobol aún se siguen manteniendo en la actualidad?
- Debes crear apps sin saber programar (no hay que saber nada) + Crea Test con IA + Scrum es el nuevo Excel - 12 septiembre, 2024
- Las 6 técnicas prompting + 1ª Ley del Manager Oscuro + Mantenlo sencillo, estúpido - 5 septiembre, 2024
- Guía de Métricas Ágiles (versión agosto 2024) - 22 agosto, 2024
un artículo bastante interesante al respecto de las nuevas tecnologías de desarrollo, no obstante me parece que durante muchos años más la orientación a objetos seguirá siendo el pilar de las nuevas tecnologías de programación.