C’est quoi un langage de programmation ?
A quoi sert un langage de programmation ?
La définition du langage de programmation expliquée de façon simple. C’est quoi un langage de programmation ? Langage interprété vs langage compilé ? Les différents types de langage de programmation et les points communs entre tous les langages. |
Introduction au langage de programmation
La difficulté de se faire comprendre
Si vous souhaitez communiquer avec quelqu’un, vous devez parler le même langage, sinon, il est difficile de se comprendre.
Eh bien, avec un ordinateur c’est exactement la même chose : pour qu’il vous comprenne vous devez lui parler son langage.
La difficulté c’est qu’un ordinateur ne comprend que des 1 et des 0 : Essayez de ne parler qu’en 0 et 1, vous m’en direz des nouvelles. 😉
Pour parler à un ordinateur, il faut utiliser un « traducteur ». J’utilise ici le terme traducteur car c’est le plus approprié, nous verrons plus loin ce quoi il s’agit.
Il existe de nombreux « traducteur » et chaque « traducteur » possède son propre langage. Donc, vous allez écrire non pas dans le langage de l’ordinateur mais dans le langage du « traducteur ». Le traducteur, qui comprend ce que vous lui dite, convertira tout cela en 0 et 1 parfaitement compréhensible par l’ordinateur.
De quoi parle-t-on ?
Avec un ordinateur, il n’y a pas de discussion, c’est un monologue. Nous sommes les chefs et nous donnons les ordres. Il y obéit (sans état d’âme 🙂 et tout le temps avec le même entrain même le lundi matin contrairement à moi 🙁 )
Ces ordres s’appellent des instructions. Un programme (logiciel) est donc une suite d’instructions comme par exemple :
- Affiche un « A » à l’écran.
- Affiche une zone où l’utilisateur pourra saisir son nom.
- Si l’utilisateur clique sur le bouton « fermer » alors le programme se ferme.
Vous voyez, les instructions sont claires. L’ordinateur sait exactement ce qu’il doit faire.
Le langage de programmation va donc nous permettre d’écrire toutes ces instructions dans une langue comprise par le « traducteur ». Le traducteur va ensuite les convertir en 0 et 1 compréhensibles et exécutables par l’ordinateur.
Toute cette suite d’instructions est appelée « code source ». Donc si on résume un peu :
- Le développeur (programmeur) écrit le code source du programme dans un langage compréhensible par le traducteur.
- Le traducteur (logiciel) va ensuite convertir toutes les instructions contenues dans le code source en 0 et 1 compréhensibles et exécutables par l’ordinateur. Et si vous avez lu l’article : « C’est quoi un OS ?« , vous vous souvenez que le logiciel dialogue avec l’OS pour être exécuté.
Les « types » de langage de programmation
On distingue principalement 2 « types » de langage. J’ai mis « type » entre guillemets car ce ne sont pas des types de langages mais plutôt des modes de fonctionnement. Voici ces 2 grands modes de fonctionnement :
- les langages interprétés
- les langages compilés
C’est quoi un langage interprété ?
Un langage interprété est un langage ou chaque ligne d’instruction est lue et traduite pour être exécutée. Pour que cela fonctionne, l’interpréteur doit avoir accès au code source. On peut représenter tout ça de cette façon (dans le schéma avec un OS Windows mais cela serait pareil avec du Linux ou tout autre OS) :
Sur ce schéma que peut-on voir :
- un fichier contient le code source,
- un interpréteur lit chaque ligne du code source et la transforme en code binaire lisible par l’OS qui lui se chargera de l’envoyer au processeur.
On comprend donc aisément que :
- les lignes sont lues et traduites au fur et à mesure des besoins,
- le code source doit être présent dans l’ordinateur,
- l’interpréteur doit lui aussi être présent dans l’ordinateur.
C’est quoi un langage compilé ?
Avec un langage compilé, c’est différent. Le développeur du logiciel va effectuer une opération qui s’appelle la compilation. Cette opération réalisée à partir d’un logiciel spécial appelé « compilateur » va convertir l’ensemble du code source en code machine. Sous Windows, cela donne un fichier avec l’extension « .EXE » (exe pour exécutable).
Pour exécuter le logiciel sur la machine, il n’y a besoin que de ce fichier exécutable (le code source n’est plus nécessaire).
Voici un schéma résumant tout ça :
A chaque modification du logiciel par le développeur, il faudra recompiler le programme.
Langage interprété vs compilé : Quelles différences ?
Langage interprété, langage compilé : les 2 ont leurs avantages (et leurs adeptes) et les 2 ont leurs inconvénients (et donc leurs détracteurs).
L’avantage du langage interprété c’est sa portabilité, c’est à dire sa capacité à fonctionner sur différents types d’OS. En effet, il suffit d’avoir l’interpréteur sur l’ordinateur sur lequel on veut faire tourner le logiciel et on peut en théorie le faire fonctionner. (Je dis en théorie car dans la pratique ce n’est pas toujours aussi aisé, mais cela est une autre histoire que je ne veux pas aborder ici pour ne pas vous embrouiller).
Par contre, l’inconvénient majeur du langage interprété c’est sa rapidité. En effet, comme vous l’avez vu, l’interpréteur traduit le code source ligne par ligne ce qui prend un peu de temps. Un langage interprété est toujours un peu plus lent qu’un langage compilé.
Et enfin, en envoyant le code source sur l’ordinateur sur lequel il va être exécuté, le logiciel est moins facilement protégé contre la copie et le code source peut-être modifié.
Un langage compilé est généralement plus « proche »de l’OS. Il est moins portable. En effet, la plupart des langages compilés s’adressent à un OS spécifique. Mais c’est aussi ce qui les rend plus performants en termes de rapidité et de fonctionnalités.
Et enfin, pour être tout à fait complet, il existe des langages « mixtes » (entre interprétation et compilation). Ces langages sont compilés en bytecode (le bytecode est du code compilé mais pas directement exécutable sur l’ordinateur) et ce bytecode sera interprété sur l’ordinateur distant. Cela permet de pallier au problème de lenteur et de protection du langage interprété tout en ayant une bonne portabilité entre les différents OS.
Regardons dans la 2ème partie de cet article :
-
Les points communs à tous les langages de programmation
-
Quel langage de programmation choisir ?
Voici cet article : C’est quoi un langage de programmation – partie 2.
Retrouvez l’ensemble des articles sur la programmation :
-
Langage de programmation
-
Apprendre la programmation
très bonne description sur les bases des langages de programmation, merci pour ce partage 🙂
Je trouve votre site vraiment excellente et très enrichissant à vrai dire, merci pour à vous pour le travail et l’effort fourni !
Merci à toi,
A bientôt
Bonjour,
Ce site est vraiment intéressant!!!
Il favorise vraiment la compréhension de la terminologie informatique.
On pourrait dire que vous « dédramatisez » les concepts informatiques. Bravo!
Mais, j’ai un souci: Comment pourrait-on citer l’un ou l’autre de vos articles SVP? En plus du lien je veux surtout parler d’une référence bibliographique complète (nom et prénom, année, revue, etc.)
Merci de m’aider! J’en ai besoin vraiment pour la rédaction de mon travail de recherche.
Bonjour Célestin,
pour citer un ou plusieurs de mes articles, c’est assez simple : il suffit de citer le nom du site et les faire un lien vers les pages choisies.
J’aime bien savoir où se trouvent les références à mon site, alors me faire une petite copie d’écran ou me dire où se trouve ces références me fait toujours plaisir.
Pour ce qui est de mon nom, il ne sera pas d’une grande utilité car je ne publie rien d’autre que sur ce site et j’essaie de rester le plus anonyme possible.
A bientôt
Bonjour administrateur et bonne et heureuse année 2018 pour vous et pour votre site. Vous avez complètement raison en écrivant: <> les débutants dans mon genre nagent un peu alors vos explications tombent bien. Il faut comme le dit si bien CHAMPAGNE avoir de la patience. En suivant un article sur 01.com qui avait disait-ils, suivi les conseil du site lemondeinformatique.fr je me suis inscrit pour voir et désinscrit dans la foulée car là, c’était de l’Hébreu pour moi. avec vous je comprends et cherche à comprendre et à essayé de m’instruire. Alors merci beaucoup et longue vie à votre site: Culture Informatique.
franchement c’est pas vraiment grave!!
les informations ne manquent pas sur votre site.
Pour un débutant comme moi il y a de quoi apprendre!!
acquérir toutes ces notions ne se fait pas en un jour…
alors encore un peu de patince
en tout cas merci !
Il serait peut-être utile de ne publier dans le RSS que les articles finalisés ?
Oui, tu as certainement raison.
Mais ce blog s’adresse à des débutants en informatique et je ne suis pas sûr que beaucoup de lecteurs savent ce qu’est un flux RSS.
A bientôt