Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Is there some consensus among historians on who was the first programmer ever? If so, who was it and what were they programming on?

I find it more interesting to know more about the pioneers of programming, regardless if they programmed on a programmable machine or if they've designed the machine themselves to do some computing task.

share|improve this question
10  
Define programming precisely enough so that we know if we have to consider things like preparing tapes for Jacquard's loom or not. –  AProgrammer May 23 '12 at 13:44
    
The first one ever to write code :))) –  Songo May 23 '12 at 14:31
    
I vote for counting Jacquard. –  Joshua Drake May 23 '12 at 17:44
    
Related question: Who was the first software engineer –  Spoike May 24 '12 at 13:31
    
Those who calculated eclipses in the Mayan calendar, might very well have been the first programmers. You need to design an algorithm ("are we close enough?") and execute it. –  user1249 Jul 9 '12 at 14:16
add comment

3 Answers

up vote 55 down vote accepted

Augusta Ada King, Countess of Lovelace (1815 - 1852) is credited by most as the first programmer.

The first program was an algorithm to calculate Bernoulli numbers for Charles Babbage's Analytical Engine, and it appeared in her translation notes of Luigi Menabrea's memoir "Sketch of the Analytical Engine Invented by Charles Babbage", more specifically Note G. That said, the math necessary for calculating Bernoulli numbers were known long before Ada's time, however Ada's algorithm is the first instance of a calculating algorithm designed to be executed by a (at the time still hypothetical) machine.

Konrad Zuse (1910 – 1995) is also a solid candidate for the "first programmer" moniker, having invented a floating point binary mechanical calculator with limited programmability, the Z1 (1936) but more importantly the Z3 (1941), a Turing complete electro-mechanical computer.

When it comes to electronic computers, the Atanasoff–Berry Computer (conceived in 1937, operational by 1942) is credited as the first electronic digital computing device, so it's reasonable to think of its designers, John Vincent Atanasoff and Clifford Berry as programming pioneers. The Atanasoff–Berry Computer wasn't programmable though, the first programmable electronic computer was ENIAC (1946).

Although ENIAC's designers John Mauchly and J. Presper Eckert probably did a fair share of programming, most of ENIAC's programming were done by these lovely ladies:

ENIAC programmers, courtesy of the ENIAC Programmers Project

Their names from left to right are Kathy Kleiman1, Jean Bartik, Marlyn Meltzer, Kay Mauchly Antonelli and Betty Holberton at the front. Two of the ENIAC's female programmers, Fran Bilas and Ruth Lichterman, are missing from the photo.

When it comes to digital computers, the first one was Colossus (operational by December 1943), and the project's lead Tommy Flowers (1905 – 1998) should also be considered a programming pioneer, along with Max Newman (1897 – 1984) who was responsible for formulating the requirements for the machine and of course Alan Turing (1912 – 1954), who had designed Bletchley Park's earlier electromechanical cryptanalytical machine, the Bombe (1939), and was influential in Colossus design2.

1 Kathy Kleiman is the founder of the ENIAC Programmers Project and obviously not an ENIAC programmer (too young :)
2 A History of Computing in the Twentieth Century: The Colossus - B. Randell, Newcastle University (PDF)

share|improve this answer
9  
'Brogrammers' is a load of crap dreamed up by bloggers. –  Alan B May 23 '12 at 13:28
5  
@Malcolm That's a very good question. What you need to remember is that the Analytical Engine wasn't build during Babbage's lifetime and that Ada didn't discover the math for her algorithm, but translated the math to a form that would have worked for the Analytical Engine (which is what qualifies her algorithm as software and not math). It's not unthinkable that Babbage did come up with an earlier program, but never documented it. However he did document Ada's involvement, in p. 136 of Passages from the life of a philosopher: –  Yannis Rizos May 23 '12 at 16:25
2  
(cont...) "I then suggested that she add some notes to Menabrea's memoir, an idea which was immediately adopted. We discussed together the various illustrations that might be introduced: I suggested several but the selection was entirely her own. So also was the algebraic working out of the different problems, except, indeed, that relating to the numbers of Bernoulli, which I had offered to do to save Lady Lovelace the trouble. This she sent back to me for an amendment, having detected a grave mistake which I had made in the process." –  Yannis Rizos May 23 '12 at 16:27
2  
(cont...) And although it might seem that Babbage is claiming at least some of the credit (which would be fair as the two worked together), he never contested Ada's notes on the memoir, that carried only her name. –  Yannis Rizos May 23 '12 at 16:30
4  
In 1941 Zuse hired a blind mathematician named Arnold Fast to program his computers. This guy was probably the world's first professional programmer. –  Mackie Messer May 24 '12 at 13:48
show 5 more comments

Archimedes could also qualify

Since he is tentatively credited with the creation of the Antikythera mechanism (an example of an early analog computer) some 2000 years ago, at some point he must have made the decision to calculate a particular event.

That act could be thought of as a program, thus he became a programmer.

share|improve this answer
4  
The mechanism is not programmable. –  Oded May 23 '12 at 13:32
4  
Although a connection to Archimedes is implied, the claim that he is "tentatively credited with the creation of the Antikythera mechanism" is quite a bold one (yes, I didn't miss tentatively). –  Yannis Rizos May 23 '12 at 13:56
3  
@Gary: One important distinction for programmability, at least as it's understood today, is that the program exists independent of the hardware. The Antikythera mechanism was "hard-coded" to calculate one thing, but there was no way to input other programs. –  Mason Wheeler May 23 '12 at 14:14
3  
It looks like we're debating more on WHAT IS A PROGRAMMER. Someone who creates a mechanism embedding in it some logic isn't a programmer? I believe he is, you can't say otherwise just because you can't change that logic –  abx78 May 23 '12 at 14:19
3  
I dispute that the Antikythera mechanism was a computer, hence it's not undisputed!! As brilliant a device as it was, it was really just a very clever clock. It's machine fabrication technology was about 500-1000 years ahead of its time, but it was in no way 'programmable'. Clocks are not computers. –  Jim In Texas May 23 '12 at 15:47
show 12 more comments

I think it's hard to say, the algorithm is the base of the programming and the wiki definition about it:

Wikipedia:

"algorithm is a step-by-step procedure for calculations. Algorithms are used for calculation, data processing, and automated reasoning."

so the question is "who was the first person in make an algorithm?" and I guess, we don't know

share|improve this answer
14  
There is more than the algorithm to programming, there is also the idea of expressing it in such a way that it is executable by a machine. –  AProgrammer May 23 '12 at 13:40
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.