¿Quién fue el primer programador?

15

¿Existe algún consenso entre los historiadores sobre quién fue el primer programador de la historia? Si es así, ¿quién era y en qué estaban programando?

Me resulta más interesante saber más sobre los pioneros de la programación, independientemente de si programaron en una máquina programable o si la han diseñado ellos mismos para realizar alguna tarea informática.

Spoike
fuente
10
Defina la programación con la suficiente precisión para que sepamos si tenemos que considerar cosas como preparar cintas para el telar de Jacquard o no.
Programador
El primero en escribir código :)))
Songo
Yo voto por contar Jacquard.
Joshua Drake
2
Pregunta relacionada: ¿Quién fue el primer ingeniero de software
Spoike
Quienes calcularon eclipses en el calendario maya, bien podrían haber sido los primeros programadores. Necesita diseñar un algoritmo ("¿estamos lo suficientemente cerca?") Y ejecutarlo.

Respuestas:

58

Augusta Ada King , condesa de Lovelace (1815-1852) es acreditado por la mayoría como el primer programador.

El primer programa fue un algoritmo para calcular los números de Bernoulli para Charles Babbage máquina analítica , y apareció en sus notas de traducción de Luigi Menabrea memorias "Bosquejo de la máquina analítica de Charles Babbage inventó" , más específicamente Nota G . Dicho esto, las matemáticas necesarias para calcular los números de Bernoulli se conocían mucho antes de la época de Ada, sin embargo, el algoritmo de Ada es la primera instancia de un algoritmo de cálculo diseñado para ser ejecutado por una máquina (en ese momento aún hipotética).

Konrad Zuse (1910 - 1995) también es un candidato sólido para el apodo del "primer programador", habiendo inventado una calculadora mecánica binaria de coma flotante con capacidad de programación limitada, el Z1 (1936) pero más importante aún el Z3 (1941), un electro completo de Turing -computadora mecánica .

Cuando se trata de computadoras electrónicas, la computadora Atanasoff-Berry (concebida en 1937, operativa en 1942) se acredita como el primer dispositivo electrónico de computación digital, por lo que es razonable pensar en sus diseñadores, John Vincent Atanasoff y Clifford Berry como pioneros de la programación. Sin embargo, la computadora Atanasoff – Berry no era programable, la primera computadora electrónica programable fue ENIAC (1946).

Aunque los diseñadores de ENIAC John Mauchly y J. Presper Eckert probablemente hicieron una buena cantidad de programación, la mayoría de la programación de ENIAC fue realizada por estas encantadoras damas :

Programadores de ENIAC, cortesía del Proyecto de programadores de ENIAC

Sus nombres de izquierda a derecha son Kathy Kleiman 1 , Jean Bartik , Marlyn Meltzer , Kay Mauchly Antonelli y Betty Holberton en el frente. Dos de las programadoras del ENIAC, Fran Bilas y Ruth Lichterman , no se encuentran en la foto.

Cuando se trata de computadoras digitales, la primera fue Colossus (operativa en diciembre de 1943), y el líder del proyecto, Tommy Flowers (1905-1998) también debería considerarse un pionero de la programación, junto con Max Newman (1897-1984), quien fue responsable por formular los requisitos para la máquina y, por supuesto, Alan Turing (1912-1954), quien había diseñado la máquina criptoanalítica electromecánica anterior de Bletchley Park, la Bombe (1939), y fue influyente en el diseño Colossus 2 .

1 Kathy Kleiman es la fundadora del Proyecto de Programadores de ENIAC y obviamente no es una programadora de ENIAC (demasiado joven :)
2 Una historia de la informática en el siglo XX: El coloso - B. Randell, Universidad de Newcastle (PDF)

Yannis
fuente
99
'Brogrammers' es una carga de basura soñada por los bloggers.
Alan B
55
@ Malcolm Esa es una muy buena pregunta. Lo que debe recordar es que el motor analítico no se creó durante la vida de Babbage y que Ada no descubrió las matemáticas para su algoritmo, sino que tradujo las matemáticas a una forma que hubiera funcionado para el motor analítico (que es lo que califica su algoritmo como software y no matemática). No es impensable que Babbage haya creado un programa anterior, pero nunca lo documentó. Sin embargo, sí documentó la participación de Ada, en la pág. 136 de Pasajes de la vida de un filósofo :
yannis
2
(cont ...) "Entonces le sugerí que agregara algunas notas a las memorias de Menabrea, una idea que fue adoptada de inmediato. Discutimos juntas las diversas ilustraciones que podrían presentarse: sugerí varias, pero la selección era totalmente suya. Así también fue la resolución algebraica de los diferentes problemas, excepto, de hecho, el relativo a los números de Bernoulli, que había ofrecido hacer para salvar a Lady Lovelace del problema. Esto me lo envió para una enmienda, al detectar un grave error que hice en el proceso ".
Yannis
2
(cont ...) Y aunque parezca que Babbage está reclamando al menos parte del crédito (lo que sería justo ya que los dos trabajaron juntos), nunca cuestionó las notas de Ada en las memorias, que solo llevaban su nombre.
Yannis
55
En 1941, Zuse contrató a un matemático ciego llamado Arnold Fast para programar sus computadoras. Este tipo fue probablemente el primer programador profesional del mundo .
Mackie Messer
12

Arquímedes también podría calificar

Como se le atribuye tentativamente la creación del mecanismo Antikythera (un ejemplo de una computadora analógica temprana ) hace unos 2000 años, en algún momento debe haber tomado la decisión de calcular un evento en particular.

Ese acto podría considerarse como un programa, por lo que se convirtió en programador.

Gary Rowe
fuente
55
El mecanismo no es programable.
Oded
44
Aunque está implícito una conexión con Arquímedes, la afirmación de que "se le atribuye tentativamente la creación del mecanismo de Antikythera" es bastante audaz (sí, no falté tentativamente).
Yannis
44
@Gary: Una distinción importante para la programabilidad, al menos como se entiende hoy, es que el programa existe independientemente del hardware. El mecanismo de Antikythera estaba "codificado" para calcular una cosa, pero no había forma de ingresar otros programas.
Mason Wheeler
3
Parece que estamos debatiendo más sobre QUÉ ES UN PROGRAMADOR. ¿Alguien que crea un mecanismo incrustando algo de lógica no es un programador? Creo que es, no se puede decir lo contrario simplemente porque no se puede cambiar esa lógica
abx78
44
Discuto que el mecanismo de Antikythera era una computadora, ¡por lo tanto no es indiscutible! Tan brillante como era un dispositivo, en realidad era solo un reloj muy inteligente. Su tecnología de fabricación de máquinas se adelantó entre 500 y 1000 años, pero de ninguna manera fue 'programable'. Los relojes no son computadoras.
Jim In Texas