Les données et les instructions doivent être codées en binaire. Ce codage n'est pas réalisé par l'utilisateur, ni même en général par le programmeur. Il est réalisé automatiquement par des programmes utilitaires.
Le langage machine est le seul langage directement compréhensible par la machine (l'ordinateur). Un programme écrit en langage machine est une succession de 0 et de 1 définissant des opérations précises à effectuer. Ce langage n'est pas utilisé directement pour la programmation.
Le premier langage utilisable pour programmer un ordinateur est l'assembleur. Le langage assembleur dépend du processeur de la machine. Ses instructions sont proches de celles du langage machine, mais leur forme est plus utilisable par un programmeur.
Ex : STO (pour store : stocker, ranger en mémoire), JMP (pour jump : branchement en un point du programme)
L'assembleur ne permet de réaliser que des programmes relativement simples, qui dépendent de l'ordinateur utilisé. Pour réaliser des programmes plus complexes et moins dépendants de la machine, il est nécessaire d'utiliser un langage de programmation.
Il existe de nombreux langages de programmation : C, C++, C#, Java, Basic, Pascal, Lisp, Prolog, Fortran, Cobol, ... Le langage Pascal est utilisé dans ce cours en raison de son caractère pédagogique.