La primera generación de computadoras usó bulbos de vacío, mientras que la segunda generación reemplazó los bulbos con transistores semicondutores. Los transistores permitieron computadoras más pequeñas y rápidas que se programaban con lenguajes de alto nivel.