Langage de programmation

Un article de Wikibot.


Cet article est une ébauche à compléter, vous pouvez partager vos connaissances en le modifiant.


Sommaire

[modifier] Définition

Un langage de programmation est une langue spécifique utilisée pour parler à une machine.

La machine utilise des bits et des octets là où nous utilisons des lettres et des mots. Pour pouvoir parler à la machine, nous utilisons un langage plus ou moins complexe qui sera traduit en une suite de bits compréhensible par la machine.

[modifier] Types

Il existe plusieurs types de langages. Certains vont être compilés et ne seront plus jamais touchés (c, vb, assembleur, ...). D'autres sont interprétés par la machine sur laquelle ils sont utilisés (java). D'autres encores ne sont pas compilés, il s'agit alors de langages de scripts (php, javascript, ...).

[modifier] Niveaux

Un langage possède un certain niveau d'abstraction. Le langage machine (suite de 1 et de 0) est le niveau le plus bas. L'assembleur, qui représente les suites de bits par des mots (plus intelligibles donc) est au niveau juste au-dessus. En faisant de plus en plus abstraction de la machine, le niveau s'élève. Le C est un langage de niveau moyen, alors que le C# est d'un niveau élevé.

Plus on s'élève, et plus la programmation se rapproche d'un algorithme.


[modifier] Exemple de différents niveaux

Pour effacer l'écran en pascal (niveau moyen), on remplit une zone mémoire (A0000) avec une couleur choisie (le noir pour effacer) :

fillchar (Mem[$A000:0],64000,Couleur);

Pour effacer l'écran en assembleur (niveau bas), on sélectionne la zone mémoire (A0000), on sélectionne la couleur, puis on écrit de dans autant de fois que nécessaire (320x200 pixels = 64000 pixels) :

mov ax,0A000h
mov es,ax
mov di,0
mov al,[coul]
mov cx,64000
rep stosb

On voit vite quel est le niveau le plus simple à comprendre !

[modifier] Efficacité

On dit souvent que tel ou tel langage est "meilleur". Chaque langage possède ses détracteurs, et certains langages reposant sur un autre langage, cela devient parfois obscur de comprendre certaines différences.

En général, plus le langage est de bas niveau, plus on s'adresse directement à la machine. En parlant son langage, on est plus efficace et donc plus rapide. Tout langage est traduit en langage machine par un compilateur. La plus ou moins bonne traduction du compilateur va favoriser l'efficacité du programme et donc du langage en général.

Il est important de se rappeler qu'un langage à souvent été créé dans un but particulier, et que, sorti de son contexte, il devient souvent "moins" efficace.