Typage dynamique


Typage dynamique

Tous les langages de programmation permettent, directement ou indirectement, de manipuler des valeurs. Généralement, c'est par l'entremise de variables, qui sont une association (on dit aussi une liaison) entre un symbole et une valeur.

Par exemple, en langage C++, l'extrait de programme suivant :

 ...
 int a;
 a = 5;
 ...

déclare une variable dénotée 'a', de type entier, et y affecte la valeur 5. C++ est un langage à typage statique.

En Common Lisp, on écrira :

 (let ((a 5)) ...)

Ici, la création d'une variable lexicale se fait sans spécifier le type.[pas clair] le type de la donnée n'est pas associé au symbole qui dénote la variable mais est encodé dans la donnée elle-même. Ainsi, dans la portée du 'let', on peut interroger le type de la variable a (c'est une application de la réflexivité):

   (let ((a 5))
        (when (numberp a)
              (print "a est un nombre")) ...)

De plus, en cours d'exécution, 'a' pourrait recevoir un objet de type différent, si le programme l'autorise :

    (let ((a 5)
          (setf a "je suis une chaîne") ...)

En résumé, le typage dynamique est une solution très commode pour le développement rapide de programmes, où le type des objets manipulés n'est pas forcément connu à l'avance. Il est nécessaire au développement d'un Protocole à Méta-Objets, ou MOP, car le typage statique l'interdit.

Implications du typage dynamique

La grande flexibilité que permet le typage dynamique se paye généralement par une surconsommation de mémoire correspondant à l'encodage du type dans la valeur, ainsi que par une perte de performance due aux indirections supplémentaires. Ce surcoût à l'exécution est toutefois contrebalancé par l'accroissement de la puissance des ordinateurs actuels, et permet le développement rapide d'applications.

Pour les opérations algorithmiques coûteuses, les langages de script comme Python, Tcl ou Ruby peuvent s'interfacer à des bibliothèques écrites en langage de bas niveau comme le langage C. De plus, certains langages (en particulier Common Lisp) permettent une déclaration statique facultative du type, afin de prouver la cohérence du typage à la compilation et de supprimer les indirections.

Lorsqu'une fonction reçoit une donnée d'un type incorrect (erreur de type à l'exécution), une exception est levée.

Exemples

Voir aussi


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Typage dynamique de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Typage faible — Typage fort Article principal : Typage. En informatique, un langage de programmation est dit fortement typé lorsqu il garantit que les types de données employés décrivent correctement les données manipulées. Par opposition, un langage sans… …   Wikipédia en Français

  • Typage — Type (informatique) Pour les articles homonymes, voir Type (homonymie). En programmation un type de données, ou simplement type, définit le genre de contenu d une donnée et les opérations pouvant être effectuées sur la variable correspondante.… …   Wikipédia en Français

  • Typage statique — Le typage statique est une technique utilisée dans certains langages de programmation impératifs (C++, Java, Pascal, par exemple) pour associer à un symbole dénotant une variable le type de la valeur dénotée par la variable ; et dans… …   Wikipédia en Français

  • Dynamique — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sur les autres projets Wikimedia : « Dynamique », sur le Wiktionnaire (dictionnaire universel) Le mot dynamique est souvent employé pour… …   Wikipédia en Français

  • Type dynamique — Typage dynamique Tous les langages de programmation permettent, directement ou indirectement, de manipuler des valeurs. Généralement, c est par l entremise de variables, qui sont une association (on dit aussi une liaison) entre un symbole et une… …   Wikipédia en Français

  • Langage de programmation dynamique — Cet article traite d une classe des langages de programmation. Pour la méthode consistant en la réduction du temps d exécution d un algorithme, voir programmation dynamique On utilise le terme langage de programmation dynamique en informatique… …   Wikipédia en Français

  • Type statique — Typage statique Sommaire 1 Définition 2 Langages à objets et typage statique 3 Problèmes 4 Résolution, autres difficultés …   Wikipédia en Français

  • Perl6 — Perl 6 Apparu en Spécification : 2001 2009, mise en œuvre partielle par NQP Auteur Larry Wall …   Wikipédia en Français

  • Perl 6 — Apparu en Spécification : 2001 2011, mise en œuvre partielle par Rakudo Star Auteur …   Wikipédia en Français

  • Introduction à la programmation objet — Programmation orientée objet La programmation orientée objet (POO) ou programmation par objet, est un paradigme de programmation informatique qui consiste en la définition et l assemblage de briques logicielles appelées objets ; un objet… …   Wikipédia en Français


Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.