Historia de los Lenguajes de Programación en los Años 60s

Clase 16 de 21Curso de Historia de la Programación: Lenguajes y Paradigmas

Contenido del curso

Resumen

La década de los sesenta fue un periodo de transformación profunda para la programación. Tres lenguajes marcaron el rumbo de paradigmas que seguimos usando hoy: Lisp introdujo la programación funcional de orden superior, Cobol acercó el código al lenguaje humano para el mundo de los negocios, y Simula sentó las bases de la programación orientada a objetos. Comprender estos lenguajes permite entender por qué programamos como lo hacemos en la actualidad.

¿Qué hizo de Lisp un lenguaje revolucionario?

Lisp, cuyo nombre proviene de List Processor (procesador de listas), fue diseñado por el equipo de John McCarthy en el MIT [0:25]. A diferencia de los lenguajes previos, su propósito no era numérico: estaba pensado para manipular expresiones S, una estructura de datos basada en árboles, y para la traducción automática de textos con técnicas de inteligencia artificial [0:46].

Una limitación importante era que Lisp debía adaptarse a cada arquitectura de computadora. No podía ejecutarse de forma universal como los lenguajes modernos; las máquinas compatibles recibían el nombre de Lisp Machines [1:13].

¿Qué contribuciones técnicas aportó Lisp?

Entre sus aportes más relevantes se encuentra la programación de orden superior [1:25]. Las funciones de orden superior permiten recibir funciones como parámetro y también retornar funciones como resultado. Además, Lisp fue capaz de utilizar memoria dinámica, algo notable para su época [1:43].

Hoy existen dialectos vigentes como Racket, Common Lisp, Scheme y Clojure, todos lenguajes cien por ciento funcionales que heredan la filosofía de Lisp [1:50].

¿Por qué Cobol fue diseñado para los negocios?

Cobol, que significa Common Business Oriented Language, fue creado específicamente para aplicaciones empresariales [2:30]. Es un lenguaje imperativo y procedural que actualmente soporta programación orientada a objetos. Su característica más distintiva es que buscaba acercarse lo más posible al lenguaje natural en inglés, haciendo que su código fuera legible casi como prosa.

En 1968, el equipo que estandarizó Cobol fue liderado por Grace Hopper [2:56], una figura fundamental en la historia de la computación.

¿Cómo se estructuraba un programa en Cobol?

Cobol dividía cada programa en cuatro secciones [3:20]:

  • Procedimiento: contenía el código algorítmico, la secuencia de instrucciones que el programa ejecutaba.
  • Datos: describía los datos utilizados por el programa.
  • Ambiente: especificaba el entorno externo y la máquina física donde se ejecutaría.
  • Identificación: incluía información del programa, el autor y otros metadatos.

Aunque la sintaxis de Cobol puede resultar verbosa con muchas líneas de código, su lectura es sorprendentemente accesible [4:28]. Incluso un programa que multiplica dos números se puede comprender sin experiencia previa en el lenguaje.

¿Cómo Simula originó la programación orientada a objetos?

Simula descendió de Algol 60 y fue definido en 1962 [4:46]. Su propósito original era realizar simulaciones de colas, como las filas en un supermercado, donde se calculan tiempos de servicio considerando factores como número de artículos o tipos de cajas [4:55].

Sin embargo, su contribución más trascendental fue introducir conceptos que hoy son pilares de la programación: clase, objeto, subtipo y método dinámico de despacho [5:17]. Estos son los fundamentos de la programación orientada a objetos.

¿Qué lenguajes influyó Simula directamente?

Simula es predecesor de lenguajes como Smalltalk, que es cien por ciento orientado a objetos, y C++ [5:30]. Su impacto fue tan profundo que marcó un antes y un después en los paradigmas de programación. Aunque ya no es popular, todavía se le cita en trabajos académicos de los años 2000 [5:50].

El código de Simula resulta familiar para cualquier programador actual. Al observar la creación de una clase, la instanciación de objetos y la llamada a métodos, es posible encontrar similitudes directas con lenguajes modernos [6:15].

Estos tres lenguajes demuestran cómo las decisiones de diseño de los años sesenta siguen moldeando la forma en que escribimos software. Si conoces algún dialecto de Lisp o has trabajado con Cobol en sistemas legados, comparte tu experiencia.