Quem foi o primeiro programador?

15

Existe algum consenso entre os historiadores sobre quem foi o primeiro programador de todos os tempos? Se sim, quem era e no que eles estavam programando?

Acho mais interessante saber mais sobre os pioneiros da programação, independentemente de terem programado em uma máquina programável ou se eles mesmos projetaram a máquina para realizar alguma tarefa de computação.

Spoike
fonte
10
Defina a programação com precisão suficiente para que saibamos se precisamos considerar coisas como preparar fitas para o tear de Jacquard ou não.
AProgrammer
O primeiro a escrever código :))) #
Songo
Eu voto pela contagem do Jacquard.
Joshua Drake
2
Pergunta relacionada: Quem foi o primeiro engenheiro de software
Spoike
Aqueles que calcularam eclipses no calendário maia podem muito bem ter sido os primeiros programadores. Você precisa criar um algoritmo ("estamos perto o suficiente?") E executá-lo.

Respostas:

58

Augusta Ada King , condessa de Lovelace (1815 - 1852) é creditada pela maioria como o primeiro programador.

O primeiro programa foi um algoritmo para calcular números de Bernoulli para de Charles Babbage Máquina Analítica , e ela apareceu em suas notas de tradução de Luigi Menabrea memoir "Esboço da Máquina Analítica inventado por Charles Babbage" , mais especificamente Nota G . Dito isto, as matemáticas necessárias para o cálculo dos números de Bernoulli eram conhecidas muito antes do tempo de Ada, no entanto, o algoritmo de Ada é a primeira instância de um algoritmo de cálculo projetado para ser executado por uma máquina (na época ainda hipotética).

Konrad Zuse (1910 - 1995) é também um candidato sólido para moniker "primeiro programador", tendo inventado um calculador mecânico ponto binário flutuante com programabilidade limitado, o Z1 (1936) mas, mais importante a Z3 (1941), uma completa Turing electro computador mecânico .

Quando se trata de computadores eletrônicos, o Atanasoff – Berry Computer (concebido em 1937, operacional em 1942) é creditado como o primeiro dispositivo de computação digital eletrônica, portanto, é razoável pensar em seus designers, John Vincent Atanasoff e Clifford Berry, como pioneiros na programação. O computador Atanasoff – Berry não era programável, porém, o primeiro computador eletrônico programável foi o ENIAC (1946).

Embora os designers do ENIAC John Mauchly e J. Presper Eckert provavelmente tenham participado bastante da programação, a maior parte da programação do ENIAC foi feita por essas adoráveis ​​senhoras :

Programadores ENIAC, cortesia do Projeto Programadores ENIAC

Seus nomes da esquerda para a direita são Kathy Kleiman 1 , Jean Bartik , Marlyn Meltzer , Kay Mauchly Antonelli e Betty Holberton na frente. Duas das programadoras do ENIAC, Fran Bilas e Ruth Lichterman , estão desaparecidas da foto.

No que diz respeito aos computadores digitais, o primeiro foi Colossus (operacional em dezembro de 1943), e o líder do projeto Tommy Flowers (1905 - 1998) também deve ser considerado um pioneiro da programação, juntamente com Max Newman (1897 - 1984), responsável por formular os requisitos para a máquina e, é claro, por Alan Turing (1912 - 1954), que projetou a máquina criptoanalítica eletromecânica anterior de Bletchley Park, o Bombe (1939), e influenciou o design do Colossus 2 .

1 Kathy Kleiman é a fundadora do Projeto ENIAC Programmers e obviamente não é programadora ENIAC (muito jovem :)
2 Uma História da Computação no Século XX: O Colosso - B. Randell, Universidade de Newcastle (PDF)

yannis
fonte
9
'Brogrammers' é um monte de porcaria sonhada por blogueiros.
23712 Alan B
5
@ Malcolm Essa é uma pergunta muito boa. O que você precisa lembrar é que o Analytical Engine não foi construído durante a vida de Babbage e que Ada não descobriu a matemática para seu algoritmo, mas traduziu a matemática para um formulário que funcionaria para o Analytical Engine (que é o que qualifica seu algoritmo como software e não como matemática). Não é impensável que Babbage tenha criado um programa anterior, mas nunca o tenha documentado. No entanto, ele documentou o envolvimento de Ada, na p. 136 de Passagens da vida de um filósofo :
yannis
2
(cont ...) "Então sugeri que ela acrescentasse algumas notas às memórias de Menabrea, uma idéia que foi adotada imediatamente. Discutimos juntos as várias ilustrações que poderiam ser introduzidas: sugeri várias, mas a seleção era inteiramente sua. foi o trabalho algébrico dos diferentes problemas, exceto, de fato, o relativo ao número de Bernoulli, que eu me ofereci para salvar a senhora Lovelace do problema, que ela me enviou para uma emenda, tendo detectado um erro grave que eu fiz no processo ".
Yannis 23/05
2
(cont ...) E, embora possa parecer que Babbage está reivindicando pelo menos parte do crédito (o que seria justo quando os dois trabalharam juntos), ele nunca contestou as anotações de Ada nas memórias, que carregavam apenas o nome dela.
Yannis
5
Em 1941, Zuse contratou um matemático cego chamado Arnold Fast para programar seus computadores. Esse cara foi provavelmente o primeiro programador profissional do mundo .
Mackie Messer
12

Arquimedes também poderia se qualificar

Como ele é provisoriamente creditado com a criação do mecanismo Antikythera (um exemplo de um computador analógico antigo ) cerca de 2000 anos atrás, em algum momento ele deve ter tomado a decisão de calcular um evento específico.

Esse ato poderia ser pensado como um programa, assim ele se tornou um programador.

Gary Rowe
fonte
5
O mecanismo não é programável.
Oded
4
Embora esteja implícita uma conexão com Arquimedes, a afirmação de que ele é "tentativamente creditado com a criação do mecanismo Antikythera" é bastante ousada (sim, não perdi tentativamente).
Yannis
4
@ Gary: Uma distinção importante para a programação, pelo menos como hoje é entendida, é que o programa existe independentemente do hardware. O mecanismo Antikythera foi "codificado" para calcular uma coisa, mas não havia como inserir outros programas.
Mason Wheeler
3
Parece que estamos debatendo mais sobre O QUE É UM PROGRAMADOR. Alguém que cria um mecanismo embutido em alguma lógica não é um programador? Eu acredito que ele é, você não pode dizer o contrário só porque você não pode mudar essa lógica
abx78
4
Eu discuto que o mecanismo Antikythera era um computador, portanto não é indiscutível !! Por mais brilhante que fosse, era realmente um relógio muito inteligente. Sua tecnologia de fabricação de máquinas estava cerca de 500-1000 anos à frente de seu tempo, mas não era de forma alguma 'programável'. Relógios não são computadores.
Jim In Texas