Niveaux de langages et exécution


Niveaux de langages

Tout programme informatique fini toujours par être implanté dans un composant électronique.

Son expression finale est toujours un ensemble d'informations binaires.


Les instructions comprises par le microprocesseur sont codées sous forme de mots binaires. Le programme composé de ces mots est appelé CODE MACHINE. Il est implanté dans les mémoires de l'ordinateur.


C'est pour rendre la programmation plus facile et plus rapide -pour éviter la programmation par code machine- que sont nés de nombreux langages informatiques. Le langage informatique est un langage formel permettant de faire traiter un problème par les structures de traitement de l'information.

Plus le langage est proche de la structure matérielle et plus le programme est compact. Plus on s'éloigne de la couche matérielle et plus on se dédouane des contraintes matérielles, la programmation est plus rapide, mais les programmes deviennent plus gros (en nombre d'octets).



Compilation / Interprétation

Les langages peuvent être classés en deux catégories :

  • les langages compilés : les lignes d'instructions sont analysées, et traduites par un compilateur qui génère un fichier informatique spécifique au système d'exploitation sur lequel le programme devra s'exécuter. De nombreux langages sont des langages compilés : C, Pascal, Ada, Cobol, etc...
  • les langages interprétés : un logiciel appelé Interpréteur traduit au fur et à mesure les instructions du programme inscrit généralement dans un fichier texte. Les programmes ne peuvent fonction qu'avec l'interpréteur. Exemples : Python, PHP, Basic, Matlab, etc...


Remarque : En Python on peut :

  • Utiliser l'interpréteur, instruction par instruction
  • écrire un ensemble d'instructions dans un fichier puis interpréter tout le fichier


Quelque-soit le langage, l'écriture des programmes est facilitée par un ensemble logiciel appelé Environnement de Développement Intégré (EDI) composé à minima :

  • d'un éditeur (avec ou sans coloration syntaxique);
  • d'une bibliothèque de fonctions préexistantes;
  • d'un outil d'aide à la détection d'erreur appelé débuggeur ou dévermineur .

On peut citer par exemple Anaconda/Spyder pour Python.