Langage de programmation
Chaque appareil informatique a un ensemble d'instructions qui peuvent être utilisées pour effectuer des opérations. Les instructions permettent d'effectuer des calculs arithmétiques ou logiques, déplacer ou copier des données, ou bifurquer vers l'exécution d'autres instructions. Ces instructions sont enregistrées sous forme de séquences de bits, où chaque séquence correspond au code de l'opération à effectuer et aux opérandes, c'est-à-dire aux données concernées ; c'est le langage machine.
Ordinateur
La fin des années 1930 virent, pour la première fois dans l'histoire de l'informatique, le début de la construction de deux "machines à calculer programmables". Elles utilisaient des relais et étaient programmées par la lecture de rouleaux perforés et donc, pour certains, étaient déjà des ordinateurs. Elles ne furent mises en service qu'au début des années 1940, faisant ainsi de 1940 la première décennie dans laquelle on trouve des ordinateurs et des machines à calculer programmables totalement fonctionnels. C'est d'abord en 1937 que Howard Aiken, qui avait réalisé que la machine analytique de Babbage était le type de machine à calculer qu'il voulait développer, proposa à IBM de la créer et de la construire ; après une étude de faisabilité, Thomas J. Watson accepta de la construire en 1939 ; elle fut testée en 1943 dans les locaux d'IBM et fut donnée et déménagée à l'université Harvard en 1944, changeant son nom de ASCC à Harvard Mark I ou Mark I.