La pesadilla políglota del desarrollador: ¿hay demasiados lenguajes de programación?

Cada vez existen más lenguajes de programación informáticos, lo cual, tiene sus ventajas e inconvenientes

Los lenguajes humanos luchan por sobrevivir en un mundo cada vez más diverso, donde algunas lenguas mueren, mientras otras, las utilizadas para la programación, están más vivas que nunca. Constantemente nacen nuevos lenguajes y parece que cada gigante tecnológico quiere tener el suyo propio. Go, el lenguaje de programación de Google, apareció en 2009; Facebook presentó el suyo en marzo de este año bajo el nombre de Hack; y Apple dio a conocer Swift en junio.

Si la tendencia se mantiene, los desarrolladores tendrán que determinar si realmente les perjudica o beneficia, aunque de momento, hay opiniones para todos los gustos. Ángel Castillo, desarrollador e ingeniero de 3Androides, explica que todos los lenguajes de programación tienen elementos en común y una misma estructura básica. A pesar de ello, cada código tiene sus especificidades, herramientas y reglas, que hacen “muy tedioso estar programando para varios lenguajes y para diferentes sistemas operativos”.

Para Miguel Ángel López, desarrollador web y Android, esto no es un inconveniente. Considera que al dominar un lenguaje de programación, pasar a otro es algo relativamente sencillo. Esto es así no solo porque hay piezas en común, sino también porque algunos derivan de otros. ¿Un ejemplo? Java y C# provienen ambos de C++ que a su vez sale de C.

“Esto permite que cualquiera que conozca uno de ellos pueda entender en gran medida el resto con un solo vistazo, aunque algunos aspectos tenga que deducirlos o no pueda escribirlo correctamente”. Vamos, algo así como lo que le ocurriría a un español al leer en portugués o italiano.

Pesadilla políglota
Foto de Jeffrey Zeldman en Flickr

Un lenguaje para cada empresa

En principio, para una empresa no sería necesario tener un lenguaje de programación propio, pues es costumbre entre los desarrolladores aprender varios (cuántos más, mejor). No obstante, llega un momento en que las compañías son “tan grandes, importantes o prestigiosas” que, según Castillo, tienen capacidad para forzar a la gente a utilizar su propio código.

Un buen ejemplo es Apple. Utilizan sus propios lenguajes de programación con sus propias herramientas para sus propios sistemas operativos “que, además, son bastante cerrados”. Eso tiene ventajas para la empresa. Entre otras cosas les permite tener siempre el control y asegurar un rendimiento óptimo del software que ejecutan sus dispositivos.

(Foto de hackNY.org en Flickr - https://www.flickr.com/photos/hackny/8673939393 )
Foto de hackNY.org en Flickr

A contracorriente

Ángel Castillo confiesa que en 3Androides luchan por no tener que usar lenguajes que no sean Java y Objective-C (los más habituales para Android y iOS, respectivamente). Tendrían que invertir demasiado tiempo y el desarrollador cree que con los lenguajes de programación pasa y pasará como con los idiomas: hay centenares, pero siempre destacarán dos o tres muy mayoritarios que todo el mundo entiende.

Miguel Ángel lo ve de otra forma. Está especializado en Java, C, C++, PHP, Javascript y Dart. Este último lo aprendió en menos de una semana gracias a su parecido con Java y PHP, y cree que podría hacer aplicaciones en lenguajes como C# sin apenas esfuerzo, aunque sin sacar tanto potencial como alguien que llevase años trabajando con él.

Cree que controlar muchos lenguajes de programación hace que tu productividad aumente, así que lo ve desde un punto de vista positivo. ¿Es difícil convivir con tantos lenguajes? Para él, al menos, no. Lo considera necesario y afirma que a la larga ahorra tiempo y esfuerzo. “Para mi es una inversión”, confiesa.

(Foto de hackNY.org en Flickr - https://www.flickr.com/photos/hackny/8675034268 )
Foto de hackNY.org en Flickr

Ángel Castillo ve otro problema: los desarrolladores freelance, que tienen pocos recursos para aprender nuevos lenguajes y que, sin embargo, tienen que adaptarse a las exigencias de los diferentes clientes para los que trabajan. Por otro lado, “un programador profesional siempre necesita reciclarse, pero hay veces que es imposible abarcarlo todo porque los avances son muy rápidos”.

¿Preocuparse? Es innecesario para López aunque una empresa desarrolle nuevos lenguajes “no va a obligar a usarlos”, sino que serán una alternativa –más cómoda y eficiente– que se utilizará sobre todo para atraer a programadores a las diferentes plataformas. Es decir, aunque para desarrollar en iPhone se pueda utilizar Swift también puede usarse xCode. Múltiples opciones. Nada está cerrado.

En busca de un solo lenguaje de programación

Sea como sea, hay a quien tanto lenguaje de programación le causa dolor de cabeza, por eso la NSA ya está trabajando –junto con la Universidad Carnegie Mellon– para adoptar uno políglota, el Wyvern. La idea es que los programadores de aplicaciones no tengan que depender de tantos lenguajes ni aprender a utilizar numerosas herramientas. Está especialmente pensado para aplicaciones web que, según los investigadores, hoy en día se escriben como una mezcla mal organizada de diferentes lenguajes y formatos. Que un proyecto como este se haga realidad puede ser el sueño de muchos programadores (o no, porque es obra de la NSA y eso, por razones obvias, levanta suspicacias).

Imagen de cabecera : (Foto Sebastiaan ter Burg en Flickr

RELACIONADOS