A fondo: ¿Cuáles son las tendencias en lenguajes de programación? (I)
Java, Python y JavaScript son los lenguajes de programación más utilizados, aunque PHP sigue teniendo un importante mercado en nichos muy concretos. Otros, como Dart, Rust, Julia o TypeSriptform, vienen empujando por detrás.
La transformación digital que está afrontando la sociedad y todos los sectores de actividad económica ha disparado la demanda de profesionales TIC que han de llevar a cabo dicha evolución.
Según el Mapa del Empleo desarrollado por la Fundación Telefónica, con la colaboración de Infojobs y Tecnoempleo.com, algunos de los profesionales más demandados son desarrolladores de software, desarrolladores web y multimedia, desarrolladores full stack o desarrolladores frontend, por lo que el conocimiento de lenguajes de programación abre las puertas del mercado laboral de par en par.
“Estamos en un momento en el que el mercado laboral demanda, cada vez más, posiciones relacionadas con la tecnología. Dentro del mundo lT podemos encontrar todo tipo de perfiles, desde un programador hasta un CTO, pasando por profesionales en cloud, data, etc. En la base de esta pirámide tecnológica se encuentran los programadores y desarrolladores, perfiles muy atractivos para compañías, no sólo tecnológicas, sino de todos los sectores”, explica Sara Álvarez, manager de Spring Professional, consultora de selección del grupo Adecco.
¿Pero cuáles son los lenguajes de programación más empleados y, por ende, los profesionales más demandados? “El top 3’ de lenguajes está compuesto por Java, JavaScript y Python. Los tres son lenguajes muy establecidos en la industria y con bastantes años de rodaje. Si tu objetivo es desarrollar páginas web, aprende JavaScript. Si lo que más te atrae es el mundo de la inteligencia artificial (IA) y big data, Python es una apuesta segura. En caso de no estar cerrado a nada y querer aprender un lenguaje todoterreno y muy asentado, Java es una gran opción”, explica Álvaro San Juan, coordinador académico del CFGS del área de Tecnología en la U-tad.
Java, apuesta segura
“Es la base a partir de la cual se desarrollan multitud de aplicaciones y sitios webs. Al ser un lenguaje rápido, seguro y fiable, continúa siendo el lenguaje de programación más demandado en compañías de todos los tamaños y sectores”, afirma Álvarez. Asimismo, San Juan especifica que “Java es un lenguaje todoterreno que tiene muchos usos, desde desarrollo de aplicaciones Android hasta programación de servidores web”.
Eva Lozano, responsable del equipo de Java de Paradigma Digital, señala que es un lenguaje “ampliamente utilizados en grandes entornos empresariales donde existen multitud de procesos de integración”. Precisa que “suele asociarse de forma mayoritaria a procesos de integración o servicios de backend”. Según explica, su pico de uso “llegó hace ya algún tiempo”, presentando un “crecimiento mucho más plano” en este momento.
Davide Cortellino, senior marketing data insights analyst de SAS España, detalla que “la utilización de Java en el campo de la ciencia de datos se debe a su flexibilidad, facilidad de uso e independencia con respecto a las plataformas”. Además, remarca que este lenguaje “permite la gestión de tareas en manera asíncrona y la gestión de datos en real-time”. Y precisa que las librerías Java más utilizadas para la ciencia de datos son D3.js, Tensorflow.js, Brain, js, machinelearn.js, math.js.
Python, valor al alza
Es uno de los lenguajes de programación en auge. “Aunque tenga casi 30 años, nunca ha sido tan popular como ahora”, asegura el experto de la U-tad. “Es un lenguaje muy versátil, que últimamente está al alza debido al auge del big data y la IA, ya que es el lenguaje más popular en estos campos”, señala. Igualmente, el portavoz de SAS España reseña que “es el lenguaje más utilizado en el mundo para la ciencia de datos, el machine learning, la IA y el deep learning”.
Alberto Vara, responsable del equipo de Python de Paradigma Digital, cree que su crecimiento en los últimos años está ligado a su uso para el desarrollo de software asociado a la IA, “donde la elasticidad del lenguaje y un amplio número de librerías y frameworks especializados le permiten sacar todo su potencial”. Por otra parte, destaca que “su ligereza lo hace muy conveniente para soluciones serverless, que también se están popularizando en los últimos años”.
Asimismo, Cortellino afirma que “su éxito está relacionado con su naturaleza como lenguaje orientado a objetos y su facilidad de uso y lectura, lo que le hace uno de los lenguajes preferidos de los desarrolladores”. Además, indica que “su ecosistema de librerías es muy amplio y permite gestionar diferentes tipos de tareas: desde librerías muy potentes y orientadas a gestionar todo el ciclo de vida de proyectos de ciencia de datos -Keras, Scikit-Learn, matplotlib, TensorFlow…-, hasta su capacidad de interfaz con algoritmos de alta performance escritos en Fortran o C”.
San Juan opina que su mayor virtud es su sencillez. “Es muy fácil de aprender y permite ir al grano, permitiendo crear programas concisos y centrados en resolver el problema. Es un lenguaje cómodo y atractivo para no programadores. Además, tiene una comunidad enorme detrás desarrollando miles de librerías (módulos), que le proporcionan multitud de herramientas adicionales. Algunas de estas librerías son las más extendidas en el mundo del machine learning, data mining y big data, que son sectores en auge y que naturalmente, tiran de Python hacia arriba”, desgrana.
En cuanto a sus aplicaciones prácticas, especifica que su flexibilidad permite que sea ampliamente utilizado en diferentes campos, “como el desarrollo de plataformas web, computación científica, minería de datos, entre otros”. “Todas las grandes compañías tecnológicas, hasta los grandes bancos, los gigantes del retail y de otros sectores, incluyen Python en los requisitos de las ofertas de trabajo publicadas en LinkedIn u otras plataformas de reclutamiento. Con el incremento de las tareas automatizadas por la ciencia de datos y el machine learning, las ofertas de trabajo se multiplicarán para los ‘pythonistas’”, añade.
Por su parte, la responsable de Spring Professional precisa que “se utiliza para desarrollar aplicaciones web escalables, como YouTube, Pinterest, Instagram, entre otros”, añade. Y Daniel Pérez, director de IT de Michael Page, apunta que las empresas que demandan programadores Python son multinacionales y grandes plataformas, “que trabajan con un volumen de datos muy grande”, como Facebook o Netflix, por ejemplo.
Por otro lado, Álvarez recuerda que “esta tecnología también se utiliza para hacer los scripting en sistemas de Linux/Unix”. Además, indica no es usada sólo por programadores, “sino que perfiles como DevOps o data scientist también han de tener conocimientos de este lenguaje”.
JavaScript, el lenguaje más utilizado
Luis Calvo, responsable del equipo de frontend de Paradigma Digital, afirma que “el lenguaje por excelencia para el desarrollo de la capa visual web, que dio el salto a los servicios de backend unos 10 años atrás”. De este modo, considera que “es el lenguaje de programación más ubicuo”. “Según GitHub, la plataforma global de código abierto, JavaScript es el lenguaje más utilizado, en general”, añade Cortellino
En este sentido, la portavoz de Spring Professional precisa que “JavaScript ha experimentado una evolución y ha pasado de ser un lenguaje de scripting a ser utilizado para el desarrollo fullstack, de la mano de Node.js en backend; y de Angular, React y Vue en frontend”.
Calvo indica que “se popularizó rápidamente debido a su ligereza, su estilo de programación asíncrona y la rapidez con la que permite realizar desarrollos casi desde el primer momento, gracias a los innumerables frameworks que ayudan al desarrollo”. Además, puntualiza que “su ligereza lo hace también muy conveniente para soluciones serverless”.
PHP resiste en sus nichos
“Continúa siendo uno de los lenguajes más utilizados en el desarrollo web. Es un lenguaje fácil de usar y de configurar, por lo que multitud de sitios web, como Facebook, lo utilizan en programación backend”, especifica Álvarez.
Pablo Caselas, head of Technology, Product & Marketing de TramitApp anota que “PHP está un poco en desuso últimamente, aunque tiene unos nichos de mercado muy concretos, donde sigue siendo el rey, como en WordPress y plataformas de ecommerce como Magento”. En cualquier caso, reconoce que “tiene una base muy sólida de usuarios y no va a desaparecer, ya que tiene su mercado”.
El experto de Michael Page asegura que es un lenguaje muy utilizado en ecommerces, agencias, startups, etc. “Es un lenguaje fácil, que puede servir a una startup para comenzar con su desarrollo. Y luego puede migrar a otras tecnologías si hace falta”, comenta.
Lenguajes pujantes
Además de estos lenguajes de programación, que son claramente los más empleados, hay otros que están creciendo últimamente y que podrían tener un peso mayor en los próximos años.
Dart. Alberto Grande, responsable del equipo de Digital Enablers de Paradigma Digital, recuerda que Dart fue creado por Google en 2011, “como un sustituto de JavaScript”. Sin embargo, no había sido muy adoptado hasta ahora, situación que ha cambiado con su incorporación como lenguaje de desarrollo de Flutter.
En este sentido, el responsable de TramitApp considera que “podría ganar protagonismo, debido al framework para desarrollo en móviles de Google, Flutter, que permite desarrollar aplicaciones nativas para iOS y Android con una única base de código”. “Es obvio que la maquinaria de Google es capaz de influir, directa o indirectamente, en el mundo del desarrollo”, anota Grande.
TypeScript. Caselas señala que “TypeScript podría ser otro de los ‘tapados’”. “He visto muchos proyectos JavaScript pasarse a este lenguaje por ser una ‘versión tipada’ de JavaScript y que compila fácilmente a este último. Aunque ya hay frameworks como Deno, del creador de Node.js, que lo soportan nativamente, suele ser utilizada para finalmente compilar a JavaScript”, apunta.
Rust. “Está teniendo un aumento muy significativo, debido al rendimiento que proporciona, a coste de tratarse de un lenguaje mucho más a bajo nivel, con sus pros y sus contras”, reseña Grande.
Julia. “Es un lenguaje de alto nivel preparado para gestionar las necesidades de análisis numéricas de alta performance. Gracias a la computación científica está ganando popularidad entre los científicos de datos. Entre sus fortalezas está la capacidad de gestionar grandes volúmenes de datos con mucha rapidez y, en algunos casos en comparaciones básicas, ha demostrado ser 30 veces más rápido que Python”, aclara Cortellino.
Por otro lado, San Juan anota que “hay lenguajes como Swift o Kotlin que, al ser los lenguajes oficiales para desarrollar aplicaciones para iOS y Android, respectivamente, están llamados a crecer”. De hecho, recalca que “ambos se encuentran ya en el ‘top 10’ de lenguajes de programación, pese a haber nacido a mediados de la década pasada”. Y otro ejemplo es R, “un lenguaje de programación para ‘no programadores’, que en su origen se concibió para problemas estadísticos y que hoy en día tiene una fuerte presencia en el mundo de la minería de datos”.
En cualquier caso, San Juan advierte que “se lleva años hablando de lenguajes como Go, Rust, Ruby o Dart, pero parece que no terminan de despegar hasta el punto de ser una alternativa robusta”, ya que en los proyectos grandes suele optarse por lenguajes más probados y extendidos.
Lenguajes en declive
En el sentido opuesto, hay algunos lenguajes de programación que van cayendo en desuso, aunque el experto de la U-tad remarca que nunca desaparecen totalmente. “Hay que seguir manteniendo y desarrollando todas las aplicaciones existentes en esos lenguajes, ya que, en ocasiones, la migración a un lenguaje más moderno resulta muy costosa. Muchos lenguajes de programación se encuentran en este estado, siendo el ejemplo más conocido COBOL”, detalla. Sobre la situación de este lenguaje en particular nos extenderemos en la siguiente entrega de este reportaje.
Rodrigo Méndez, CEO de Tecnoempleo.com, comenta que “lenguajes muy populares en su momento, como C o C++, ven bajar su demanda porque muchas de las aplicaciones que se desarrollaban usándolos han sido sustituidos por aplicaciones web”.
Cortellino también apunta que “R es el lenguaje que más está perdiendo en cuanto a número de usuarios en el sector de la ciencia de datos, por lo menos en números absolutos”. Puntualiza que este lenguaje “se desarrolló como una herramienta para estadísticos y proporciona muy buenas visualizaciones de datos y facilita el desarrollo de modelización de datos por la comunidad científica, pero sufre en la gestión de bases de datos voluminosas y acusa una menor integración con el restante ecosistema de software”.
Además, San Juan indica que algunos lenguajes de programación se van abandonando cuando las empresas que están detrás de ellos presentan una alternativa más moderna. “Es el caso de Apple con Objetive C, el lenguaje que reemplaza a Swift, o de Visual Basic de Microsoft, sustituido por C#”, precisa.
Por su parte, la responsable de Spring Professional señala que “hay ciertos lenguajes que no han apuntado todo lo que parecía, como es el caso de Go, desarrollado por Google, que hace un par de años se solicitaba en muchos puestos de trabajo pero que finalmente en España no ha tenido su hueco; o incluso un lenguaje como PHP, que ha tenido este año un leve declive, debido al sector al que pertenecen -media-”.
Además, reseña que ha ido decayendo el uso del lenguaje JavaScript nativo, también conocido como Vanilla. “La parte frontend está en pleno crecimiento, pero las prácticas de desarrollo en nativo se han ido modificado y los frameworks como Angular han ido ganando territorio y teniendo una mayor demanda”, especifica.
En la siguiente entrega de este reportaje repasaremos asuntos como la horquilla salarial de los programadores más demandados, la incidencia que está teniendo en los lenguajes de programación la tendencia hacia la nube nativa, el impacto del auge de las herramientas ‘No Code’ y ‘Low Code’ o la resistencia de un lenguaje como COBOL.