Si querías ser programador en los 60 y 70, tenías que saber FORTRAN. En los 80 Pascal y C fueron los lenguajes favoritos junto a un par de sorpresas hoy casi olvidadas como Lisp o Ada, pero... ¿qué pasó después?
Es lo que nos muestra una nueva animación compilada por los responsables de Data Is Beautiful que permite ver esa evolución de los lenguajes de programación más populares desde los años 60 hasta el momento actual. Una forma curiosa de explorar la historia de la programación y los programadores.
Una evolución sorprendente
¿Qué lenguaje de programación era el más popular en cada época? Eso es lo que nos descubre este gráfico animado que muestra como la popularidad de los lenguajes de programación ha ido evolucionando a lo largo de la historia reciente.
Los datos recopilados para el estudio pueden no reflejar del todo la realidad mundial, porque para realizar esta animación los responsables de Data Is Beautiful han recopilado datos de encuestas en Estados unidos, aunque es cierto que en el ámbito de los lenguajes de programación las cuotas de mercado y de popularidad suelen estar bastante parejas en todo el mundo.
También se han recopilado datos de acceso a los repositorios de GitHub y se han tenido en cuenta tanto a los profesionales que trabajan con ciertos lenguajes como aquellos que están aprendiendo a programar en esos lenguajes de forma inicial o en una etapa avanzada.
El resultado final es realmente llamativo y nos muestra una buena perspectiva de cómo han ido evolucionando los lenguajes de programación desde 1965 hasta nuestros días. Allí podemos ver cómo a Fortran, Pascal o C -con presencia no demasiado relevante de BASIC, curioso- les fueron reemplazando lenguajes cada vez más modernos como C++.
Ser el más popular no es lo mismo que el que más dinero da
De hecho en los primeros años 90 hubo un resurgimiento de Fortran y Pascal, que volvían a ser sorprendentemente populares aun cuando C++ y sobre todo C dominaban el panorama. A mediados de esa década JavaScript y Java crecieron de forma rápida junto a lenguajes jóvenes como Perl, PHP -que rivalizaba con JavaScript en popularidad- o Visual Basic.

En los años 2000 C comenzó a perder protagonismo para dejar sitio a alternativas ya citadas o a otras también nuevas como C#, Python u Objective C. Este último creció con el auge de iOS, y en esta última década se ha consolidado la popularidad absoluta de Java, JavaScript y Python (este último creciendo gracias al ámbito de la IA), mientras que el resto de alternativas han ido luchando por mantener su relevancia.
Esa popularidad, ojo, solo es una métrica más desde la que contemplar el segmento de los lenguajes de programación. Los más populares no son necesariamente los que más gustan o los que más dinero dan a los programadores.
De hecho está comprobado que los viejos rockeros de la programación nunca mueren, y que lenguajes como FORTRAN o COBOL siguen siendo muy valorados porque grandes empresas siguen teniendo sistemas casi irremplazables basados en dichos lenguajes. Y a ellos se le suman lenguajes más de nicho como Scala, R, Clojure o Rust que generan muchísimo interés entre la comunidad de desarrolladores.
Imagen | Unsplash
Ver 9 comentarios
9 comentarios
hasso78
Yo a mi 41 añazos estoy empezando a estudiar C# (por cuenta propia) a ver qué pasa..
victorgonzalezfernandez
Javascript es hoy día un lenguaje de programación de pleno derecho que corre en el motor de la máquina virtual V8 de Chrome, y es compilado en diferentes optimizaciones según cómo el motor detecte la ejecución del código. Ciertamente no tan rápido cómo las últimas versiones de JAVA o C# (aproximadamente a modo somero 7 veces más lento que estos)
Typescript está genial como tipado de Javascript, pero tiene serias carencias al no ser el mismo lenguaje, sirva de ejemplo como se compila a Javascript las mismas simples enumeraciones, un desastre, pues luego en consola de Chrome estas no existen. No es un problema de Typescript realmente, es un problema que son cosas distintas.
Sobre los marcos Javascript en general son lentos, pesados y enredan mucho, hablo de Angular tan de moda, al que a largo plazo le vaticino fracaso (sí, me estoy arriesgando)
Node, Javascript en el servidor no me gusta al ser monohilo, sí, es fácil con docker hacer muchas instalaciones pero el problema subyacente sigue estando, hilos separados que se comunican de una manera antinatural.
En la web problemente, en cuanto tenga integración con el DOM, el futuro va por webassenbly y a este compilará muchos lenguajes. Ya es un estándar, el estándar.
. NET Core 3 está increíble, es rápido y se puede programar en el mismo de todo, desde videojuegos (próximas versiones de Unity lo usarán) hasta webassenbly. Es un lenguaje que no recibe un 10 en nada pero sí que un 9 en casi todo, por tanto una de las mejores elecciones.
Python es un excelente lenguaje para novatos e IA pero su rendimiento es pésimo, realmente es útil como pegamento para las excelentes librerías de C++ que existen. Al ser compatible. De todas formas en muchas aplicaciones el rendimiento importa poco, pero a mí en lo personal me fastidia.
JAVA simplemente el estándar en servidores, pero feo y berborreico.
Me encanta Kotlin compatible para la máquina virtual Java y sobre todo Android creo que uno de los lenguajes más bellos y potentes y fáciles que existen.
C++ el estándar de los lenguajes de sistemas, pero se pierde con su vejez y léxicos obsoletos que lo hacen duro de aprender y excepto si usas librerías tiene problemas con la gestión de memoria. Hay muchos amantes de C++, pero para gustos los colores, particularmente no es de mis preferidos.
Rust. Excelente lenguaje pero muy nuevo. Tiene las ventajas de C++ sin sus inconvenientes. Pese a todo lo veo duro de aprender y aún sus IDE están un poco inmaduros. Su velocidad de ejecución así como la de C++ enamora. Quieren vender la moto que ya es usable en producción, lo he probado pero aún lo veo en este aspecto por detrás de otros que tienen más ayudas, mejores IDEs etc. Su sintaxis es buena pero aún enreda y está lejos de la belleza de Kotlin.
El lenguaje Go tras probarlo ha sido para mí una decepción, muy concurrente, muy escalar en múltiples máquinas, pero no tiene genéricos ni cosas elementales para un programador profesional, ellos priman la simpleza para priorizar la productividad, pero las carencias me matan. Es cierto que están evolucionando.
En resumen todos se copian a todos. Lo que un lenguaje presume y crítica que el otro no tiene enseguida los otros lo copian.
Al final van a terminar casi siendo todos iguales, Python tenderá a ser cada vez más rápido y compilado, Javascript más profesional (hoy día maneja arrays de datos tipados, los uso mucho)
C++ cada vez tiene más cosas de lenguajes fáciles, etc etc
En resumen una explosión ficticia de variedad que hace que tengamos 200 lenguajes cuando podríamos vivir realmente con 3
Hoy día se podría hacer perfectamente un lenguajes de programación con la recolección de memoria basura automática y manual (en C++ ya realmente es así) pero sin tanta berborrea, por ejemplo maravilla la supresión del punto y coma absolutamente arcaico que tienen muchos y no Kotlin o Python.
Pero al final lo que manda es dos cosas, el objetivo final de compilación, pues usar un lenguaje no diseñado para una plataforma al final es un enredo. Y lo que usan los clientes, el que paga manda.
Y ya sin mencionar el estado lamentable del mundo de la consultoria que todos conocemos.
Perdonad un poco la gramática pues lo escribo desde móvil y en 5 minutos.
Soy consciente de que son opiniones en parte subjetivas, puesto que si por ejemplo eres un experto en PHP y te sirve para el producto pues es válido, aunque teóricamente es un lenguaje horrible.
Pero todos están evolucionando y se copian al final todos serán casi enticos en el fondo.
Cordiales saludos
walterizu
che y html5 no existe...
mataron a java y ahora?