Los mayores inventos en programación informática

En una de las conversaciones que tuve con nuestro editor senior, me preguntaron: «¿Cómo programaron los primeros programadores?» Esto llevó a una discusión acerca de Babbage y Ada Lovelace, al final de los cuales, me asignaron a investigar cómo empezó todo – siendo las muchas innovaciones en la historia de la computación.

Busqué en libros y sitios web y encontré muchas revelaciones: Babbage no es técnicamente el inventor de la computadora, FORTRAN definitivamente no fue el primer lenguaje de programación de alto nivel y solíamos tener lápices para pantallas CRT (en realidad).

También me sorprendió descubrir cuán esenciales eran las guerras para impulsar el rápido progreso del desarrollo informático, además de la contribución de muchas mujeres que nuestros libros de texto decidieron descuidar. Por lo tanto, para llenar los vacíos en la historia de las computadoras y los programas, reuní 20 primicias en el mundo de la computación, desde bolas de boliche hasta la Segunda Guerra Mundial y todo lo que hay en el medio.

1. Primera computadora: «Motor diferencial» (1821)

El «motor de diferencia» fue una computadora mecánica propuesta que se utilizaría para generar tablas matemáticas.

Encargado por el gobierno británico, Charles Babbage (también conocido como el padre de la computadora) comenzó a trabajar en él, pero debido a su alto costo de producción, la financiación se detuvo y la máquina nunca se completó .

motor diferencial

Fuente de la imagen: Wikimedia.

2. Primera computadora de propósito general: «motor analítico» (1834)

El “motor analítico” también fue una computadora mecánica propuesta, cuya entrada se suponía que eran tarjetas perforadas, con programas y datos perforados en ellas. Otra creación de Charles Babbage, esta máquina tampoco se completó.

Motor analítico

Fuente de la imagen: wikieducator.org

3. Primer programa informático: algoritmo para calcular números de Bernoulli (1841-1842)

Ada Lovelace (la primera programadora de computadoras del mundo) comenzó a traducir los registros del matemático italiano Luigi Menabrea en el motor analítico de Babbage en 1841.

Durante la traducción se interesó por la máquina y dejó notas con su traducción. Una de las notas, la nota G , contenía el algoritmo para calcular los números de Bernoulli mediante el motor analítico, considerado el primer programa informático.

primer programa de computadora

Fuente de la imagen: Wikimedia.

4. Primera computadora programable en funcionamiento: Z3 (1941)

Konrad Zuse (el inventor de las computadoras) ya tenía una computadora mecánica Z1 en funcionamiento, pero funcionó solo durante unos minutos a la vez.

El uso de una tecnología diferente, los relés, condujo a Z2 y, finalmente, a Z3. Z3 era una computadora electromagnética para la cual el programa y los datos se almacenaban en cintas perforadas externas. Fue un proyecto secreto del gobierno alemán y fue utilizado por el Instituto Alemán de Investigación Aeronáutica.

La máquina original fue destruida en el bombardeo de Berlín en 1943.

Ordenador Z3 de Zuse

5. Primera computadora electrónica: Atanasoff-Berry Computer (ABC) (1942)

Creado por John Vincent Atanasoff y Clifford Berry, el por lo tanto llamado Atanasoff-Berry Computer o ABC se utilizó para encontrar la solución para ecuaciones lineales simultáneas.

Fue la primera computadora que usó binario para representar datos e interruptores electrónicos en lugar de mecánicos. Sin embargo, la computadora no era programable.

Computadora Atanasoff-Berry

Fuente de la imagen: galileog

6. Primera computadora electrónica programable: Colossus (1943)

El Coloso creado por Tommy Flowers, fue una máquina creada para ayudar a los británicos a descifrar los mensajes alemanes que fueron encriptados por el cifrado de Lorenz, en la Segunda Guerra Mundial.

Fue programado por interruptores y enchufes electrónicos. Colossus trajo el tiempo para descifrar los mensajes cifrados de semanas a horas.

computadora coloso

Fuente de la imagen: Wikimedia.

7. Primera computadora electrónica programable de uso general: ENIAC (1946)

Financiado por el Ejército de los EE. UU., ENIAC o Electronic Numerical Integrator And Computer fue desarrollado en la Escuela de Ingeniería Eléctrica Moore de la Universidad de Pensilvania por John Mauchly y J. Presper Eckert.

ENIAC tenía 150 pies de ancho y podía programarse para realizar operaciones complejas como bucles; La programación se realizó alterando sus interruptores electrónicos y cables. Utilizaba lectores de tarjetas para la entrada y perforaciones de tarjetas para la salida.

Ayudó con los cálculos de viabilidad de la primera bomba de hidrógeno del mundo.

ENIAC

Fuente de la imagen: hnf.de

8. Primer trackball: (1946/1952)

¿Por qué los dos años para el primer trackball? Permíteme explicarte.

El primer año fue el año dado por Ralph Benjamin, quien afirmó haber creado el primer trackball del mundo cuando estaba trabajando en un sistema de monitoreo para aviones de bajo vuelo en 1946. El invento que describió usó una bola para controlar las coordenadas XY de un cursor en la pantalla.

El diseño fue patentado en 1947 pero nunca fue lanzado porque se considera un «secreto militar». Los militares optaron por el joystick.

El segundo aspirante al primer trackball del mundo, utilizado en el sistema DATAR de la Armada canadiense en 1952, fue inventado por Tom Cranston y compañía. Este diseño de bola de seguimiento tenía una maqueta que utilizaba una bola de boliche canadiense girada sobre «cojinetes de aire» (ver imagen a continuación).

datar trackball

Fuente de la imagen: engadget

9. Primera computadora con programa almacenado: SSEM (1948)

Para superar las deficiencias de la memoria de línea de retardo, Frederic C. Williams y Tom Kilburn habían desarrollado el primer dispositivo de almacenamiento digital de acceso aleatorio basado en el CRT estándar.

La SSEM ( máquina experimental de pequeña escala de Manchester) se utilizó para implementar ese dispositivo de almacenamiento para un uso práctico. Los programas se ingresaron en forma binaria usando 32 interruptores y su salida fue un CRT.

Réplica del SSEM

Fuente de la imagen: Computación de la Universidad de Staffordshire

10. Primer lenguaje de programación de alto nivel: Plankalkül (1948)

Aunque Konrad Zuse empezó a trabajar en Plankalkül desde 1943, no fue hasta 1948 cuando publicó un artículo al respecto. Desafortunadamente, no atrajo mucha atención. Se necesitarían cerca de tres décadas más tarde para que se implementara un compilador, uno creado por Joachim Hohmann en una disertación.

El Plankalkül, Capítulo 5, Teoría del Ajedrez

11. Primer ensamblador: «Pedidos iniciales» para EDSAC (1949)

Assembler es un programa que convierte mnemónicos (de bajo nivel) en representación numérica (código de máquina). Los pedidos iniciales en EDSAC ( Calculadora Automática de Almacenamiento con Retraso Electrónico ) fueron los primeros de un sistema de este tipo.

Se utilizó para ensamblar programas a partir de la entrada de cinta de papel en la memoria y ejecutar la entrada. Los programas estaban en códigos mnemotécnicos en lugar de códigos de máquina, lo que convirtió al «código inicial» en el primer ensamblador al procesar un código de programa simbólico de bajo nivel en código de máquina.

Orden inicial

Fuente de la imagen: Laboratorio de Computación de la Universidad de Cambridge

12. Primera computadora personal: «Simon» (1950)

“Simon” de Edmund Berkeley fue la primera computadora digital asequible que podía realizar cuatro operaciones: suma, negación, mayor que y selección. La entrada fue papel perforado y el programa se ejecutó en cinta de papel. La única salida fue a través de cinco luces.

Simon Computadora Edmund Berkeley

13. Primer compilador: A-0 para UNIVAC 1 (1952)

Un compilador es un programa que convierte lenguaje de alto nivel en código de máquina. El sistema A-0 fue un programa creado por la legendaria Grace Hopper para convertir un programa especificado como una secuencia de subrutinas y argumentos en código de máquina.

El A-0 luego evolucionó a A-2 y fue lanzado a los clientes con su código fuente, lo que lo convierte posiblemente en el primer software de código abierto .

Grace_Hopper_and_UNIVAC

Fuente de la imagen: Wikimedia.

14. Primer Autocode: Autocode de Glennie (1952)

Un Autocode es un lenguaje de programación de alto nivel que usa un compilador. El primer autocode y su compilador aparecieron en la Universidad de Manchester para hacer más inteligible la programación de la máquina Mark 1.

Fue creado por Alick Glennie, de ahí el nombre Autocode de Glennie.

glennie autocode

Fuente de la imagen: Wikipedia

15. Primera computadora con pantalla de gráficos en tiempo real: AN / FSQ-7 de IBM (1951)

AN / FSQ-7 se basó en una de las primeras computadoras que mostró resultados en tiempo real, Whirlwind. Se convirtió en el salvavidas del sistema de defensa aérea estadounidense conocido como Semi-Automatic Ground Environment (SAGE).

Las computadoras mostraron pistas de los objetivos y automáticamente mostraron qué defensas estaban dentro del alcance. AN / FSQ-7 tenía 100 consolas de sistema; aquí hay uno (imagen de abajo), la pantalla de situación OA-1008 (SD), con una pistola de luz utilizada para seleccionar objetivos en la pantalla para obtener más información.

an-fsq-7

Fuente de la imagen: Wikiwand

16. Primer lenguaje de programación de alto nivel ampliamente utilizado: FORTRAN (1957)

Si consulta los libros de texto, encontrará FORTRAN en la lista como el primer lenguaje de programación de alto nivel.

Pensado por John W. Backus a quien no le gustaba escribir programas y decidió crear un sistema de programación para ayudar a hacer el proceso mucho más fácil, el uso de FORTRAN redujo en gran medida el número de instrucciones de programación necesarias para que una máquina funcione.

En 1963, ya estaban disponibles más de 40 compiladores de FORTRAN.

fortran-punch-card

Fuente de la imagen: Wikipedia

17. Primer ratón (1964)

Fue mientras estaba sentado en una sesión de conferencia sobre gráficos por computadora que la idea de un mouse se le ocurrió a Douglas Engelbart en 1964.

Pensó en un dispositivo con un par de ruedas pequeñas (una gira horizontalmente y la otra verticalmente) que se puede usar para mover un cursor en una pantalla. Un prototipo (ver más abajo) fue creado por su ingeniero principal, Bill English, pero tanto English como Engelbart nunca recibieron regalías por el diseño porque técnicamente pertenecía a SRI, el empleador de Engelbert.

Primer prototipo de ratón

Fuente de la imagen: Michael Hicks

18. Primera computadora de escritorio comercial: Programma 101 (1965)

También conocida como Perottina, Programma 101 fue la primera PC comercial del mundo. Podría realizar suma, resta, multiplicación, división, raíz cuadrada, valor absoluto y fracción.

Por todo lo que pudo hacer, tenía un precio de $ 3,200 (era un momento muy diferente) y logró vender 44,000 unidades. Perottina fue inventada por Pier Giorgio Perotto y producida por Olivetti, un fabricante italiano.

programma-101

Fuente de la imagen: TEDxArezzo

19. Primera pantalla táctil (1965)

No parece mucho, pero esta fue la primera pantalla táctil que el mundo ha conocido. Es un panel de pantalla táctil capacitativa, sin sensibilidad a la presión (hay contacto o no hay contacto) y solo registra un único punto de contacto (a diferencia de multitouch).

El concepto fue adoptado para su uso por los controladores de tráfico aéreo en el Reino Unido hasta la década de 1990.

pantalla táctil Johnson

Fuente de la imagen: arstechnica

20. Primer lenguaje de programación orientado a objetos: Simula (1967)

Basado en el concepto de construcciones de clase de CAR Hoare, Ole-Johan Dahl y Kristen Nygaard actualizaron su lenguaje de programación “SIMULA I” con objetos, clases y subclases. Esto resultó en la creación de SIMULA 67, que se convirtió en el primer lenguaje de programación orientado a objetos.

Programa de muestra de Simula

Fuente de la imagen: Wikipedia

Pensamientos finales

Por mucho que esta publicación tratara sobre lo que pudimos aprender sobre las muchas primicias en la historia de la computación, es difícil sumergirnos en la historia misma. Como resultado, al menos para mí, apreciamos más el trabajo realizado por generaciones anteriores a la nuestra , y podemos comprender mejor qué impulsa los muchos cambios que dan forma al mundo en el que vivimos hoy.

Espero que esta publicación te inspire tanto como a mí. Comparta sus pensamientos sobre estos primeros, y si me perdí alguno, lo cual estoy seguro de que hice, agréguelo en los comentarios.

Deja un comentario