Casi cada día nace un nuevo lenguaje de programación. O alguno pasa de ser un completo desconocido a la “next big thing”, es decir, a ser la nueva gran nueva estrella del firmamento de los lenguajes de programación que va a dejar en evidencia a todos los anteriores (Julia es la última gran promesa). Claro, hasta que llega otro y le quita el puesto.

Esta gran variedad de lenguajes tiene sus beneficios (cada uno puede encontrar el lenguaje que, por estilo, le vaya más bien) pero también tiene sus costes, por ejemplo complica la vida a nuevos estudiantes de informática que quieran escoger un buen lenguaje para aprender de cara a su futuro profesional. O a las empresas que quieran escoger un lenguaje que les garantice encontrar después programadores que lo conozcan bien a salarios asequibles.

Es por eso que los rankings de popularidad de lenguajes de programación son útiles. Que quede claro que estos rankings no miden qué lenguaje de programación es mejor si no sólo cuál es más popular (en función de los repositorios de GitHub, las búsquedas en Google o las discusiones en StackOverflow, dependiendo del ranking). Y de hecho, como veréis a continuación, cada ranking da un resultado diferente. En parte por la metodología que cada ranking utiliza, y en parte porque no está del todo claro que los cálculos de popularidad de lenguajes de programación sean tan correctos como parece.

Para intentar dar una visión más “global”, lo que haremos será presentar de forma conjunta todos los rankings conocidos. Vamos a ver qué sale.

El índice TIOBE de lenguajes de programación

El índice TIOBE calcula la popularidad de los lenguajes en función del número de páginas web que hablan de él. Muy resumidamente, TIOBE mira cuantos resultados devuelve cada buscador (Google, Bing, Baidu,…) cuando utilizas el nombre del lenguaje de programación como keyword (ver más detalles de la fórmula de cálculo que aplica TIOBE ). Se actualiza mensualmente.

Los resultados actuales muestran como Python llega al top 3 por primera vez en la historia. Y, aunque no sale en la figura, me encanta que el número 11 sea Delphi/Object Pascal, lenguaje con el qué empecé a programar profesionalmente y del qué sigo pensando que es un gran lenguaje (¡los buenos lenguajes nunca mueren!).

Índice TIOBE de lenguajes de programación populares

Índice TIOBE de lenguajes de programación populares

PYPL PopularitY of Programming Language

El segundo índice más conocido después de TIOBE. PYPL relaciona popularidad con el número de búsquedas de tutoriales de ese lenguaje. Utiliza Google Trends para conseguir los datos de las búsquedas.

Los fans de Python estarán más contentos todavía con este índice. No sólo está en el top 3 sinó que de hecho Python es el lenguaje de programación más popular, según PYPL. Ah, y no os preocupéis, Delphi también aparece, esta vez en el puesto 22. Por lo demás, hay diferencias entre los dos aunque tampoco abismales (fijaros que por ejemplo PYPL junta C y C++ cuando TIOBE los mide por separado).

Lenguajes de programación más populares según PYPL

Lenguajes de programación más populares según PYPL

 

 

Los lenguajes de programación más usados en el software libre

GitHub publica anualmente su informe Octoverse donde documenta el crecimiento imparable del software libre. Una de las métricas que mide es la popularidad de los lenguajes en función del número de repositorios de código libre que están implementados con ese lenguaje/s.

Y aquí, creo que nadie se va a sorprender, JavaScript gana por goleada, aunque también aquí Python sigue subiendo y TypeScript crece a pasos de gigante (aunque de momento no entre en el top 10). Como también es obvio, lenguajes más antiguos (como mi querido Delphi) aquí no aparecen con lo que, aún más que los otros, este ranking hay que leerlo con mucho cuidado.

Lenguajes de programación populares en GitHub

Lenguajes de programación más populares en el mundo del software libre

RedMonk rankings

La empresa RedMonk crea un ranking mezclando dos tipos de datos: GitHub y StackOverflow. La idea es buscar los lenguajes que combinan más actividad en GitHub y más discusión en StackOverflow para así tener una mejor perspectiva de la evolución futura de los lenguajes en lugar de ceñirse a un análisis más unidimensional como en los análisis de lenguajes anteriores.

Correlación entre los lenguajes más populares en GitHub y StackOverflow

Lenguajes de programación más populares según redmonk

Los lenguajes más usados y los que más se está previsto adoptar en próximos proyectos según JetBrains

JetBrains (el conocido fabricante de entornos de programación para todo tipo de lenguajes y creadores de Kotlin) hace una encuesta cada año entre sus clientes. A diferencia de los demás rankings, JetBrains no pregunta sólo por los lenguajes que cada programador usa sinó también por los lenguajes que cada programador planea usar en el futuro.

Aquí tenéis los datos de la última encuesta.

Lenguajes de programación más populares (presentes y futuros) según JetBrains

Interpretando los rankings de lenguajes de programación

Como habéis visto, “cada maestrillo tiene su librillo” a la hora de comparar lenguajes. Lo importante es entender bien qué mide cada ranking y utilizar la información como un factor más para escoger tu próximo lenguaje de programación. Otros factores pueden ser el sueldo medio que puedes esperar o el tipo de sector o comunidad para la que te gustaría trabajar. Es evidente que si quieres trabajar en el sector bancario, lenguajes “antiguos” como COBOL siguen siendo mucho más útiles que JavaScript, aunque eso no se vea en el ranking de GitHub.

Tampoco te preocupes demasiado por la posición exacta del lenguaje. Es más importante la tendencia de adopción del lenguaje. E incluso la tendencia hay que mirarla con lupa. Depende del ranking, los lenguajes nuevos pueden verse beneficiados (ej. por su gran crecimiento en el número de búsquedas respecto al año anterior, cuando a lo mejor ni existían) o perjudicados (si se mira el nombre de repositorios, cualquier lenguaje nuevo parte en desventaja).

Además, a lo mejor a ti te parece más importante un factor que otro a la hora de calcular la popularidad. Si éste es tu caso, estás de suerte. IEEE Spectrum te ofrece una herramienta interactiva donde puedes definir tu propio ranking customizado indicando qué factores quieres que tenga en cuenta para el cálculo del ranking.

Define tu propio cálculo de popularidad de lenguajes de programación

Herramenta interactiva de IEEE Spectrum para encontrar los lenguajes más populares

Otro tema que sería muy interesante estudiar es el porqué la gente deja un lenguaje y se pasa a otro. Un análisis superficial (basado en el análisis de los resultados de Google al buscar posts donde empresas expliquen el porqué de su cambio), lo podéis leer aquí.