C’est quoi un langage de programmation ? 3

langage de programmationC’est quoi un langage de programmation ?

A quoi sert un langage de programmation ?

langage de programmation

Image de Pexels sur https://pixabay.com

 La définition du langage de programmation expliquée de façon simple. C’est quoi un langage de programmation ? Langage interprété vs compilé ? Les différents types de langage de programmation et les points communs entre tous les langages.

 

Introduction

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.  😉 

langage programmation

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.

langage de programmation

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.
    langage programmation
  • 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

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) : 

langage de programmation interprété

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 :

langage de programmation

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.

 

Comme d’habitude, tous les commentaires sont les bienvenus.

N’hésitez pas à vous inscrire à la lettre d’information pour être informé de la parution de nouveaux articles. (vous trouverez la zone d’inscription à la lettre d’information sur la droite de l’écran).

 

Vous aimez ? Dites-le ...
0

3 thoughts on “C’est quoi un langage de programmation ?

  1. Répondre OpenTroll Août 29,2017 7 h 04 min

    Il serait peut-être utile de ne publier dans le RSS que les articles finalisés ?

    • Répondre Administrateur du site Août 30,2017 6 h 08 min

      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

  2. Répondre Champagne! Sep 8,2017 20 h 55 min

    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 !

Laisser un commentaire