15

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.

5
  • 11
    Define programming precisely enough so that we know if we have to consider things like preparing tapes for Jacquard's loom or not. May 23, 2012 at 13:44
  • The first one ever to write code :)))
    – Songo
    May 23, 2012 at 14:31
  • 1
    I vote for counting Jacquard. May 23, 2012 at 17:44
  • 2
    Related question: Who was the first software engineer
    – Spoike
    May 24, 2012 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, 2012 at 14:16

2 Answers 2

58

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)

11
  • 9
    'Brogrammers' is a load of crap dreamed up by bloggers.
    – Alan B
    May 23, 2012 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
    May 23, 2012 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
    May 23, 2012 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
    May 23, 2012 at 16:30
  • 5
    In 1941 Zuse hired a blind mathematician named Arnold Fast to program his computers. This guy was probably the world's first professional programmer. May 24, 2012 at 13:48
12

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.

17
  • 5
    The mechanism is not programmable.
    – Oded
    May 23, 2012 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
    May 23, 2012 at 13:56
  • 4
    @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. May 23, 2012 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, 2012 at 14:19
  • 4
    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. May 23, 2012 at 15:47

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