Early calculators and Turing's idea
People have always used tools to count: tally sticks, then the abacus. The first mechanical calculators used gears:
- 1642, Blaise Pascal built the Pascaline, a gear machine that could add and subtract to help his father, a tax officer.
- 1670s, Gottfried Leibniz made a machine that could also multiply and divide.
- 1830s, Charles Babbage designed the Analytical Engine, with a store, a calculating unit, and instructions on punched cards. It was never finished, but its plan looks like a modern computer.
- 1843, Ada Lovelace wrote notes that included a step-by-step method for the engine. This is often called the first computer program, and she saw that such machines might work with music or pictures, not just numbers.
- 1936, Alan Turing described the Turing machine, an imaginary machine with a tape and simple rules that can carry out any step-by-step method. It shows what a computer can and cannot do. During the Second World War he also helped break the Enigma code.
First computers and programming languages
In the 1940s, vacuum tubes (glass switches) made electronic computers possible. Colossus (Britain, 1943 to 1944) helped read secret messages. ENIAC (USA, 1945) weighed about 30 tonnes, filled a large room, used about 18,000 tubes and could do thousands of additions each second. It was set by plugging cables, which took days.
John von Neumann and others described the stored-program computer (1945): keep the program in the memory with the data. Small test machines ran in 1948, and from then on changing a program meant changing memory, not wires.
The transistor (1947) replaced the tube, being smaller, cooler and more reliable. The integrated circuit (1958 to 1959) put many transistors on one chip.
Programming languages let humans write in words:
- 1952: Grace Hopper made one of the first compilers (a program that translates code).
- 1957: Fortran for science and maths. 1959: COBOL for business.
- 1964: BASIC for beginners. 1972: C by Dennis Ritchie. 1991: Python. 1995: Java.
Personal computers and the Internet
In 1971 the microprocessor (the whole processor on one chip, Intel 4004) was made. Soon people built home computers: Altair (1975), Apple II (1977), IBM PC (1981). Pictures and a mouse arrived with the graphical user interface, made popular by the Apple Macintosh (1984) and by Windows.
The Internet began with ARPANET in 1969, which linked a few universities. Email appeared in 1971. In 1983 the network adopted TCP/IP, the common rules that let any network join (designed by Vinton Cerf and Robert Kahn). This is the birth of the Internet as a network of networks.
By the 1990s, home internet and then broadband, Wi-Fi (late 1990s) and smartphones (2007) put the network in every pocket.
Databases and the relational model
As computers grew, they stored huge amounts of data. Early systems (1960s) saved data in fixed structures such as trees and links, so programs had to know exactly how it was stored.
In 1970, Edgar Codd at IBM proposed the relational model: keep data in simple tables (rows and columns) linked by keys, and ask questions without saying how to find the data. This led to SQL (early 1970s) and commercial systems like Oracle (late 1970s).
Since the 2000s, websites with enormous data also use other designs (called NoSQL) for speed and size, but tables and SQL are still the base of banks, schools and shops.
Networks and the Web
A network joins computers; the Internet is the global network of networks. The World Wide Web is a service on top of it: linked pages that you open in a browser.
- 1989 to 1991: Tim Berners-Lee at CERN designed HTML (page language), HTTP (how pages travel) and URLs (addresses). The Web opened to the public in 1991.
- 1993: the Mosaic browser put pictures and links in one window. In the 1990s search engines helped people find pages.
- 2000s: social media, video and online shops. 2007 onwards: smartphones and apps. 2010s: cloud computing, where servers in data centres do the work for you.
Remember: Internet = roads and rules; Web = shops and houses you visit using the roads.
Open-source software
Early programs were shared freely among researchers. In the 1980s companies began to sell software and keep the code secret. In 1983 to 1985, Richard Stallman started the GNU project and the Free Software Foundation to protect the right to use, study, change and share code.
In 1991, Linus Torvalds, a student, began Linux, a free operating system kernel. Thousands of people joined in, helped by the Internet. Later projects include Apache (web server), Firefox (browser) and the Android system. Hosting sites such as GitHub (2008) make it easy to work together.
Open source means that the source code is public and a licence lets anyone use and improve it. Benefits: low cost, many eyes to find bugs, learning for students. Today most servers and phones run open-source code.
Key people in computing
| Person | Contribution |
|---|---|
| Charles Babbage | Designed the Analytical Engine (1830s) |
| Ada Lovelace | First published program idea (1843); saw computers beyond numbers |
| Alan Turing | Turing machine (1936); codebreaking; the Turing test (1950) |
| John von Neumann | Stored-program design (1945) |
| Grace Hopper | Early compiler; pushed for programming in English-like words |
| Dennis Ritchie | C language and Unix (1970s) |
| Edgar Codd | Relational database model (1970) |
| Vint Cerf and Bob Kahn | TCP/IP, the Internet's rules (1970s) |
| Tim Berners-Lee | The World Wide Web (1989 to 1991) |
| Richard Stallman and Linus Torvalds | Free software and Linux |
In India, early computing included the TIFRAC machine at TIFR in Mumbai (around 1960), the PARAM supercomputers of C-DAC (from 1991), and a large software and services industry.
Try it: build your own timeline
Take a long strip of paper, 1 cm per 10 years from 1600 to 2020. Mark the ten milestones from the 3D. Which gap is longest? Which is shortest? Ask a grandparent which of these machines they used. Then use the 3D slider and say aloud: is the machine bigger or smaller, and is its power higher or lower, than the one before?
Key formulas and definitions
- 1642 Pascal calculator; 1843 Lovelace; 1936 Turing machine
- 1945 ENIAC (about 30 tonnes, about 18,000 tubes)
- 1947 transistor; 1958 to 1959 integrated circuit; 1971 microprocessor
- 1957 Fortran; 1959 COBOL; 1972 C; 1991 Python
- 1969 ARPANET; 1983 TCP/IP; 1991 World Wide Web opens
- 1970 Codd relational model; SQL early 1970s
- 1991 Linux; open source = public code with a licence to share
- 2007 smartphone era
Worked examples
1. How many years passed between ENIAC (1945) and the IBM PC (1981)?
1981 - 1945 = 36 years.
2. Why is Ada Lovelace called the first programmer?
In 1843 she published a step-by-step method for Babbage's Analytical Engine to compute a series of numbers. This is a program written before any such machine was built.
3. What is the difference between the Internet and the Web?
The Internet is the global network of networks and its rules (TCP/IP). The Web is one service on it: linked pages found with URLs, sent by HTTP and shown in browsers.
4. What problem did the relational model solve?
Earlier databases tied programs to the way data was stored. The relational model keeps data in simple tables, so users can ask what they want without saying how to find it.
5. Name two benefits of open-source software.
Anyone can read and improve the code, so bugs are found faster; and it is usually free, which helps schools and small businesses.
Common mistakes
- Saying ENIAC was the first computer ever. Earlier machines existed, such as Colossus and Babbage's designs; ENIAC was an early large general-purpose electronic computer.
- Mixing up the Internet and the Web. The Web (1991) runs on the Internet (from the 1960s and 70s).
- Thinking open source always means no rules. It has licences that set what you may do.
- Saying Babbage built the Analytical Engine. He designed it, but it was never completed in his lifetime.