How did software start?

Before a computer was a machine, it was a job. People sat at desks and did sums all day. I wanted to know who wrote the first instructions for the machines that took over, and who has written them since.

Women at desks analysing astronomical data at Harvard College Observatory, around 1890
Computers at work at Harvard College Observatory, around 1890. Harvard University Archives.

Computers were people.

For a long time, "computer" was a job title. You sat at a desk and worked out tables by hand, like where the moon would be on a given night, or how long a 40-year-old could expect to live.

Sailors steered by these tables. Insurers priced policies with them. And they were full of mistakes, because people get sums wrong when they do them all day.

In 1834 a writer picked 40 volumes of tables at random and added up the mistakes listed in their own corrections pages. The total came to more than 3,700. One almanac had to print a correction to its corrections to its corrections: an "Erratum of the Erratum of the Errata".

At Harvard's observatory in the 1880s and 1890s, most of the computers were women. They measured stars on thousands of glass photographs. Two of them, Williamina Fleming and Annie Jump Cannon, ended up sorting more stars than anyone alive.

The Harvard computers posed outside the observatory
The Harvard computers. Harvard College Observatory, public domain.

"By steam."

"I wish to God these calculations had been executed by steam."Charles Babbage, remembering 1821. He and his friend John Herschel were checking hand-made tables and kept finding mistakes. Herschel said: "It is quite possible."
Babbage's Difference Engine No. 2 at the Science Museum, London
Difference Engine No. 2, built from Babbage's drawings. Science Museum, London. Photo: Matt Brown, CC BY 2.0.

So Babbage designed a machine to do the sums and print the answers itself. No copying meant no copying mistakes. The government put in about £17,000, which would have bought 22 new railway engines. Babbage put in his own money too.

Work stopped in 1833 and the machine was never finished. In 1991 the Science Museum in London built his second design from his drawings. It worked.

The instructions were on cards.

The idea of a machine following instructions came from weaving. From 1804, Joseph-Marie Jacquard's looms in France read chains of punched cards. A hole meant lift this thread. No hole meant leave it. Change the cards and the same loom wove a different pattern.

Try it. Click the holes in the card and the cloth changes.

Each row of cloth is your card, moved along one hole.
A portrait of Joseph-Marie Jacquard woven in silk on a Jacquard loom
A portrait of Jacquard, woven in silk from thousands of punched cards. Babbage owned one. Public domain.
Portrait of Ada Lovelace
Ada Lovelace, by Alfred Edward Chalon, around 1840. Public domain.

Babbage's next machine, the Analytical Engine, would have read cards too. In 1843 Ada Lovelace, who was 27, translated an article about it. Then she added her own notes, three times longer than the article.

In the last one, Note G, she wrote out step by step how the engine would work out a series called the Bernoulli numbers. It's usually called the first published computer program. The computer didn't exist yet, and it never did.

"It can do whatever we know how to order it to perform."Ada Lovelace, Note G, 1843

The census couldn't wait.

America counts its people every ten years. By 1880 there were so many of them that counting by hand took most of a decade. The 1880 count wasn't finished until 1887, so the next one was going to run into the one after it.

Herman Hollerith, a 30-year-old engineer, said his idea came from train conductors. They punched holes in tickets to describe the passenger. He put each person on a punched card and built a machine that counted the holes with electricity.

The 1890 count finished months early.

A Hollerith electric tabulating machine
A Hollerith tabulating machine, 1902. U.S. Census Bureau, public domain.

Hollerith started a company to rent the machines out. In 1911 it merged with a few others, and in 1924 the new company renamed itself International Business Machines, or IBM.

One machine that could be any machine.

In 1936 Alan Turing was 23 and a fellow at King's College, Cambridge. He was working on a maths question: can every problem be settled by following fixed rules? To answer it he imagined a machine, and he based it on a person doing sums at a desk.

"We may compare a man in the process of computing a real number to a machine which is only capable of a finite number of conditions."Alan Turing, On Computable Numbers, 1936
Portrait of Alan Turing
Alan Turing in 1951. Elliott & Fry, public domain.

His machine reads one symbol at a time off a strip of paper. It writes a symbol or rubs one out, then moves along, following a table of rules. Then he showed something odd. Write one machine's rules on another machine's paper, and the second one can do the first one's job.

That's how every computer since works. You have one machine, and the program is just more stuff you feed it.

After the war Turing worked on the Manchester computer and wrote its programming manual. In 1952 he was convicted of gross indecency for a relationship with a man. He died in 1954, aged 41.

The war needed answers in seconds.

Every gun the US Army shipped needed a firing table, a booklet telling the crew how to aim for a given distance, wind and height. Each one held thousands of shell paths. The army hired dozens of women with maths degrees in Philadelphia to work them out on desk calculators.

They couldn't keep up, so the army paid the University of Pennsylvania to build ENIAC.

Six of the women were picked to program it: Kay McNulty, Jean Jennings, Betty Snyder, Marlyn Wescoff, Frances Bilas and Ruth Lichterman. They were 21 to 28. There was no programming language and no manual. Programming ENIAC meant plugging cables and flipping switches across a machine the size of a room, and they learned how from the wiring diagrams.

Two women setting up ENIAC, among its panels and cables
Two of the programmers at ENIAC's panels, Philadelphia. U.S. Army photo, public domain.

On 15 February 1946 ENIAC was shown to the press. It ran a shell path the six had set up. Nobody introduced them, and they weren't invited to the dinner that night either.

The rebuilt Colossus computer at Bletchley Park
The rebuilt Colossus at Bletchley Park. Photo: Ian Petticrew, CC BY-SA 2.0.

In Britain the war built Colossus at Bletchley Park, to break German codes. It stayed secret until the 1970s. The people who ran it couldn't tell their own families what they'd done.

The program moved inside the machine.

Changing ENIAC's job meant pulling cables out and plugging them back in, which could take days. The fix was to keep the instructions in the machine's memory, next to the numbers. Then a new program was just new numbers.

On 21 June 1948 a small machine in Manchester, nicknamed the Baby, became the first to run a program stored that way. Within days it ran the one it's remembered for.

52 minhow long it ran
2.1 millioninstructions it carried out
131,072the answer

It was finding the biggest factor of 218. The question was dull on purpose, because the answer was easy to check. Tom Kilburn and Geoff Tootill, who built it with Freddie Williams, were both 26.

A replica of the Manchester Baby computer
A working replica of the Manchester Baby at the Science and Industry Museum, Manchester. Photo: Logg Tandy, CC BY 4.0.
A page of the Harvard Mark II logbook with a moth taped to it
The Harvard Mark II logbook, 9 September 1947, with the moth taped in. Naval Surface Warfare Center, public domain.

Some faults weren't in the program at all. In 1947 Grace Hopper's team at Harvard found a moth stuck in a relay of their machine. They taped it into the logbook: "First actual case of bug being found." People already called faults bugs. That's why it says actual.

In 1949 Maurice Wilkes, who ran the EDSAC computer at Cambridge, saw what the job was going to be like: "a good part of the remainder of my life was going to be spent in finding errors in my own programs."

The word software first turned up in print in 1958, in a maths journal. It meant everything a computer needed that wasn't the machine. For years it came free with the computer. In 1969 IBM started charging for it, and software became something you could sell.

Software became a job, then a factory.

In 1956 General Motors and North American Aviation were renting time on the same IBM computer. They wrote a program to run it between jobs so it never sat idle. It's counted as the first operating system. Its author planned it with Gantt charts, the same charts GM used to lay out its car production lines. About forty IBM 704s ended up running it.

An IBM 704 computer room, with operators at the console and tape drives
An IBM 704 at NASA's Langley centre, 1957. NASA, public domain.

In 1957 IBM's ten-person FORTRAN team, including Lois Haibt, who was 22, worked nights because that's when the computer was free. They slept in rooms they rented at a hotel on 56th Street.

Grace Hopper had written a compiler back in 1952. Nobody wanted it.

"I had a running compiler and nobody would touch it. They told me computers could only do arithmetic."Grace Hopper, in a later interview. She went on to lead the work that became COBOL. The Navy kept calling her back until she was 79.
Official portrait of Grace Hopper in naval uniform
Grace Hopper in 1984. U.S. Navy, James S. Davis, public domain.
Katherine Johnson at her desk at NASA Langley
Katherine Johnson at NASA Langley, 1966. NASA, public domain.

People still checked the machines. In 1962, before John Glenn flew around the Earth, he asked for Katherine Johnson, one of NASA's human computers, to check the electronic computer's numbers by hand. "If she says they're good," he said, "then I'm ready to go."

By the 1960s software had got big. IBM's operating system for its new computers, OS/360, had more than 1,000 people on it at once. Fred Brooks ran it, and he was 32. Later he wrote a book about why it was late.

"Adding manpower to a late software project makes it later."Fred Brooks, The Mythical Man-Month, 1975
Margaret Hamilton standing next to a stack of printed Apollo program listings as tall as she is
Margaret Hamilton with the Apollo guidance software listings, 1969. MIT, public domain.

At MIT, Margaret Hamilton led the team that wrote the software that flew Apollo to the moon. In the famous photo, the printouts of the code are as tall as she is. She was 32 when Apollo 11 landed. She died on 30 September this year, aged 90.

People started to see what they were doing.

Until the 1960s you handed your program in on punched cards and came back later for a printout. In 1963 Ivan Sutherland, a 24-year-old PhD student at MIT, wrote Sketchpad. You drew on a screen with a light pen, and the computer kept your drawing as shapes you could move and copy. His thesis called it a way for "a man and a computer to converse rapidly through the medium of line drawings."

On 9 December 1968 Douglas Engelbart, 43, sat on a stage in San Francisco in front of about 1,000 people. He was using a computer back in his lab in Menlo Park, through two home-made modems. He showed them a mouse, links you could click, text you could edit on a screen, and a colleague on video working in the same file. Bill English, 39, built the mouse and ran the show.

Douglas Engelbart at a desk with a keyboard and mouse, 1968
Engelbart at his lab's workstation, 1968. SRI International, CC BY-SA 3.0.
A Xerox Alto computer with its upright screen, keyboard and mouse
A Xerox Alto. The screen is the shape of a page. Photo: Joho345, public domain.

In the 1970s Engelbart's lab lost money and people, a lot of them to Xerox's lab in Palo Alto. There, in 1973, Chuck Thacker, 30, built the Alto. It was a computer for one person, with a mouse and an upright screen. Alan Kay, 32, Adele Goldberg, 27, and Dan Ingalls wrote Smalltalk for it, with windows that sat on top of each other like papers on a desk.

Steve Jobs asked to see it. Goldberg said no, until her bosses made her.

Software went home.

By the mid-1970s you could buy a computer small enough for a desk, as a kit. Gary Kildall, who taught at the Naval Postgraduate School in Monterey, wrote an operating system for them on his own and called it CP/M. His wife, Dorothy McEwen Kildall, ran the business. They sold it from a house on Lighthouse Avenue in Pacific Grove.

In 1975 Bill Gates, 19, Paul Allen, 22, and Monte Davidoff, a Harvard first-year, wrote BASIC for a kit computer called the Altair. People copied it. The next year Gates wrote them a letter.

"As the majority of hobbyists must be aware, most of you steal your software."Bill Gates, An Open Letter to Hobbyists, 3 February 1976

In 1979 Dan Bricklin, 28, and Bob Frankston, 30, released VisiCalc, the first spreadsheet for a personal computer. Bricklin got the idea in a class at Harvard Business School, and they wrote it in about two months over the winter. Frankston called it a "magic sheet of paper that can perform calculations and recalculations". This site is named after spreadsheets, so I'm biased, but it's my favourite idea on the page.

In 1980 IBM came to Digital Research. It wanted an operating system for the personal computer it was building. Before saying why they'd come, IBM's people wanted a secrecy agreement signed. Dorothy wouldn't sign it without Gary, because their lawyer had told her not to.

Stories about the rest of that afternoon don't match. Either way, IBM went to Microsoft, and Microsoft bought a system Tim Paterson, 24, had written in about two months at Seattle Computer Products. It paid $75,000 for it. In August 1981 the IBM PC came out running it.

An IBM PC 5150 with its monitor and keyboard
The IBM PC, 1981. Photo: Wikimedia Commons, CC BY-SA 3.0.

The Macintosh came out in January 1984. Susan Kare, 29, drew its icons and fonts. Andy Hertzfeld, 30, wrote much of the system, and Bill Atkinson, 32, wrote the graphics code and MacPaint. A year before launch, when the team wanted more time, Steve Jobs told them: "Real artists ship." Atkinson died in June 2025.

"Vague but exciting."

In March 1989 Tim Berners-Lee, a 33-year-old software engineer at CERN, the physics lab outside Geneva, gave his boss a proposal. It was a way to link documents across the lab's computers so people could find things. His boss, Mike Sendall, wrote on the cover: "Vague but exciting". Then he let him build it.

By the end of 1990 the first web server and browser were running on a NeXT computer at CERN. It had a note stuck on the front.

The NeXT computer used as the first web server, with a handwritten label on it
The first web server. The note says "This machine is a server. DO NOT POWER IT DOWN!!" Photo: Coolcaesar, CC BY-SA 3.0.

That browser only ran on NeXT computers, and hardly anyone had one. Nicola Pellow, a maths student on placement at CERN, wrote one that just showed text, line by line. It ran on nearly anything, including old terminals that printed on paper.

In January 1993 Marc Andreessen, 21, and Eric Bina, 28, at the University of Illinois released a browser called Mosaic. Andreessen's announcement started: "By the power vested in me by nobody in particular". The next year he left to start Netscape. In May 1995 Netscape hired Brendan Eich, 33, who wrote the first version of JavaScript in ten days. Your browser is running it right now.

A window of the NCSA Mosaic web browser showing a page
NCSA Mosaic. Screenshot: Charles Severance, CC0.

In 1998 two Stanford PhD students, Larry Page, 25, and Sergey Brin, 24, published the paper behind Google. At the back there's a warning about search engines paid for by ads: "we expect that advertising funded search engines will be inherently biased towards the advertisers and away from the needs of the consumers."

Most of it was started by a few people in a room.

Here are the big ones from 1969 on, counted the same way. One dot is one person. The rooms stay small for a long time, and then the AI papers arrive.

Ken Thompson and Dennis Ritchie in 1973
Ken Thompson and Dennis Ritchie, who wrote Unix, in 1973. Public domain.

Then you could ask in English.

For seventy years, telling a computer what to do meant learning its language. First cables and switches, then FORTRAN, then C, then JavaScript.

On 30 November 2022 OpenAI put out ChatGPT, which it called a research preview. You could just type to it in English. It had a million users in five days, and the people who made it had expected far less.

"We didn't want to oversell it as a big fundamental advance."Liam Fedus, who worked on ChatGPT, to MIT Technology Review, March 2023. John Schulman, who led the work, said in the same piece: "I didn't expect it to reach this level of mainstream popularity."

In February 2025 Andrej Karpathy, one of OpenAI's founders, gave a name to what a lot of people had started doing: "There's a new kind of coding I call 'vibe coding', where you fully give in to the vibes, embrace exponentials, and forget that the code even exists."

Lovelace wrote her program as a table, because there was no other way to write one. Plenty of programs now start as a paragraph someone typed to a model, and the model writes the code.

How old are you?

The young ones get the headlines. Plenty of people on this page were older. Type your age to see who did it at your age, or later.

In August 1991 a 21-year-old student in Helsinki posted a note to a newsgroup. He was writing an operating system on his own PC.

"Just a hobby, won't be big and professional like gnu."Linus Torvalds, 25 August 1991

Get the next one.

One story like this a week, by email. You can leave any time.