Flux rss
Collection CommentÇaMarche.net
 

Les langages informatiques

Programme
Bookmark Ajouter aux favoris / Partager
I linguaggi informatici As linguagens informáticas Programmiersprachen Lenguajes de programación Programming languages

Langage informatique

On appelle « langage informatique » un langage destiné à décrire l'ensemble des actions consécutives qu'un ordinateur doit exécuter. Un langage informatique est ainsi une façon pratique pour nous (humains) de donner des instructions à un ordinateur.

A contrario, le terme « langage naturel » représente les possibilités d'expression partagé par un groupe d'individus (par exemple l'anglais ou le français).

Les langages servant aux ordinateurs à communiquer entre eux n'ont rien à voir avec des langages informatiques, on parle dans ce cas de protocoles de communication, ce sont deux notions totalement différentes. Un langage informatique est rigoureux :

À CHAQUE instruction correspond UNE action du processeur.

Le langage utilisé par le processeur est appelé langage machine. Il s'agit des données telles qu'elles arrivent au processeur, constituées d'une suite de 0 et de 1 (données binaire).

Le langage machine n'est ainsi pas compréhensible par l'être humain, c'est pourquoi des langages intermédiaires, compréhensibles par l'homme, ont été mis au point. Le code écrit dans ce type de langage est transformé en langage machine pour être exploitable par le processeur.

L'assembleur est le premier langage informatique qui ait été utilisé. Celui-ci est très proche du langage machine mais reste compréhensible pour des développeurs. Toutefois, un tel langage est tellement proche du langage machine qu'il dépend étroitement du type de processeur utilisé (chaque type de processeur peut avoir son propre langage machine). Ainsi, un programme développé pour une machine ne pourra pas être porté sur un autre type de machine. Le terme « portabilité » désigne l'aptitude d'un programme informatique a être utilisé sur des machines de types différents. Pour pouvoir utiliser un programme informatique écrit en assembleur sur un autre type de machine, il sera parfois nécessaire de réécrire entièrement le programme !

Un langage informatique a donc plusieurs avantages :

  • il est plus facilement compréhensible que le langage machine ;
  • il permet une plus grande portabilité, c'est-à-dire une plus grande facilité d'adaptation sur des machines de types différents ;

Langages impératifs et fonctionnels

On distingue habituellement deux grandes familles de langages de programmation, selon la manière de laquelle les instructions sont traitées :

  • les langages impératifs ;
  • les langages fonctionnels.

Langage impératif

Un langage impératif organise le programme sous forme d'une série d'instructions, regroupées par blocs et comprenant des sauts conditionnels permettant de revenir à un bloc d'instructions si la condition est réalisée. Il s'agit historiquement des premiers langages, même si de nombreux langages modernes utilisent toujours ce principe de fonctionnement.

Les langages impératifs structurés souffrent néanmoins d'un manque de souplesse étant donné le caractère séquentiel des instructions.

Langage fonctionnel

Un langage fonctionnel (parfois appelé langage procédural) est un langage dans lequel le programme est construit par fonctions, retournant un nouvel état en sortie et prenant en entrée la sortie d'autres fonctions. Lorsque la fonction s'appelle elle-même, on parle alors de récursivité.

Interprétation et compilation

Les langages informatiques peuvent grossièrement se classer en deux catégories :
  • les langages interprétés
  • les langages compilés.

Langage interprété

Un langage informatique est par définition différent du langage machine. Il faut donc le traduire pour le rendre intelligible du point de vue du processeur. Un programme écrit dans un langage interprété a besoin d'un programme auxiliaire (l'interpréteur) pour traduire au fur et à mesure les instructions du programme.

Langage compilé

Un programme écrit dans un langage dit « compilé » va être traduit une fois pour toutes par un programme annexe, appelé compilateur, afin de générer un nouveau fichier qui sera autonome, c'est-à-dire qui n'aura plus besoin d'un programme autre que lui pour s'exécuter; on dit d'ailleurs que ce fichier est exécutable.

Un programme écrit dans un langage compilé a comme avantage de ne plus avoir besoin, une fois compilé, de programme annexe pour s'exécuter. De plus, la traduction étant faite une fois pour toute, il est plus rapide à l'exécution.
Toutefois il est moins souple qu'un programme écrit avec un langage interprété car à chaque modification du fichier source (fichier intelligible par l'homme: celui qui va être compilé) il faudra recompiler le programme pour que les modifications prennent effet.

D'autre part, un programme compilé a pour avantage de garantir la sécurité du code source. En effet, un langage interprété, étant directement intelligible (lisible), permet à n'importe qui de connaître les secrets de fabrication d'un programme et donc de copier le code voire de le modifier. Il y a donc risque de non-respect des droits d'auteur. D'autre part, certaines applications sécurisées nécessitent la confidentialité du code pour éviter le piratage (transaction bancaire, paiement en ligne, communications sécurisées, ...).

Langages intermédiaires

Certains langages appartiennent en quelque sorte aux deux catégories (LISP, Java, Python, ..) car le programme écrit avec ces langages peut dans certaines conditions subir une phase de compilation intermédiaire vers un fichier écrit dans un langage qui n'est pas intelligible (donc différent du fichier source) et non exécutable (nécessité d'un interpréteur). Les applets Java, petits programmes insérés parfois dans les pages Web, sont des fichiers qui sont compilés mais que l'on ne peut exécuter qu'à partir d'un navigateur internet (ce sont des fichiers dont l'extension est .class).

Quelques exemples de langages couramment utilisés

Voici une liste non exhaustive de langages informatiques existants :

Langage Domaine d'application principal Compilé/interprété
ADA Le temps réél Langage compilé
BASIC Programmation basique à but éducatif Langage interprété
C Programmation système Langage compilé
C++ Programmation système objet Langage compilé
Cobol Gestion Langage compilé
Fortran Calcul Langage compilé
Java Programmation orientée internet Langage intermédiaire
MATLAB Calcul mathématique Langage interprété
Mathematica Calcul mathématique Langage interprété
LISP Intelligence artificielle Langage intermédiaire
Pascal Enseignement Langage compilé
PHP Développement de sites web dynamiques Langage interprété
Prolog Intelligence artificielle Langage interprété
Perl Traitement de chaînes de caractères Langage interprété


Dernière modification le mardi 14 octobre 2008 à 17:40:39.Ce document intitulé « Les langages informatiques » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
J'aimerai aprendre le language informatique (Résolu) bonjour en faite je voudrais savoir où je pourais trouver(l'adresse d'un site) un cours ou aprendre le language informatique mais pour les débutants merci d'avance pour vos réponses a+ jocelyn www.commentcamarche.net/forum/affich-1755752-j-aimerai-aprendre-le-language-informatique
[mythes] Langage informatique=Langage de programmation Mythe Tous les langages informatiques sont des langages de programmation. Réalité FAUX Explications Il existe une multitude de langages informatiques. Beaucoup sont des langages de programmation, mais pas tous. Cette confusion est fréquente... www.commentcamarche.net/faq/sujet-4577-mythes-langage-informatique-langage-de-programmation
Comprendre le langage informatique slt je pratique le pc depuis 20ans (jeux; internet; etc) je souhaite aprofondir mes connaissances sur les langages informatiques les plus courant.existe t'il un bon livre ou doc sur ce sujet pour apprendre les bases. Quel est le langage informatique... www.commentcamarche.net/forum/affich-7238371-comprendre-le-langage-informatique
[PHP] Rediriger en fonction de la langue du visiteurBeaucoup de sites demandent à ce que l'on choisisse la langue en cliquant sur une icône correspondant au pays. Il est possible de détecter la langue par défaut du visiteur grâce aux informations fournies par son navigateur (langues acceptées :... www.commentcamarche.net/faq/sujet-876-php-rediriger-en-fonction-de-la-langue-du-visiteur
Devenir pirate informatiqueQue vous vouliez devenir un pirate informatique ou savoir comment hacker, le premier texte à connaître est celui ci-dessous : CODE PÉNAL (Partie Législative) CHAPITRE III : Des atteintes aux systèmes de traitement automatisé de données Article 323... www.commentcamarche.net/faq/sujet-307-devenir-pirate-informatique
Devenir ingénieur informatiqueDevenir ingénieur informatique Ingénieur informatique (ou ingénieur informaticien) est une appellation dite générique, c’est-à-dire qu’elle ne désigne pas de façon précise un métier ou une formation. Être ingénieur, c’est être spécialisé et... www.commentcamarche.net/faq/sujet-12397-devenir-ingenieur-informatique
BTS Iris, DUT Informatique ou GEII (Résolu)Bonjours a tous Voila je suis en terminale sti elt et je voudrais savoir la différence entre le BTS INFORMATUQUE ET RESEAUX POUR L'INDUSTRIE ET LE SERVICES TEGHNIQUES, le DUT INFORMATIQUE ou le DUT GENIE ELECTRIQUE ET INFORMATIQUE INDUSTRIELLE Merci... www.commentcamarche.net/forum/affich-2167146-bts-iris-dut-informatique-ou-geii
Exercice du bac informatique Programmation (Résolu)Bonjour, chui un eleve en bac informatique la programmation mon seul moyen de réssure svp aider moi a trouver des TD ,exercices ,Teste sur les enregitrement et les fichiers merci pour votre lecture. www.commentcamarche.net/forum/affich-5706201-exercice-du-bac-informatique-programmation
Langage de programmation R (Résolu)Bonjour, Voila je trouve dommage que dans un site aussi important que commentcamarche, il n'y ait aucun post concernant ce jeune langage de programmation qu'est R. C'est un logiciel utilisé dans le monde professionel, langage dérivé du C. De plus... www.commentcamarche.net/forum/affich-5751514-langage-de-programmation-r
Télécharger Jargon Informatique L'informatique est omniprésente dans notre vie quotidienne et elle possède son jargon bien à elle. Jargon Informatique est un dictionnaire des différents termes utilisés en informatique. Il est très fourni puisqu'il contient pas moins de 10.000 mots.... www.commentcamarche.net/telecharger/telecharger-34055740-jargon-informatique
Télécharger ASTRA32 - Advanced System Information ToolAstra 32 est un outil de diagnostic de votre système. Il vous fournira les informations nécessaires sur la configuration de votre système et effectuera une analyse complète. En plus du diagnostic, il vous fournira des conseils ou suggestions pour la... www.commentcamarche.net/telecharger/telecharger-34060163-astra32-advanced-system-information-tool
Télécharger Auslogics System InformationAfin d’améliorer au mieux les performances de son ordinateur, il faut d’abord connaître ce qui ne fonctionne pas. Auslogics System Information est un utilitaire fournissant un rapport complet de toutes les informations sur votre... www.commentcamarche.net/telecharger/telecharger-34058032-auslogics-system-information
Langage C++Histoire du C++ Le langage C++ est une « amélioration » du langage C (le langage C a été mis au point par M.Ritchie et B.W.Kernighan au début des années 70). Bjarne Stroustrup, un ingénieur considéré comme l'inventeur du C++, a en effet décidé... www.commentcamarche.net/contents/cpp/cppintro.php3
Introduction au langage PascalUn peu d'histoire Ce langage a été créé en 1969 à l'école polytechnique de ZURICH par N. WIRTH. Il a été conçu pour permettre d'enseigner la programmation comme une science. Ce langage est à la base d'une nouvelle méthode de programmation : la... www.commentcamarche.net/contents/pascal/pascintro.php3
Langages informatiques - APIAPI Une API (Application Programmable Interface, traduisez « interface de programmation » ou « interface pour l’accès programmé aux applications) est un ensemble de fonctions permettant d’accéder aux services d’une application, par l’intermédiaire... www.commentcamarche.net/contents/langages/api.php3