La primera generación de computadores (1951-1958) usaba tubos de vacío para procesar información, tarjetas perforadas para entrada de datos y programas, y cilindros magnéticos para almacenamiento. Eran grandes, usaban mucha electricidad, y eran lentos. La segunda generación usó transistores en lugar de tubos de vacío, desarrolló la CPU, e implementó los primeros lenguajes de programación. Almacenaban información en núcleos magnéticos en lugar de tambores giratorios.