National Inventors Month: The Greatest Inventions in Computer Programming
What are the greatest inventions in programming ? Who first invented programming? What was the first computer? What were the first programming languages? Keep reading to find out.
Since August 1998, the United Inventors Association of USA (UIA-USA), Inventors Digest, and the Academy of Applied Sciences have celebrated August as National Inventors Month.
To commemorate National Inventors Month, we have curated a list of the most remarkable inventions in computer programming. Find the ten most crucial computer programming inventions, their inventors, and their significance in this post.
Greatest inventions in computer programming
Far ahead of their times, these inventions paved the way for modern computing. Our modern computers, software, and devices would not exist without them. We rely on these technologies, often unaware of their rich history and the inventors that created them.
- Konrad Zuse: First working programmable computer – Z3 (1941)
Konrad Zuse, a German engineer and computer scientist, developed the mechanical computer Z1 in 1936. Perfecting the design further with Z2, Zuse created the first working programmable computer, Z3, in 1941.
Z3 was the world’s first fully-automatic digital computer. The Z3 was built with 2600 relays and had a clock frequency of 5 to 10 Hertz. The initial values were entered manually, and the program was stored on a punched celluloid tape.
The original Z3 was never put to use and was destroyed on 21 December 1943 by the Allied Bombing in Berlin. The Z3 could perform addition in 0.8 seconds, multiplication in 3 seconds, and had a weight of around 1 tonne.
Related Post: 5 Things Alan Turing Taught Us About Problem Solving
- John Vincent Atanasoff and Clifford Berry: First electronic computer – Atanasoff Berry Computer (ABC) (1942)
John Vincent Atanasoff, an Iowa State College professor, teamed up with Clifford Berry, a graduate student, to invent the first automatic electronic digital computer, ABC. The Atanasoff Berry computer was neither programmable nor Turing-complete. But the ABC was the first ever ALU (arithmetic logic unit) that is an integral part of modern processors.
As the first computer to use vacuum tubes for calculations, ABC made computing faster than electro-mechanical computers. The ABC was designed to solve problems of linear equations. The computer had some of the main elements of modern computing, such as binary arithmetic and electronic switching elements.
- Tommy Flowers: First programmable electronic computer – Colossus (1943)
Thomas Harold Flowers, a British engineer, created the Colossus in 1943. As the first programmable electronic computer, Colossus decrypted German messages of the Lorenz cipher. The Colossus offered a strategic advantage to British intelligence during World War 2.
Colossus used thermionic valves (vacuum tubes) to perform Boolean counting operations. The Colossus was programmed with electronic switches and plugs. Colossus reduced the time required for decrypting messages from weeks to hours.
- John Mauchly and J. Presper Eckert: First general-purpose programmable electronic computer – ENIAC (1945)
American physicist John Mauchly and electrical engineer J. Presper Eckert developed the first programmable, electronic, general-purpose digital computer in 1945. The United States Army funded the Electronic Numerical Integrator And Computer (ENIAC) to calculate artillery firing tables for the Ballistic Research Facility.
ENIAC was a large modular computer with branching capabilities and memory for 10-digit decimal numbers. ENIAC was 101000 times faster than electro-mechanical machines then, with programmability as an added advantage. ENIAC calculated ballistic trajectories within 30 seconds, which required 20 hours for a human.
- Frederic C. Williams and Tom Kilburn: First stored-program computer – Small-Scale Experimental Machine (SSEM) (1948)
British engineer Sir Frederic C. Williams, English mathematician Tom Kilburn and electrical engineer Geoff Tootil developed SSEM, the first computer featuring a stored program, in 1948. The Small Scale Experimental Machine (SSEM) overcame the shortcomings of delay-line memory, using the first random-access digital storage device: the Williams tube. Binary programs were fed into SSEM that used 32 switches as input.
The SSEM was called Manchester Baby, as it was built at the University of Manchester. It used a standard Cathode Ray Tube (CRT) as the analog display output. The Manchester Baby had a word length of 32 bits and a total memory of 32 words or 1 kilobit (1024 bits).
- Edmund Berkeley: First personal computer – Simon (1950)
American computer scientist Edmund Callis Berkeley, with help from two grad students at Columbia University, built the first personal computer Simon. The Simon used punched paper or five keys on the front panel as input and five lights as output. Simon could perform four operations: addition, negation, greater than, and selection, with only two bits of memory.
The punched paper also served as memory storage. Simon’s program used relay logic architecture and operated on paper tape. This computer was useful as an educational demonstration of digital computers.
The invention of programming languages
- John Backus: First high-level programming language – FORTRAN (1954)
American computer scientist John Backus invented FORTRAN, the first general-purpose, high-level programming language. FORTRAN is a compiled, multi-paradigm imperative programming language ideal for scientific computing and numerical computation. FORTRAN was originally developed by IBM.
The name FORTRAN stands for Formula Translating System. This programming system simplified the process of writing programs. FORTRAN greatly reduced the number of programming statements required to run a machine.
Related Post: 8 In-Demand Programming Languages to Learn in 2022
- Ole-Johan Dahl: First object-oriented programming language – Simula (1967)
Ole-Johan Dahl and Kristen Nygaard updated Simula 1 to create Simula 67. Simula 67 became the first programming language to have a system of objects, classes, and subclasses. Simula 67 introduced inheritance, virtual procedures, coroutines, garbage collection, discrete event simulation, and subtyping.
Simula 1 was designed for performing simulations and Simula 67 was a general-purpose programming language. Simula has been a major influence on almost all modern programming languages. Simula is used even today for simulating VLSI designs, communication protocols, process modeling, algorithms, and other applications.
Related Post: Top Object-Oriented Programming Languages to Learn in 2022?
- Bjarne Stroustrup: High-level multi-paradigm OOP – C++ (1985)
The Danish computer scientist, Bjarne Stroustrup, invented C++ as a high-level, multi-paradigm, object-oriented programming language. C++ was developed for embedded systems and system programming, focusing on efficiency, flexibility, and performance.
Even today, C++ is a very popular coding language with many applications. C++ is used for desktop applications, servers, video games, space probes, and more.
C++ features four types of memory management, polymorphism, encapsulation, operators, operator overloading, and more.
Invention of microprocessors
- Fredrico Faggin: First microprocessor – Intel 4004 (1971)
Italian engineer Fredrico Faggin and his team developed the first microprocessor Intel 4004, in 1971. The Intel 4004 had 2300 transistors with 10 microns spacing into a 12 square millimeter chip. This microprocessor had a maximum clock speed of 740 kHz.
The Intel 4004 could perform more than 60,000 operations per second. The Busicom 141-PF calculator was the first device to use this microprocessor. Intel 4004 was the first noteworthy example of large-scale integration (LSI) and featured MOS silicon gate technology (SGT).
How have inventions in computer programming paved the way for modern computing?
Through innovation and research, computer scientists improved the performance, efficiency, and computing power of these devices. The majority of modern computer-like devices have roots in the inventions mentioned above. The programming languages we use nowadays are derived from these first programming languages.
The improvements made it possible to create modern computers, mobiles, and even the supercomputers we use today. The rich history and science of these technological marvels inspires researchers, hardware and software developers. This National Inventors Month, Turing hopes to inspire software developers to pioneer, excel, and innovate in their field.
Are you a software developer looking for a job? Try Turing.com. Turing offers high-paying remote software development jobs for developers with 3+ years of experience. Visit the Apply for Jobs page to learn more.
- What was the first computer?
Charles Babbage and Ada Lovelace developed the first computer: The ENIAC, the Colossus, the SSEM, the ABC, and the Z3 were the first computers in their unique ways.
- What was the first programming language?
Konrad Zuse’s ‘Plankalkül’ was the first high-level programming language. However, it did not become famous in the mainstream computer industry. FORTRAN was the first commercially available programming language with many practical applications.
- When were computers invented?
Even though Charles Babbage conceived the world’s first computer in 1822, it was not completely built until 1991. Some of the earliest computers were ENIAC (1945), Colossus (1943), Manchester Baby (1948), and Micral N (1973).
Join a network of the world's best developers and get long-term remote software jobs with better compensation and career growth.