The need to carry out complex calculations has culminated the computer from its mechanical roots of relays and movable parts. While calculating devices have been around since 3000 BC, modern computing technology tracks its roots to 16-17th Centuries. The Evolution of computers is often categorized in Generations. It is relevant to note a period before these a "generation 0" between 1640s-1940s which machines were mechanical devices (eg relays and gears) including Pascal's Pascaline, the first mechanical calculator.
Generations of Computers
First Generation (1945-1959) Vacuum Tubes
Relays were replaced by vacuum tubes which had no moving parts because faster, historically hybrids of both were built. The first electronic computers were the COLOSSUS (1943 – although not publicly-acknowledged) and ENIAC (1946) which contained 18000 vacuum tubes and 1500 relays. Also notable was UNIVAC which became the first commercially available computer.
Second Generation (1960-1965) Transistors
Vacuum tubes replaced by transistors (Invented at Bell Labs in 1948). High Level programming languages developed; FORTRAN and COBOL among others. Transistors were much smaller, and cheaper to make and far more reliable than valves.
Third Generation (1965-1971) Integrated Circuits
Machine speeds went from microsecond to the picoseconds (trillionth) range. Terminals replaced punched cards for data entry. This era saw the rise of Operating Systems and mass production of circuitry. IBM introduced compatible family of computers
Fourth Generation (1973-) VLSI – Very Large Scale Integration
Allowed thousands of transistors to be incorporated in a chip giving rise to the microprocessor- a processor on a chip. These reduced the price of computers giving rise personal computing.
The 1990s saw the Fourth Generation advance into ULSI (Ultra Large Scale Integration) with millions of transistors per chip. In 1965 Intel's Gordon Moore predicted "the number of transistors on an IC wills double every 18 months."
Fifth Generation (1985-) Parallel Processing and Networking
Still a debated generation. How high end machines (eg web servers) can have multiple CPUs and inter-connectivity between computers; networks.