El hardware se refiere a las partes físicas y tangibles de una computadora, como sus componentes electrónicos y mecánicos, mientras que el software se refiere a los componentes lógicos como los programas y datos. El hardware se ha clasificado en tres generaciones definidas por cambios tecnológicos como el uso de tubos de vacío, transistores y circuitos integrados. El software incluye programas, documentación y datos e instrucciones procesadas por los programas.