Apuntes y noticias de Tecnologías de Información

Si pensaste que Fortran es el lenguaje de programación mas antiguo en uso, estás en lo correcto.

Fortran (abreviación de Formula Translation) está ampliamente reconocido como el lenguaje de programación mas antiguo que sigue siendo utilizado. Se creó en IBM en el año de 1957 por un equipo liderado por John W. Backus.

Fortran no fue el primer lenguaje de programación. Ya existían otras formas de programar una computadora, usando conceptos de bajo nivel como lenguaje ensamblador. El mérito de Fortran fue ser un lenguaje de alto nivel ampliamente usado, disponible de manera comercial y que contaba con un compilador. Esto impacto significativamente la forma de trabajar de los ingenieros de software, alejándose de la programación en lenguaje máquina.

Fortran sigue siendo esencial en el área científica e ingeniería; especialmente donde se requiera computación numérica, como modelado de condiciones climáticas, física computacional y super-cómputo.

A continuación está una tabla con los lenguajes de programación mas relevantes, ordenados por la fecha de creación. No es fácil clasificar los lenguajes de programación de esta manera, pero está basada en su reconocimiento generalizado y haber sido relevantes durante mucho tiempo.

RankLenguajeAño de CreaciónÁreas o Importancia
1Fortran1957Ciencia, ingeniería, computación numérica, cómputo de alto desempeño (HPC).
2Lisp1958Inteligencia artificial, computación simbólica, investigación académica, programación funcional (influyente en lenguajes como Clojure).
3Algol1958Muy influyente para la programación estructurada; precursor de lenguajes como Pascal y C.
4COBOL1959Sistemas empresariales, finanzas, gobierno y administración (especialmente en mainframes). Billones de líneas de código aún en producción.
5BASIC1964Educación, programación de propósito general, primeras computadoras personales. Variantes como Visual Basic fueron muy populares.
6Pascal1970Educación en programación estructurada, sistemas embebidos, algunas aplicaciones comerciales (ej. Delphi para Windows).
7C1972Programación de sistemas (SO, compiladores, bases de datos), sistemas embebidos, aplicaciones de alto rendimiento. Muy influyente.
8Smalltalk1972Programación orientada a objetos, desarrollo de GUI, investigación, influyente en lenguajes como Objective-C, Java, Ruby.
9SQL1974Gestión de bases de datos, consulta y manipulación de datos. Estándar para bases de datos relacionales.
10Ada1980/1983Sistemas de alta integridad, aeroespacial, defensa, control de tráfico aéreo, sistemas ferroviarios. Diseñado para fiabilidad y seguridad.
11C++1979/1983Programación de sistemas, desarrollo de juegos, aplicaciones de alto rendimiento, sistemas embebidos. Extensión de C con POO.
12Objective-C1983Principalmente desarrollo para macOS y iOS de Apple (aunque Swift es más común para proyectos nuevos).
13MATLAB1984Computación numérica, análisis de datos, desarrollo de algoritmos, modelado, simulación en ingeniería y ciencia.
14Perl1987Procesamiento de texto, administración de sistemas, desarrollo web (especialmente sitios antiguos), bioinformática.
15Haskell1990Investigación en programación funcional, modelado financiero, nicho de sistemas de alta fiabilidad.
16Python1991Desarrollo web, ciencia de datos, IA/ML, scripting, automatización, propósito general. Extremadamente popular hoy.
17Visual Basic1991Desarrollo Rápido de Aplicaciones (RAD) para Windows, aún presente en sistemas empresariales heredados.
18Ruby1995Desarrollo web (Ruby on Rails), scripting, propósito general. Conocido por la “felicidad del desarrollador”.
19Java1995Aplicaciones empresariales, desarrollo de apps Android, big data, servidores web. Independiente de la plataforma.
20JavaScript1995Desarrollo web frontend (navegador), backend (Node.js), móvil (React Native). Esencial para páginas web dinámicas.
21PHP1995Desarrollo web (scripting del lado del servidor). Potencia gran parte de internet (ej. WordPress).
22C#2000Ecosistema Microsoft .NET, aplicaciones de escritorio Windows, desarrollo de juegos (Unity), aplicaciones web (ASP.NET), nube.
23D2001Programación de sistemas, aplicaciones de alto rendimiento. Busca combinar el rendimiento de C++ con características y seguridad modernas.
24Groovy2003Lenguaje de scripting JVM, aplicaciones empresariales, automatización de compilación (Gradle), pruebas. Se integra bien con Java.
25Scala2003Procesamiento de big data (Apache Spark), programación funcional en la JVM, sistemas empresariales.
26F#2005Lenguaje funcional-primero en el ecosistema .NET, ciencia de datos, desarrollo web (SAFE Stack), modelado financiero.
27Clojure2007Dialecto de Lisp para la JVM, programación funcional, sistemas concurrentes, manipulación de datos.
28Go2009Servicios en la nube, programación de redes, microservicios, herramientas de línea de comandos. Conocido por su concurrencia y rendimiento.
29Rust2010/2015Programación de sistemas (reemplazando C/C++), web assembly, dispositivos embebidos, desarrollo de juegos. Enfocado en seguridad de memoria y concurrencia.
30Dart2011Aplicaciones móviles multiplataforma (Flutter), aplicaciones web. Desarrollado por Google.
31Kotlin2011Desarrollo de aplicaciones Android (lenguaje oficial), aplicaciones JVM, desarrollo web. Interoperable con Java.
32Julia2012Computación científica, análisis numérico, ciencia de datos, aprendizaje automático. Diseñado para alto rendimiento.
33TypeScript2012Superset de JavaScript, que añade tipado estático. Ampliamente utilizado para aplicaciones web a gran escala.
34Elixir2012Sistemas distribuidos escalables y tolerantes a fallos, desarrollo web (framework Phoenix). Se ejecuta en la VM de Erlang.
35Swift2014Ecosistema Apple (iOS, macOS, watchOS, tvOS) para el desarrollo de aplicaciones, desarrollo del lado del servidor.
36Raku (anteriormente Perl 6)2015Un rediseño importante de Perl, multiparadigma, buscando expresividad y concurrencia.
37Zig2016Programación de sistemas, aplicaciones de bajo nivel, interoperabilidad C/C++. Enfocado en control explícito y rendimiento.
38Carbon2022Sucesor experimental de C++ de Google, buscando interoperabilidad con código C++ existente y ofreciendo características modernas. Todavía en desarrollo temprano.
39Mojo2023Inferencia y desarrollo de IA/ML de alto rendimiento. Compatible con Python, pero busca un rendimiento a nivel de C. Muy nuevo y ganando mucha atención en la comunidad de IA.