- El lenguaje ensamblador (Assembly) fue uno de los primeros lenguajes de programación en ser implementado y aún se utiliza hoy en día en aplicaciones especializadas.
- Autocode, desarrollado en 1952, se considera el primer lenguaje compilado y se utilizó con la computadora Manchester Mark 1.
- FLOW-MATIC, desarrollado en 1958, influyó considerablemente en el desarrollo de COBOL, un lenguaje de programación empresarial ampliamente utilizado.
- ALGOL 58, diseñado como un lenguaje de programación universal, allanó el camino para lenguajes más compactos como Pascal, Java y C.
Como en la mayoría de las áreas de la tecnología y la informática, la programación ha recorrido un largo camino desde su inicio. Un camino tan largo que la codificación moderna tiene poco parecido con sus orígenes. Observar a un programador de la actualidad intentando comunicarse con uno de la década de 1950 sería como ver a dos personas hablando idiomas diferentes. En la mayoría de los casos, eso es exactamente lo que estarían intentando hacer.
Puede sorprenderte saber que lo que se consideraría el primer lenguaje de programación se originó en 1947. Sí, lo leíste bien. Por supuesto, estos lenguajes muy antiguos se veían muy diferentes a C, C++, Python, Java y otros lenguajes modernos a los que estamos acostumbrados hoy en día. Esto se debe en gran parte al desarrollo del compilador, que hizo que la sintaxis de codificación fuera mucho más accesible. Indiscutiblemente, esto hace que los esfuerzos que precedieron a lo que ahora conocemos como lenguajes de programación sean aún más impresionantes. Sin más preámbulos, comencemos con nuestra lista de los 8 lenguajes de programación más antiguos jamás utilizados.
Lenguajes de Programación Más Antiguos
Lenguaje Ensamblador
- Año de desarrollo: 1947
- Desarrollado por: Kathleen Booth
- Usos: Programación en tiempo real, algoritmos criptográficos, control de alta seguridad
El lenguaje ensamblador es lenguaje de bajo nivel donde las instrucciones imitan de cerca el código de máquina que ejecuta una computadora. Están diseñados para comunicarse de manera directa con el hardware tanto como sea posible. Kathleen Booth desarrolló el primer ejemplo de dicho lenguaje en 1947. Este tipo de lenguaje de programación se llama así porque el código debe convertirse en código ejecutable mediante un tipo de programa llamado “assembler“.
El lenguaje ensamblador fue adoptado por primera vez a un nivel más amplio por la Electronic Delay Storage Automatic Calculator en 1949; sin embargo, esto se hizo en un formato mnemotécnico, es decir, basado en abreviaturas de palabras en inglés. De esta manera, las instrucciones dadas eran mucho más simples que las del lenguaje creado por Booth y legibles por humanos. Hoy en día, los lenguajes ensambladores todavía tienen algunos usos especializados, como en la programación en tiempo real, trabajar con procesadores más antiguos, situaciones de alta seguridad y algoritmos criptográficos.
Short Code
- Año de desarrollo: 1949
- Desarrollado por: J. Mauchly, W. F. Schmitt, A. B. Tonik y J. R. Logan
- Usos: Computadoras electrónicas tempranas
J. Mauchly propuso inicialmente Short Code en 1949 bajo el nombre “Brief Code”. Sin embargo, el lenguaje fue implementado por William Schmitt en el mismo año para la computadora UNIVAC I. Como tal, se puede considerar el primer lenguaje de programación desarrollado para su uso con computadoras electrónicas.
Su primera implementación no fue exactamente “corta” en cuanto al tiempo se refiere, ya que los programadores tenían que cambiar manualmente las expresiones matemáticas a código binario. Esto simplificó el proceso de programación, pero el tiempo total de ejecución fue mucho más largo que al usar código de máquina. Grace Hopper sería responsable de eliminar gran parte de este trabajo manual, ya que escribió el primer compilador un par de años después.
Autocode
- Año de desarrollo: 1952
- Desarrollado por: Alick Glennie
- Usos: Computadoras electrónicas tempranas
Muchos de los primeros lenguajes estaban agrupados bajo el término general “Autocode“, siendo el primero desarrollado por Alick Glennie en 1952. Aunque Hopper escribió un compilador para Short Code en el año anterior, Autocode se considera a menudo como el primer lenguaje compilado, ya que se podía traducir directamente a código de máquina.
Hoy en día, el término se usa principalmente para referirse a cualquier lenguaje derivado de los utilizados con la computadora Manchester Mark 1. Esta fue una computadora de programa almacenado desarrollada en la Universidad de Manchester en Inglaterra que fue operativa por primera vez en 1949. Glennie desarrolló su lenguaje Autocode para usarlo con esta computadora. Sin embargo, en la década de 1960, el término se utilizó para cualquier lenguaje de alto nivel que utilizara un compilador.
FLOW-MATIC
- Año de desarrollo: 1955–1959
- Desarrollado por: Grace Hopper
- Usos: Computadora electrónica UNIVAC, influyó en el desarrollo de COBOL
Motivada por la dificultad que enfrentó al educar a hombres de negocios sobre conceptos matemáticos, Hopper buscó desarrollar un lenguaje de programación que utilizara expresiones similares al inglés. FLOW-MATIC se hizo disponible al público por primera vez en 1958 y estaba destinado para su uso con el UNIVAC I. Esta fue una computadora orientada a aplicaciones comerciales y la primera de su tipo.
FLOW-MATIC influiría significativamente en el desarrollo de COBOL, un lenguaje diseñado para negocios que aún se utiliza hoy. Elementos de FLOW-MATIC que se incorporaron en COBOL incluyen expresiones similares al inglés, programación a nivel de datos, estructura de sentencias y la definición de archivos de entrada y salida.
IPL (Information Processing Language)
- Año de desarrollo: 1956
- Desarrollado por: Allen Newell, Cliff Shaw y Herbert Simon
- Usos: Procesamiento de listas, precursor de LISP
IPL, o “Information Processing Language” (Lenguaje de Procesamiento de Información), fue creado mediante los esfuerzos colaborativos de Allen Newell, Cliff Shaw y Herbert Simon. La idea principal detrás del lenguaje era ayudar a los programas a llevar a cabo tareas simples de resolución de problemas. Estas características incluyeron asignación dinámica de memoria, tipos de datos, funciones como argumentos, recursividad y listas. Además de ser el precursor del procesamiento de listas, IPL se utilizó en muchas aplicaciones tempranas de inteligencia artificial, como el General Problem Solver y Logic Theory Machine.
Aunque la primera versión de IPL, IPL-I, nunca se implementó, las versiones posteriores serían utilizadas por IBM. El lenguaje fue influyente en el desarrollo de LISP, que ofrecía beneficios como una sintaxis más intuitiva y la recolección automática de basura.
FORTRAN (Formula Translation)
- Año de desarrollo: 1957
- Desarrollado por: John Backus, IBM
- Usos: Computación científica, base para BASIC y ALGOL
“Formula Translation” (Traducción de Fórmulas), o FORTRAN, fue creado por John Backus (a través de IBM) para su uso en proyectos estadísticos y científicos complejos. Ha resistido la prueba del tiempo como el lenguaje de programación más universalmente utilizado y todavía encuentra aplicaciones hoy en día.
Aunque ya se habían desarrollado lenguajes compiladores anteriormente, FORTRAN se destacó al permitir que el código se escribiera con una sintaxis similar al inglés y por su eficiente proceso de compilación. Como tal, es un lenguaje altamente valorado y confiable que es popular en disciplinas computacionalmente intensivas.
FORTRAN es tan eficiente que a menudo se utiliza para evaluar el rendimiento de las supercomputadoras más rápidas del mundo. Una desventaja es que las operaciones de entrada y salida no se manejan bien. Esta debilidad, junto con la creciente demanda de soluciones informáticas empresariales (que dependen en gran medida de estas operaciones), llevó al desarrollo de COBOL en 1959.
COMTRAN (Traductor Comercial)
- Año de desarrollo: 1957
- Desarrollado por: Bob Berner, IBM
- Usos: Programación empresarial, precursor de COBOL
A pesar de todos los beneficios de FORTRAN, el lenguaje no se podía confiar para la informática empresarial. Esto llevó al desarrollo de un lenguaje más orientado a los negocios por parte de IBM, conocido como COMTRAN (o “Commercial Translator”). COMTRAN es notable por ser el primer lenguaje de programación en implementar algo conocido como una “cláusula de imagen”. Esta cláusula es una cadena de caracteres, donde cada parte representa una porción de datos y cómo debería formatearse. Por ejemplo, la cláusula “9(7)” representa “9999999”.
Hoy en día, COMTRAN es un lenguaje desactualizado; sin embargo, es significativo por ser precursor del lenguaje COBOL. COMTRAN todavía encuentra algunos usos, principalmente en operaciones informáticas empresariales relativamente simples como recursos humanos y contabilidad. Dado que no podía manejar errores y excepciones sofisticados, COMTRAN no era adecuado para sistemas más complicados.
ALGOL 58
- Año de desarrollo: 1958
- Desarrollado por: Friedrich Bauer, Hermann Bottenbruch, Heinz Rutishauser, Klaus Samelson, John Backus, Charles Katz, Alan Perlis y Joseph Wegstein
- Usos: Computación científica, influyó en muchos lenguajes de programación modernos
El nombre “ALGOL” puede parecer un poco enigmático al principio, pero la lógica detrás de él es bastante simple. ALGOL proviene de “Algorithmic Language” (Lenguaje Algorítmico), y fue diseñado inicialmente para ser un lenguaje de programación universal. Las propuestas para un lenguaje universal culminaron en una reunión conjunta entre miembros de la Asociación de Maquinaria Computacional (ACM) con sede en Estados Unidos y la “Society of Applied Mathematics and Mechanics” (GAMM) con sede en Alemania. Durante la reunión, se ideó el nombre “IAL” (por “International Algebraic Language”), pero esto se cambió más tarde a ALGOL por razones de pronunciación.
Desafortunadamente, el uso de ALGOL 58 fue bastante limitado. Esto se debió en parte porque compitió con FORTRAN y también porque no incluía ningún protocolo para entrada y salida. ALGOL 58 encontró cierto uso en ámbitos científicos, pero se le recuerda principalmente por allanar el camino a lenguajes más compactos, como Pascal, Java y C.
Lenguajes de Programación Más Antiguos: Resumen
Posición | Lenguaje | Año de Desarrollo |
---|---|---|
#1 | Lenguaje Ensamblador | 1947 |
#2 | Código Corto | 1949 |
#3 | Autocode | 1952 |
#4 | FLOW-MATIC | 1955–1959 |
#5 | IPL | 1956 |
#6 | FORTRAN | 1957 |
#7 | COMTRAN | 1957 |
#8 | ALGOL 58 | 1958 |
Lenguajes de Programación Más Antiguos: Conclusión
En resumen, los lenguajes de programación han existido desde la invención de las computadoras (e incluso un tiempo antes). Si bien la mayoría de los lenguajes antiguos tenían un uso limitado, muchos de ellos influyeron fuertemente en los lenguajes más comúnmente utilizados que vendrían después.
Los primeros lenguajes tendían a tener un enfoque bastante singular, a diferencia de los lenguajes modernos, que generalmente están diseñados para abordar muchas tareas diferentes. A medida que el campo de la informática continúa desarrollándose a un ritmo emocionante, seguramente veremos la introducción de lenguajes que antes se consideraban solo teóricos.
Preguntas Frecuentes
El lenguaje de programación más antiguo que se ha utilizado puede considerarse “Lenguaje Ensamblador”, que fue desarrollado por Kathleen Booth en 1947. Este tipo de lenguaje fue adoptado por el Electronic Delay Storage Automatic Calculator en 1949, aunque en un formato mnemotécnico.
Algunos de los lenguajes de programación mencionados aquí todavía se utilizan en la actualidad, como COMTRAN, FORTRAN, COBOL y Lenguaje Ensamblador. Sin embargo, su uso es bastante limitado y se aplica principalmente a situaciones específicas.
Grace Hopper fue una científica de la computación estadounidense y, más tarde, una almirante naval. Es más conocida por desarrollar el primer compilador utilizado para traducir un lenguaje de programación, así como por desempeñar un papel importante en el desarrollo de COBOL. Por esta razón, a menudo se la llama la “madre de COBOL”.
Elementos de FLOW-MATIC que se incorporaron en COBOL incluyen una sintaxis similar al inglés, programación a nivel de datos, una orientación hacia la informática empresarial y estructura de sentencias.
Los lenguajes de programación de bajo nivel son aquellos que se asemejan estrechamente al código de máquina y no son muy abstractos en comparación. Como tal, son menos intuitivos para que los programadores los comprendan y utilicen. Esta complejidad puede aumentar la probabilidad de errores, pero también brinda al programador un control directo sobre el hardware. Los lenguajes ensambladores son ejemplos de lenguajes de programación de bajo nivel.
Los lenguajes de programación de alto nivel están diseñados para ser más legibles por los humanos y tienen un mayor grado de abstracción del hardware. De esta manera, los programadores pueden escribir código más amigable que se asemeje al lenguaje humano. La mayoría de los lenguajes modernos utilizados hoy son lenguajes de alto nivel, ya que proporcionan más portabilidad y son más intuitivos. Ejemplos de lenguajes de alto nivel incluyen Python, Java, C++, C# y JavaScript.