Introduction
Computer is a digital electronic machine that can be programmed to execute a sequences of arithmetic or logical operations (computation) automatically.
In pre-20th century Abacus, Napier's Bones, Pascaline, Leibnitz wheel have been used for simple computation.
Later in 1820s Charles Babbage designed Difference Engine which runs on steam power and it was used to solve tables of numbers like logarithm tables, and in 1830 he developed Analytical Engine, it was the mechanical general-purpose computer, it reads input from punch-cards, solve mathematical problem and stores information in memory. Ada Lovelace is considered the world's first programmer and she came up with an algorithm that would calculate bernoullie numbers that was designed to work with Babbage's Analytical Engine.
Herman Hollerith designed electromechanical Tabulating Machine, it was used to read U.S. Census data from punch-cards and tally the results, his company eventually became International Business Machine (IBM).
Alan Turing invented Turning Machine in 1936, it was capable of computing anything that is computable. Turing machine has a tape of infinite length on which it can perform read and write operations. It is a general example of a central processing unit (CPU) that controls all data manipulation done by a computer.
Konrad Zuse designed electromechanical computer in 1941, The Z3 was the world's first working programmable, fully automatic digital computer.
Howard Aiken in collabration with IBM developed Automatic Sequence Controlled Calculator (ASCC) it was also called as Harvard Mark I, programmable calculator which could perform calculations involving large numbers.
First Generation (1946 - 1959)
First generation of computers was the beginning of modren computing and it was fully digital, vacuum tubes were used as the CPU. Vacuum tubes were less power-hungry compared to relays used in previous computers like Z3 and ASCC. Magnetic drum for storing the data. The size of the computer is large enough to fill an entire room and it could only perform only basic operation. It uses punch cards, magnetic tape, paper tape for reading the input, and storing output and data. First generation computers include ABC, Colossus, ENIAC, EDVAC, UNIVAC, IBM-701, and IBM-650. These computers runs on batch processing operating system.
Second Generation (1959 - 1965)
Second generation of computers started using transistor instead of Vacuum tubes. Vacuum tubes were the main reason why computers took up the space of entire rooms, weighed multiple tons and consumed enough energy to power a small town. Magnetic tape and magnetic core were used as the primary storage, and magnetic disks were used as the secondary storage. The Assembly language and high-level programming languages like COBOL, FORTRAN were introduced. Second generation computers include TRADIC, IBM 1620, IBM 7094, CDC 1604, CDC 3600, UNIVAC 1108. These computers runs on batch processing and multiprogramming operating systems.
Third Generation (1965 - 1972)
Third generation of computers started using Integrated Circut (IC) instead of transistor. transistor produces the huge amount of heat which damages sensitive parts in the computers. IC is a small circuit made up of thousands of transistors, resistors. High-level programming languages like COBOL, FORTRAN-II to FORTRAN-IV, PASCAL, ALGOL-68, BASIC were introduced. Third generation computers include IBM-360, Honeywell-6000 series, Personal Data Processor (PDP), IBM-370/168, TDC-316. These computers runs on time-sharing, multiprogramming operating system.
Fourth Generation (1972 - 1980)
Fourth generation of computers started using very large scale integrated (VLSI) circuits, VLSI is a chip containing millions of transistors and other circuit elements, also known as microprocessors. Intel was the first company to introduce the microprocessor. The programming languages like C, C++, and DBase were introduced. Networking and CD-ROM concepts came into existence. Fourth generation computers include IBM 4341, DEC 10, STAR 1000 and PUP 11 These computers runs on real time, time sharing and distributed operating system.
Fifth Generation (1982 - Present)
Fifth generation of computers started using Ultra Large Scale Integration (ULSI) circuits, ULSI is a process of embedding millions of transistors on a single silicon semiconductor microchip. The high level of languages like Perl, Python, C, C++, JAVA were introduced. Desktop, Laptop, NoteBook, UltraBook, ChromeBook and many other types of computers were developed. This generation computers supports parallel processing and Artificial Intelligence software (AI).
Conclusion
In future generation of computers we have artifical intelligence based computers, and quantum computers that will be able to outsmart the classical computers in various areas.