Les langages de programmation peuvent se classer en trois catégories :
Les principaux langages de programmation interprétés sont :
Un langage interprété est plus lent qu'un langage compilé mais pourra, si l'interpréteur est installé sur la machine, s'exécuter sans modification du code et abstraction des dépendances
Il pourra également être testé à la volée sans avoir besoin d'être recompilé à chaque changement du code source
Les langages interprétés sont utilisés principalement pour l'exécution de pages WEB, pour lancer des scripts d'administration des systèmes informatiques par l'intermédiaire du langage BASH et dans l'apprentissage de ces langages
Les principaux langages de programmation compilés sont :
Un langage compilé est très rapide car il contient directement les instructions du processeur. Cependant, le code source devra être adapté selon le type de processeur.
On devra donc avoir autant d'exécutables que de type de processeur/OS que l'on possède.
Les langages compilés sont utilisés pour l'interaction avec les matériels (noyau), pour la réalisation des jeux, recherche et enseignement
Le langage machine contient directement les instructions pour interagir avec le processeur.
Il faut les transcrire en hexadécimal et les enregistrer dans un fichier exécutable
Pour faciliter l'élaboration du programme à coder, on utilise le langage assembleur.
La création du programme s'effectue à partir d'un éditeur. Les instructions pour le processeur sont renseignées à l'aide de mnémoniques qui reprennent les symboles connus du processeur (mov, add, imul, cmp, jmp, etc ...)
Il reste quelques cas ou le langage assembleur est nécessaire (drivers, logiciels embarqués, machines massivement parallèles)