Categories: EmpresasSoftware

Más allá del índice TIOBE: lenguajes de programación alternativos

Desde la aparición en los años 50 del lenguaje de programación de alto nivel Fortran de la mano de otro histórico de la industria informática, IBM, el trabajo de los desarrolladores no ha hecho más que revitalizarse. Desde todas partes, en la cuna empresarial o al calor de grandes aficcionados, han aflorado cientos de lenguajes imperativos, funcionales, lógicos, orientados a objetos, dinámicos, compilados, interpretados, de procesamiento por lotes… creando tal entramado de familias en el mundillo de la programación que hoy en día nadie sería capaz de aprender a manejar todas las opciones existentes. Y aún así, no se ha dicho la última palabra. La evolución constante de la tecnología y el imperativo de cubrir nuevas necesidades hacen que cada año se sumen a la lista de lenguajes de programación más alternativas.

Por ejemplo, la llegada de las CPUs “multicore”, la era de la movilidad o la computación en la nube son tres factores que han originado nuevos retos para los desarrolladores. Sobre todo a la hora de programar procesamientos en paralelo, para los que los lenguajes actuales no están tan preparados y para los que el propio Gigante Azul comenzó a trabajar en X10 dentro del programa Sistemas de Computación de Alta Productividad (HPCS, por sus siglas en inglés) de la agencia DARPA. X10 es en realidad un subconjunto extendido de Java, bastante parecido a este último en muchos aspectos, pero que incluye soporte adicional para vectores y concurrencias a través del modelo de programación PGAS. Es altamente escalable desde un sólo hilo y soporta tanto la programación orientada como la no orientada a objetos. Otro punto a su favor es que está disponible para las principales plataformas (Windows, Mac y Linux) además de para IBM AIX, ya que lleva unos años intentando abrirse hueco.

Lo mismo quiere hacer Cray, conocido por sus diseños de potentes superordenadores, con Chapel que también ha nacido al amparo del programa HPCS y que bebe de múltiples fuentes: desde lenguajes tradicionales como el anteriormente nombrado Java, C o C++ hasta el mismísimo Fortran o MATLAB, pasando por ZPL y proyectos anteriores de Cray, a pesar de que su desarrollo está algo más verde. Entre sus máximas preocupaciones se encuentran la abstracción de algoritmos paralelos del hardware subyacente y su portabilidad. Y uno de sus mayores atractivos es la denominada programación multirresolución que permite a quienes trabajan con él crear prototipos de aplicaciones con código altamente abstracto e ir completando los detalles a medida que se define su funcionalidad. ¿Otra ventaja? Está disponible bajo una licencia de código abierto BSD.

El advenimiento de los lenguajes “open source”

Y es que una de las tendencias que parece marcar la aparición de nuevos lenguajes es la obsolescencia del software propietario. O al menos es un requisito bastante importante a la hora de postularse como lenguaje de futuro, incluido Microsoft F#. La comunidad no ve con buenos ojos a los candidatos que dependen de un proveedor demasiado controlador que esté autorizado para reescribir las reglas de juego en cualquier momento y no dé la suficiente seguridad como para confiar en que el código que se escribe hoy seguirá vigente mañana, bien sea por cambios en las herramientas utilizadas, en el propio lenguaje o en la licencia. La etiqueta de “open source”, en cambio, abraza las contribuciones externas que resultan especialmente útiles para dotar de contenido a la biblioteca estándar de un lenguaje, donde alumnos resabiados como el Java de Oracle aventaja al resto.

Es por eso que, para ganar reconocimiento, junto al truco de la apertura muchos lenguajes novatos apuestan por la familiaridad. La innovación está bien, pero puede ser un lastre si no se respeta la tradición y los logros de tantos años de investigación. Los desarrolladores no querrán volver a aprender todos los conceptos de gramática base desde cero para programar sus aplicaciones. Referentes como C, Limbo, Modula, Newsqueak, Oberon, Pascal y Python han ayudado a Google a sacar a la palestra a Go, una propuesta que fue anunciada en noviembre 2009 y cuya primera versión estable llego dieciséis meses después, en marzo de 2012. Por algo su finalidad es combinar la velocidad propia de los lenguajes dinámicos con la seguridad y el rendimiento de los lenguajes compilados en grandes volúmenes de binarios, mejorando la productividad del nuevo software y consiguiendo que las personas implicadas se diviertan. Eso sin perder de vista la posibilidad de extenderse por el entorno de servidores del gigante de Mountain View.

[Página 2]

Page: 1 2

Mónica Tilves

Recent Posts

eSIM swapping: qué es y cómo puede afectarte

La evolución tecnológica que representan las eSIM no las deja fuera del alcance de los…

16 mins ago

Infoblox Threat Intel descubre Muddling Meerkat, un agente DNS que controla el Gran Firewall de China

Muddleling Meerkat utiliza procedimientos sofisticados de DNS, probablemente propagados por actores estatales chinos, para eludir…

47 mins ago

Sistemas heredados versus la nube: ¿quién está ganando la batalla?

Existen grandes corporaciones aún rezagadas en la carrera digital. ¿Cómo se da la migración a…

1 día ago

Las organizaciones ignoran puntos ciegos gigantescos por su excesiva confianza en la IA

Pese a creer firmemente en los planes de IA, las empresas cuyas estrategias y ejecuciones…

1 día ago

Constellation Research nombra a Avaya entre las mejores soluciones para Contact Center y communicaciones unificadas

Avaya Experience Platform y Avaya Cloud Office son reconocidos por transformar la experiencia del cliente…

1 día ago