les languages informatiques: ADA,BASIC,C,C++,Java,PHP,ect

                                                          

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 :

LangageDomaine d'application principalCompilé/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é

 

Un programme informatique est une succession d'instructions exécutable par l'ordinateur. Toutefois, l'ordinateur ne sait manipuler que du binaire, c'est-à-dire une succession de 0 et de 1. Il est donc nécessaire d'utiliser un langage de programmation pour écrire de façon lisible, c'est-à-dire avec des instructions compréhensibles par l'humain car proches de son langage, les instructions à exécuter par l'ordinateur.

Ainsi, ces programmes sont traduits en langage machine (en binaire) par un compilateur.

La façon d'écrire un programme est intimement liée au langage de programmation que l'on a choisi car il en existe énormément. De plus, le compilateur devra correspondre au langage choisi: à chaque langage de programmation son compilateur (exception faite des langages interprétés...).

D'une façon générale, le programme est un simple fichier texte (écrit avec un traitement de texte ou un éditeur de texte), que l'on appelle fichier source.

Le fichier source contient les lignes de programmes que l'on appelle code source. Ce fichier source une fois terminé doit être compilé. La compilation se déroule en deux étapes :

  • le compilateur transforme le code source en code objet, et le sauvegarde dans un fichier objet, c'est-à-dire qu'il traduit le fichier source en langage machine (certains compilateurs créent aussi un fichier en assembleur, un langage proche du langage machine car possédant des fonctions très simples, mais lisibles)
  • le compilateur fait ensuite appel à un éditeur de liens (en anglais linker ou binder) qui permet d'intègrer dans le fichier final tous les éléments annexes (fonctions ou librairies) auquel le programme fait référence mais qui ne sont pas stockés dans le fichier source.
    Puis il crée un fichier exécutable qui contient tout ce dont il a besoin pour fonctionner de façon autonome, (sous les systèmes d'exploitation Microsoft Windows ou MS-Dos le fichier ainsi créé possède l'extension .exe)

A quoi ressemble un programme informatique?

L'allure d'un programme dépend du type de langage utilisé pour faire le programme...

Toutefois, à peu près tous les langages de programmation sont basés sur le même principe :
Le programme est constitué d'une suite d'instructions que la machine doit exécuter. Celle-ci exécute les instructions au fur et à mesure qu'elle lit le fichier (donc de haut en bas) jusqu'à ce qu'elle rencontre une instruction (appelée parfois instruction de branchement) qui lui indique d'aller un endroit précis du programme. Il s'agit donc d'une sorte de jeu de piste dans lequel la machine doit suivre le fil conducteur et exécuter les instructions qu'elle rencontre jusqu'à ce qu'elle arrive à la fin du programme et celui-ci s'arrête.

La notion de variable

Dans la plupart des langages, on travaille généralement sur des variables, c'est-à-dire que l'on associe à un nom un contenu. On pourra ainsi appeler une variable "toto" et y stocker le chiffre 8.

Type de données

Certains langages acceptent que l'on associe à un nom de variable n'importe quel type de donnée (c'est-à-dire aussi bien un nombre entier qu'un caractère), on appelle ces langages des langages non typés.
En fait comme vous pourrez le voir dans le chapître représentation des données, le type de donnée conditionne le nombre d'octets sur laquelle la donnée est codée, c'est-à-dire l'occupation en mémoire de cette donnée ainsi que le format dans lequel elle est représentée.
C'est la raison pour laquelle les langages évolués (Le C, le Java) sont des langages typés, cela signifie qu'à une variable est associé non seulement un nom mais aussi un type de donnée qu'il faudra préciser lorsque l'on déclarera la variable, c'est-à-dire que lorsque l'on écrira le nom de la variable pour la première fois il faudra préciser au compilateur quelle sorte de données celle-ci va pouvoir contenir (la façon de déclarer la variable dépendra du langage).

Syntaxe

Les langages demandent une syntaxe rigoureuse, on ne peut donc pas écrire les choses de la manière dont on le souhaite.

Ainsi, certains langages sont case sensitive (en français "sensibles à la casse"), cela signifie qu'un nom ne comportant que des minuscules ne sera pas considéré comme équivalent au même nom comprenant des majuscules. Ainsi la variable nommée "Toto" sera une variable différente de la variable "toto".

Les noms de variables admettent généralement une longueur maximale (qui dépend du langage) et un jeu de caractères réduit, parmi lesquels on retrouve généralement les caractères suivants :

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
1234567890_ 

Ainsi, un espace (" ") est en réalité un caractère à part entière, appelé caractère spécial). Il est ainsi rare qu'un langage accepte des caractères spéciaux dans un nom de variable !

Mots réservés

Dans la plupart des langages, il existe une poignée de mots que l'on ne peut pas attribuer aux noms de variables, on les appelle mots réservés (en anglais reserved words). Ceux-ci seront explicités dans chaque chapitre correspondant à un langage spécifique.

Les constantes

Les constantes sont des données dont la valeur ne peut être modifiée. On les définit généralement en début de programme. La valeur que la constante contient peut être de tout type, suivant ce que le langage autorise.

Les commentaires

Il est généralement bon de pouvoir ajouter dans un programme des lignes de texte qui ne seront pas prises en compte par le compilateur. Ces lignes de textes sont généralement précédées (ou encadrées) par des instructions spéciales qui signaleront au compilateur de les ignorer.

Les commentaires servent à clarifier un programme en donnant des explications. Ils serviront si jamais une autre personne essaie de comprendre le fonctionnement du programme en lisant le fichier source, ou bien à la personne qui l'a créé si jamais il relit le fichier source quelques années après l'avoir écrit...

A quoi ressemble une instruction?

L'instruction est l'élément clé de l'ordinateur car c'est elle qui permet de spécifier au processeur l'action à effectuer. Les instructions à effectuer sont indiquées dans le fichier source et l'ordinateur passe d'une instruction à une autre en suivant les instructions indiquées de haut en bas (car la lecture d'un fichier se fait de haut en bas).
Une instruction est généralement composée de deux éléments :

  • l'opérateur: action à effectuer par le processeur
  • la ou les opérandes: une ou plusieurs données sur lequel on va effectuer l'opération
opérateur opérande(s)

Les types d'opérateurs

On distingue généralement deux ou trois types d'opérateurs :

  • Les opérateurs unaires: ce sont des opérateurs qui n'admettent qu'une seule opérande
  • Les opérateurs binaires: ce sont des opérateurs qui, contrairement à ce que l'on pourrait croire, ne travaillent pas sur des opérandes binaires, mais admettent deux opérandes (binaire désigne donc le nombre d'opérandes manipulées, l'addition, souvent notée +, est donc un opérateur binaire)
  • Les opérateurs ternaires: ce sont des opérateurs qui admettent trois opérandes (les opérateurs conditionnels sont par exemple des opérateurs ternaires)

Les opérateurs peuvent être aussi répartis selon plusieurs catégories selon le type d'action que leur exécution déclenche :

  • les opérateurs arithmétiques
  • les opérateurs de comparaison
  • les opérateurs logiques
  • les opérateurs de bits
  • les opérateurs d'affectation
  • les opérateurs conditionnels
  • les opérateurs séquentiels
  • ...

Les priorités des opérateurs

Dans chaque langage il existe généralement des priorités d'évaluation des opérateurs, afin que l'ordinateur sache dans quel sens évaluer les opérateurs lorsque plusieurs d'entre eux sont présents dans une même expression

API

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 d’un langage de programmation.

Une API permet de fournir un certain niveau d’abstraction au développeur, c’est-à-dire qu’elle lui masque la complexité de l’accès à un système ou à une application en proposant un jeu de fonctions standard dont seuls les paramètres et les valeurs retournées sont connus. Ainsi, par analogie avec une voiture, le conducteur n'a pas à connaître le fonctionnement mécanique du moteur d'un véhicule pour pouvoir le conduire. Seule une interface composée d'un volant, de pédales (accélérateur, embrayage, frein), de manettes (clignotants, phares, boîte de vitesse) et de boutons (warning, anti-brouillard, klaxon, etc.) lui sont accessibles : il s'agit d'une certaine façon de l'interface proposée à l'utilisateur.

Grâce aux API, un développeur n’a donc pas à se soucier de la façon dont une application distante fonctionne, ni de la manière dont les fonctions ont été implémentées pour pouvoir l'utiliser dans un programme. Une API peut être disponible pour un langage particulier ou bien être disponible pour plusieurs langages de programmation.

Framework

Le terme « Application Framework » (traduisez « Cadre d'application », « canevas d'application » ou « socle d'application ») désigne un ensemble structuré d'API, organisé au sein d'un environnement d'exécution. Le terme « Application Framework » est généralement utilisé sous la forme raccourcie de « Framework »

 les langages préférés:

logo

Sous-pages :

Créer un site gratuit avec e-monsite - Signaler un contenu illicite sur ce site