Las primeras generaciones de computadores (1945-1958) utilizaban válvulas electrónicas y se programaban en lenguaje de máquina. La segunda generación (1959-1964) reemplazó las válvulas por transistores, haciendo los computadores más pequeños y eficientes energéticamente, y permitiendo lenguajes de programación de alto nivel. La tercera generación (1964-1971) introdujo circuitos integrados que redujeron aún más el tamaño y consumo de energía de los computadores e incluyeron nuevas funciones como la multiprogramación.