The word “computer” was first used in 1613 to describe a human who performed calculations or computations. The definition remained the same until the end of 19th century, when the tech industry gave rise to machines whose primary task was calculating.
There is no easy answer of “when was the first computer invented?” because of many different classification of computers. The first mechanical computing machine was invented by Charles Babbage in 1822. However, it doesn’t really resemble what most people would consider a computer at present.
There are lot of things that we don’t know about the rapid progress of computer development, plus the contributions of many scientists that haven’t been mentioned in our textbooks. Hence, to fill you in with all necessary computer knowledge we have gathered a few notable inventions in computer science, from the first machine to microchip era.
25. First Computer: “Difference Engine” – 1821
Image source: wikimedia
Charles Babbage (also known as Father of Computer) started working on Difference Engine, which is based on the principle of finite differences. It uses only arithmetic addition and removes the need for multiplication and and division which are more difficult to implement mechanically. It was strictly designed to calculate and tabulate polynomial function.
The project was commissioned by the British government, but due to its high production cost, the funding was stopped in the middle and the machine was never completed.
24. First General Purpose Computer: Analytical Engine – 1834
Image source: wikimedia
Charles Babbage conceived a more ambitious machine, the first general purpose programmable computing engine, later called Analytical Engine. It has many essential features found in the modern digital computer. The machine was programmable using punched cards, the engine had a “Store” where numbers and intermediate results could be held, and a separate “Mill” where the arithmetic operations were performed.
The engine was also capable to perform direct multiplication and division, parallel processing, microprogramming, iteration, latching, conditional branching, plus-shaping, though Babbage never used these terms. Unfortunately, like Difference Engine, this machine was also not completed.
23. First Computer Program – 1841
Image source: wikimedia
World’s first computer programmer Ada Lovelace began translating Luigi Menabrea’s (Italian Mathematician) records on Babbage’s analytical engine in 1841. She understood how to make it do the things computers do, and she suggested the data input that would program the machine to calculate Bernoulli numbers.
Ada was a visionary – she knew that numbers could be used to represent more than just quantities. She predicted that machines like Analytical Engine could be used to produce graphics, compose music, and be useful to science.
22. Tabulating Machine – 1884
After graduation from Columbia University School of Mines in 1879, Herman Hollerith collaborated with his former professor, William Trowbridge, who had received a commission as a special agent for the 1880 census. Over the next 10 years Hollerith worked on his idea of a machine punch and count cards. During all this time, he was occupied with the problem of automating the tabulation work of the census. By 1890, he had designed machines to recored statistics by electrically reading and sorting punched cards that had been numerically encoded by perforation position.
The machine was a huge success in the US, but drew more attention in Europe, where it was widely adopted for various statistical purposes. Hollerith organized the Tabulating Machine Company in 1896, incorporated in New York, which later grew into the International Business Machines Corporation.
21. First Analog Computer: Differential Analyzer – 1930
Image credit: wikimedia
Vannevar Bush, MIT engineer developed the first modern analog computer. It was a analog calculator that could be used to solve some specific set of differential equation, a type of problem common in engineering and physics application, which are often very tedious to solve. The machine produced approximate, albeit practical. solutions.
Variables were represented by shaft motion, and multiplication and addition were accomplished by feeding the values into a set of gears. The integration part was done by knife-edged wheel rotating at a variable radius on a circular table. Then individual mechanical integrators were interconnected to solve a set of differential equations.
20. First Working Programmable Computer: Z3 – 1941
Konrad Zuse (inventor and computer pioneer) designed the first serious of Z computer in 1936. Z1 was completely mechanical and only worked for a few minutes at a time at most. It works on Boolean operations and flip-flops on the basis of vacuum tubes. The use of different technology – relay led to Z2 and eventually Z3.
The Z3 was built with 2000 relays, implementing a 22-bit length. Constant data and program code were stored on punched film, thus no rewiring was necessary to change programs. Z3 was a secret project of the German government, put to use by The German Aircraft Research Institute in order to perform statistical analyses of wing flutter. The original machine was destroyed in 1943 during an allied bombardment of Berlin.
19. First Electronic Computer: ABC – 1942
Atanasoff-Berry Computer (ABC) was designed and built by John Vincent Atanasoff and his assistant, Clifford E. Berry. It was the first machine to use capacitors for storage, as in current RAM, and was capable for performing 30 simultaneous operations.
ABC was designed to solve systems of linear equation and was capable of solving systems with up to 29 unknowns. The computer was not programmable, however, it pioneered some important elements of modern computing, including binary arithmetic and electronic switching elements.
18. First Programmable Computer: Colossus – 1943
Colossus was the world’s first electronic, programmable computer created by Tommy Flowers. It was used by British to read secret German messages (encrypted by the Lorenz cipher) during World War II. The Colossus was not supposed to decrypt all of a message. It just found close settings for the Lorenz machines. The idea was that the frequencies of letters and numerals in German message would give a start to translating the message itself.
Until the 1970s these computer were very secret. After the war all Colossus were broken into bits and designs were destroyed. No one knew the first people to make Colossus. Then a working prototype was made in 2007.
17. The First Computer Network – 1940
Between 1940 and 1946 George Stibitz and his team developed a series of machines with telephone technologies – employing electromechanical relays. These machines served more than one user. Soon they became obsolete because they were based on slow mechanical relays rather than electronic switches.
Today, the dominant basis of data communication is Packet Switching: the ARPANET (Advanced Research Projects Agency Network) was an early packet switching network and the first network to implement the protocol suite TCP/IP (in 1982). Both became the technical foundation of the Internet.
16. First Trackball – 1941/1952
A related pointed device called trackball was invented in 1941 by Ralph Benjamin for fire-control radar plotting system named Comprehensive Display System(CDS). Benjamin’s previous project used analog computer to measure the future position of target aircraft based on various input points entered by a user with a joystick. He realised that more efficient input device was needed and invented what they called a roller ball for this purpose. This new device had a ball to control the X-Y coordinates of a cursor on screen. It was patented in 1947 and was kept as a military secret.
Another early trackball, DATAR was built in 1952 by British electrical engineer Kenyon Taylor along with his coworkers Fred Longstaff and Tom Cranston. It was similar in concept to Benjamin’s device. The trackball used 4 disks to pick up motion, 2 each for the X and Y coordinates. A digital computer calculated the tracks, and transferred the resulting data to other ships in a task force using pulse-code modulation radio signals. The design was not patented, as it was a secret military project as well.
15. First General Purpose Programmable Electronic Computer: ENIAC – 1946
Electronic Numerical Integrator And Computer (ENIAC) was Turing-complete, digital machine that could solve a wide range of numerical problems through reprogramming. It was primarily used to calculate artillery firing tables, and helped with computations for the feasibility of the thermonuclear weapon.
By the end of its operation (1955), ENIAC contained 7200 crystal diodes, 17468 vacuum tubes, 10000 capacitors, 70,000 resistors and over 5 million hand-soldered joints. It was roughly 8 x 3 x 100 feet in size, weighted 30 tons, and consumed 150 kW of electricity. It used card readers for input and card punch for output. The computer had a speed on the order of one thousand times faster than that of electro-mechanical machines.
14. First Complete High-Level Language: Plankalkül – 1948
The German computer scientist Konrad Zuse, creator of the first relay computer, started working on high level programming language in 1941. He developed ideas as to how his machines (Z4 computer) could be programmed in a powerful way.
The Plankalkül is a typed high-level imperative programming language with a wide range of features like non-recursive functions, local variables, assignment operation, conditional statement, WHILE construct for iteration, logical operation, fundamental data types and more. Plankalkül was eventually comprehensively published in a 1972 paper, while the first compiler for it was built as late as in 1998.
13. First Stored-Program Computer Electronic Digital: SSEM -1948
SSEM (Manchester Small-Scale Experimental Machine), nicknamed Baby, executed its first program on 21st June 1948. The program was written by Tom Kilburn, who actually built this computer, and designed by his mentor Frederic Williams. It was the first working machine to contain all the modules essential to a modern computer.
SSEM contained a 32-bit word length, single address format order code, a memory of 32 words, and computing speed of around 1.2 milliseconds per instruction. The bit was stored in the form of a charge on the CRT phosphor that could be controlled by an electron beam to write 1 or o. All arithmetic operations were implemented in software except subtraction and negation.
12. First Assembler: Initial Orders – 1949
Assembler interprets software programs written in assembly language into machine code and instructions that could be executed by computer. The first assembler was designed for EDSAC (Electronic Delay Storage Automatic Calculator).
Initial orders (written by David Wheeler) had 31 instructions, which were hard wired on uniselectors, a mechanical read-only memory. The second version of initial orders occupied the full 41 words of read-only memory and included facilities for relocation (or coordination) to facilitate the use of subroutines.
11. First Personal Computer: Simon – 1950
Edmund Berkeley’s Simon was a relay-based computer, designed for the educational purpose of demonstrating the concept of digital computer. The user entered data via punched paper, or by five keys on the front panel, and the program ran from a standard paper tape. The ALU and registers stored only 2 bits and that’s the reason it could not be used for any significant practical computation.
Along with the data entry, punched tape served for memory storage. Simon executed instruction in sequence, as it read them from the tape. It could perform 4 operations: addition, negation, greater than, and selection. The output was provided by five lamps.
10. First Real-Time Graphics Display Computer: AN/FSQ-7 – 1951
The AN/FSQ-7, developed by IBM, was by far the largest computer ever built. It consisted 2 Whirlwind II computer installed in a 4-story building. It was a control and command system used in the USAF Semi-Automatic Ground Environment (SAGE) air defence network. It calculated one or more predicted interception points for assigning aircraft or CIM-10 Bomarc missiles to intercept an intruder using the ATABE (Automatic Target and Battery Evaluation) algorithm.
The AN/FSQ-7 had more than 60,000 vacuum tubes, used up to 3 megawatts of electricity, performing 75,000 instruction per second for networking regional radars. Each AN/FSQ supported more than 100 users. IBM used to keep one unit operating and one on hot standby (to allow for switchover when vacuum tubes failed), which resulted in better than 99% uptime.
9. First Compiler for Electronic Computer: A-0 System – 1951
A compiler is a special program that converts high-level language into machine code. Grace Hopper wrote the arithmetic language version 0 (or A-0 system) for UNIVAC I, which aims to convert a sequence of subroutines and arguments into machine code.
The subroutines were identified via a numeric code and the arguments were integrated directly after each subroutine code. The A-0 turned these specification into machine language that could be fed into the computer a second time to execute the said program.
8. First Open Source Software: A-2 System – 1953
Grace Murray Hopper at the UNIVAC keyboard
The A-0 system later evolved into A-2, released as ARITH-MATIC. It was developed at the UNIVAC division of Remington Rand and released to customers by the end of 1953. Users were provided the source code for A-2 and invited to send their enhancements back to UNIVAC.
7. First Autocode: Glennie’s Autocode – 1952
In the 1960s, the term autocode was used more generically as to refer to any high-level programming language using a compiler. Alick Glennie developed the first autocode for the Mark 1 computer at the University of Manchester. It is considered to be the first compiled programming language.
Glennie’s primary goad was to make the abstruse code of Mark 1 machine comprehensible. Although the resulting language was much organized and clearer than the machine code, it was still very much machine dependent.
The second autocode for the Mark 1 was developed by R.A Brooker in 1955. Unlike the first one, it was almost machine-independent and had floating-point arithmetic. However, it allowed only one operation per line, and it had no way to define user subroutines.
6. First Popular High-Level Language: FORTRAN – 1957
FORTRAN code on a punched card
FORTRAN (FORmula TRANslator) was created by a team lead by John Backus at IBM. It came to dominate the area of programming early on and had been in use for over half a century in scientific and engineering area such as computational fluid dynamics, finite element analysis, computational chemistry and computational physics.
The objective during Fortran’s design was to create a language that would by easy to learn, machine independent, suitable for a wide variety of applications, and would allow complex mathematical expressions to be stated similarly to regular algebraic notation. Since it was easier to code, programmers were able to write code 5 times faster than before, while execution efficiency was only reduced by 20%.
5. First Computer Mouse – 1964
The computer mouse as we know today is was invented by Douglas Engelbart with the assistance of Bill English, and was patented on 17th November, 1970. It was just a tiny piece of a much larger project, aimed at augmenting human intellect. Engelbart required the ability to interact with information display using some sort of machine to move a cursor on the screen. There were already different devices then in use, including light pen and joysticks. He was however looking for the most efficient device.
The first prototype of the mouse was made to use with a graphical user interface (GUI), windows. It was referred as “X-Y Position Indicator for a Display System” and was first used with the Xerox Alto computer system in 1973.
It is quite strange that the inventor of one of the most popular computer interface devices didn’t received any royalties for his mouse invention. He got the patent as an assignor of SRI, and SRI licensed it to Apple for around $40,000, which was ridiculous. Douglas received nothing!
4. First Touchscreen – 1965
E.A Johnson described his work on capacitive touchscreen (with no pressure sensitivity) in an article – “Touch display – a novel input/output device for computers”. In that article there was a diagram that described a touchscreen concept that is still in use today.
A couple of year later, Johnson detailed the concepts even further with photos and more diagrams in “Touch Displays: A Programmed Man-Machine Interface”, which was published in Ergonomics journal in 1967. The idea was adopted for use by air traffic controllers in the United Kingdom until the 1990s. Furthermore, the first resistive touchscreen was developed by George Samuel Hurst (American innovator), who got US patent #3911215 in 1975.
3. First Commercial Personal Computer: Programma 101 – 1965
Programma 101 could perform basic four arithmetic function (addition, subtraction, multiplication division), calculate absolute value, square root and fractional part. It consisted memory registers, and featured 16 conditional jump instruction, an alphanumeric programming language, and an internal memory. Magnetic cards and routines could be used without programming knowledge. The machine printed programs and results onto a roll of paper tape, similar to cash register paper and calculator.
Earlier computer were expensive and could only be used by experts. However, P101 was economical as well as easy. It was priced at $32,000 and managed to sell over 44,000 units.
2. First Object Oriented Programming Language: Simula – 1967
Simula is developed by Ole-Johan Dahl and Kristen Nygaard at the Norwegian Computing Center. It’s retains the spirit of ALGOL 60 programming language. Simula is the name of two simulation languages – Simula I and Simula 67.
Simula 67 introduced objects, classes, subclasses, inheritance, virtual procedures, coroutines and garbage collection feature. It had been used in wide range of applications, including process modelling, algorithms, VLSI design and computer graphics. The concept of Simula 67 is reimplemented in C++, C#, pascal, Java and more.
1. First Microprocessor: Intel 4004 – 1971
The chip design was started in April 1970, and it was completed under the leadership of Federico Faggin in January 1971. Smaller than a human thumbnail, the 4-bit register with a clock speed of 740 kHz, had 2300 transistors with 10-micron spacing, capable of performing 60,000 operations per seconds, and costs $200, while having as much computing power as the ENIAC computer. Busicom calculator 141-PF was the first commercial product to use a microprocessor.
The Intel 4004 uses separate program and data storage (contrary to Harvard architecture designs), single multiplexed 4-bit bus for transferring 12-bit address, 8-bit instruction and 4-bit data words. It is able to directly address 5120 bits of RAM, 32768 bits of ROM and supports 3 level deep internal subroutine stack.