Python mantiene su dominio mientras la inteligencia artificial transforma radicalmente la programación
Desde 2013, IEEE Spectrum ha estado analizando los hombros de los programadores para crear su ranking anual interactivo de los lenguajes de programación más populares. Sin embargo, los cambios fundamentales en la forma en que las personas programan pueden no solo dificultar la medición de la popularidad, sino incluso hacer que el concepto mismo se vuelva irrelevante. Y entonces las cosas podrían volverse realmente extrañas.
Python sigue reinando, JavaScript cae
En el ranking por defecto «Spectrum», que está ponderado teniendo en cuenta los intereses de los miembros del IEEE, Python mantiene una vez más el primer lugar. El cambio más significativo en el top cinco es la caída de JavaScript del tercer puesto el año pasado al sexto este año. Como JavaScript se utiliza frecuentemente para crear páginas web, y el «vibe coding» (programación asistida por IA) a menudo se usa para crear sitios web, esta caída en la popularidad aparente puede deberse a los efectos de la IA.

En el ranking «Jobs», que examina exclusivamente las habilidades que buscan los empleadores, Python también ha ocupado el primer lugar, subiendo desde el segundo puesto el año pasado, aunque la experiencia en SQL sigue siendo una habilidad increíblemente valiosa para tener en el currículum.
El desafío metodológico de la era AI
Como no podemos literalmente mirar por encima del hombro de todos los que programan, incluidos niños hackeando servidores de Minecraft o investigadores académicos desarrollando nuevas arquitecturas, dependemos de indicadores para medir la popularidad. Fusionamos métricas de múltiples fuentes para crear nuestros rankings: tráfico de búsqueda en Google, preguntas hechas en Stack Exchange, menciones en trabajos de investigación, actividad en el repositorio de código abierto GitHub, y más.
Pero los programadores se están alejando de muchas de estas expresiones públicas de interés. En lugar de navegar por un libro o buscar en un sitio web como Stack Exchange para responder sus preguntas, ahora chatean con un LLM como Claude o ChatGPT en una conversación privada. Y con un asistente de IA como Cursor ayudando a escribir código, la necesidad de plantear preguntas en primer lugar se reduce significativamente.
Un dato revelador: en el conjunto total de lenguajes evaluados en 2025, el número de preguntas que vimos publicadas por semana en Stack Exchange fue solo el 22% de lo que fue en 2024.
La transformación fundamental de la programación
Con menos señal en las métricas públicamente disponibles, se vuelve más difícil rastrear la popularidad en una amplia gama de lenguajes. Este problema existencial para nuestros rankings puede abordarse buscando nuevas métricas, o tratando de encuestar directamente a los programadores en toda su variedad. Sin embargo, un problema aún más fundamental se avecina.
Ya sea un programador experimentado usando IA para manejar el trabajo pesado, o un novato haciendo «vibe coding» de una aplicación web completa, la asistencia de IA significa que los programadores pueden preocuparse cada vez menos por los detalles particulares de cualquier lenguaje. Primero los detalles de sintaxis, luego el control de flujo y las funciones, y así sucesivamente hasta los niveles superiores de cómo se estructura un programa: cada vez más se deja a la IA.
¿El fin de las guerras entre lenguajes?
Aunque los LLMs que escriben código todavía son muy work in progress, a medida que se hacen cargo de una parte cada vez mayor del trabajo, los programadores inevitablemente pasan de ser el tipo de personas dispuestas a librar guerras religiosas sobre si el código fuente debe indentarse escribiendo tabulaciones o espacios, a personas que se preocupan cada vez menos por qué lenguaje se utiliza.
Después de todo, toda la razón por la que existen diferentes lenguajes de programación es porque, dado un desafío particular, es más fácil expresar una solución en un lenguaje versus otro. No controlarías una lavadora usando el lenguaje de programación R, o viceversa harías un análisis estadístico en grandes conjuntos de datos usando C.
Pero técnicamente SÍ es posible hacer ambas cosas. Un humano podría arrancarse los cabellos haciéndolo, pero los LLMs tienen tanto pelo como conciencia. Mientras haya suficientes datos de entrenamiento, generarán código para cualquier prompt en cualquier lenguaje que quieras.
En términos prácticos, esto significa usar uno —cualquiera— de los lenguajes de programación de propósito general más populares de hoy. De la misma manera que la mayoría de desarrolladores actuales no prestan mucha atención a los conjuntos de instrucciones y otras idiosincrasias de hardware de las CPUs en las que se ejecuta su código, qué lenguaje se usa para programar con IA se convierte finalmente en un detalle menor.
Claro, siempre habrá algunas personas que se preocupen por esto, así como hoy hay nerds como yo dispuestos a debatir los méritos de escribir para CPUs de 8 bits Z80 versus 6502. Pero en general, la popularidad de diferentes lenguajes de computadora podría volverse un tema tan oscuro como la popularidad relativa de los anchos de vía férrea.
El futuro incierto de los nuevos lenguajes
Una consecuencia obvia a largo plazo es que será más difícil que emerjan nuevos lenguajes. Anteriormente, los nuevos lenguajes podían surgir de individuos o pequeños equipos evangelizando su enfoque a potenciales contribuidores y usuarios. Presentaciones, papers, demos, código de muestra y tutoriales sembraban nuevos ecosistemas de desarrolladores.
Un solo libro bien escrito, como Starting Forth de Leo Brodie o The C Programming Language de Brian Kernighan y Dennis Ritchie, podía hacer una enorme diferencia en la popularidad de un lenguaje.
Pero mientras que algunas muestras y un tutorial pueden ser suficiente material para impulsar la adopción entre programadores familiarizados con los detalles de la codificación manual, no es suficiente para las IA actuales. Los humanos construyen modelos mentales que pueden extrapolar a partir de cantidades relativamente pequeñas de datos. Los LLMs dependen de probabilidades estadísticas, por lo que cuantos más datos puedan procesar, mejores son. En consecuencia, los programadores han notado que las IA dan resultados notablemente peores al intentar codificar en lenguajes menos utilizados.
Hay esfuerzos de investigación para hacer que los LLMs sean codificadores más universales, pero eso realmente no ayuda a que los nuevos lenguajes despeguen. Fundamentalmente, los nuevos lenguajes crecen porque están rascando alguna picazón que tiene un programador. Esa picazón puede ser tan pequeña como estar molesto por tener que colocar punto y comas después de cada declaración, o tan grande como un argumento filosófico sobre el propósito de la computación.
Pero si una IA está calmando nuestras irritaciones con los lenguajes de hoy, ¿algún nuevo lenguaje alcanzará alguna vez el tipo de masa crítica necesaria para causar un impacto? ¿Permanecerá congelada en el tiempo la popularidad de los lenguajes actuales?
El futuro de los lenguajes de programación
Antes de especular más sobre el futuro, toquemos base nuevamente con donde estamos hoy. Los lenguajes de computadora modernos de alto nivel están realmente diseñados para hacer dos cosas: crear una capa de abstracción que facilite el procesamiento de datos de manera adecuada, y evitar que los programadores se disparen en el pie.
El primer objetivo ha existido desde los días de Fortran y Cobol, dirigidos a procesar datos científicos y comerciales respectivamente. El segundo objetivo surgió más tarde, impulsado en no pequeña parte por el paper de Edgar Dijkstra de 1968 «Go To Statement Considered Harmful» (La Declaración Go To Considerada Dañina). En este argumentaba por eliminar la capacidad de que un programador haga saltos a puntos arbitrarios en su código. Esta restricción era para prevenir el llamado código espagueti que hace difícil para un programador entender cómo una computadora ejecuta realmente un programa dado. En su lugar, Dijkstra demandaba que los programadores se doblegaran a las reglas estructurales impuestas por el lenguaje.
El argumento de Dijkstra finalmente ganó el día, y la mayoría de los lenguajes modernos efectivamente minimizan o eliminan completamente los Go Tos en favor de estructuras como funciones y otros bloques programáticos.
Estas estructuras no existen a nivel de CPU. Si observas los conjuntos de instrucciones para procesadores Arm, x86 o RISC-V, el flujo de un programa se controla por solo tres tipos de instrucciones de código máquina: saltos condicionales, saltos incondicionales, y saltos con rastro almacenado (para que puedas llamar una subrutina y regresar donde empezaste). En otras palabras, son Go Tos hasta el fondo. Similarmente, los tipos de datos estrictos diseñados para etiquetar y proteger datos del uso incorrecto se disuelven en bits anónimos fluyendo dentro y fuera de la memoria.
¿Hacia la programación sin código fuente?
¿Cuánta abstracción y estructura anti-errores necesitará realmente una IA de codificación suficientemente avanzada? Una pista viene de investigaciones recientes en diseño de hardware asistido por IA, como Dall-EM, una IA generativa desarrollada en la Universidad de Princeton utilizada para crear filtros de RF y electromagnéticos.
Diseñar estos filtros siempre ha sido algo así como un arte negro, involucrando la manipulación de campos electromagnéticos complejos mientras giran alrededor de pequeñas tiras de metal. Pero Dall-EM puede tomar las entradas y salidas deseadas y generar algo que parece un código QR. Los resultados son algo que ningún humano diseñaría jamás, pero funciona.
Similarmente, ¿podremos hacer que nuestras IA vayan directamente del prompt a un lenguaje intermedio que pueda ser alimentado al intérprete o compilador de nuestra elección? ¿Necesitamos lenguajes de alto nivel en absoluto en ese futuro?
Cierto, esto convertiría los programas en cajas negras inescrutables, pero aún podrían dividirse en unidades modulares comprobables para verificaciones de cordura y calidad. Y en lugar de tratar de leer o mantener código fuente, los programadores simplemente ajustarían sus prompts y generarían software de nuevo.
El rol del programador en un futuro sin código fuente
¿Cuál es el papel del programador en un futuro sin código fuente? El diseño de arquitectura y la selección de algoritmos seguirían siendo habilidades vitales. Por ejemplo, ¿debería un programa de búsqueda de rutas usar un enfoque clásico como el algoritmo A*, o debería intentar implementar un nuevo método? ¿Cómo debería interfazarse una pieza de software con un sistema más grande? ¿Cómo debería explotarse nuevo hardware?
En este escenario, los títulos en ciencias de la computación, con su énfasis en los fundamentos sobre los detalles de los lenguajes de programación, suben de valor sobre los bootcamps de codificación.
La mayor transformación desde los años 50
¿Habrá un Top Programming Language en 2026? Ahora mismo, la programación está pasando por la mayor transformación desde que los compiladores irrumpieron en escena a principios de la década de 1950. Incluso si las predicciones de que gran parte de la IA es una burbuja a punto de estallar se hacen realidad, lo cierto sobre las burbujas tecnológicas es que siempre hay algo de tecnología residual que sobrevive.
Es probable que usar LLMs para escribir y asistir con código sea algo que va a quedarse. Así que vamos a pasar los próximos 12 meses averiguando qué significa popularidad en esta nueva era, y qué métricas podrían ser útiles para medir.