Principe de Huffman


Principe de Huffman

En informatique, le Principe de Huffman est une règle informelle souvent invoquée par Larry Wall, le concepteur du langage Perl, pour concevoir les constructions syntaxiques d'un langage informatique et pour écrire des programmes en un langage informatique donné.

Le but du principe de Huffman est d'écrire des programmes concis. Son domaine d'application n'est pas spécifique à Perl, mais peu de concepteurs de langages ont prêté autant d'attention que Larry Wall aux propriétés souhaitables de la syntaxe concrète d'un langage.

Le principe de Huffman fait référence au principe qui sous-tend le codage de Huffman et d'autres algorithmes de compression de données : l'encodage d'un symbole souvent utilisé doit être plus court que celui d'un symbole moins utilisé.

Sommaire

Le principe de Huffman dans la conception d'un langage

Le concepteur d'un langage doit identifier ou créer des structures de contrôle et de données qui seront les plus utilisées et proposer une syntaxe concrète concise et distinctive pour celles-ci. Cela évite au programmeur d'utiliser des abstractions de bas niveau. La concision permet aussi de rendre visible des similarités entre les instructions ou les expressions consécutives dans un programme et d'en rendre la lecture voire la factorisation plus facile. Autrement, ces régularités auraient été cachées par la verbosité d'abstractions de bas niveau.

Ainsi Perl 6 propose des hyperopérateurs qui opèrent sur tous les éléments d'un tableau, ou un switch qui opère sur des données composites. De même, les langages fonctionnels typés modernes, comme Haskell ou Ocaml, proposent des types algébriques de données et le filtrage par motif qui permettent de créer des structures de données composites et de les modifier.

Finalement, avec du code plus concis, le programmeur peut voir plus de code sur son écran, et moins faire appel à sa mémoire ou éviter de faire défiler du code continuellement sur son écran pour rechercher de l'information. L'inconvénient est un langage plus complexe dont l'apprentissage est plus long.

Le principe de Huffman dans l'écriture d'un programme

Dans un programme, un identificateur doit être d'autant plus court qu'il est souvent utilisé dans sa portée. Conformément au principe de code comme commentaire, on peut d'abord donner un nom explicite au dit identificateur et l'aliaser en son nom court.

Parallèle avec l'évolution des langages naturels

L'étude diachronique des langages naturels montre que leurs constituants les plus utilisés se conforment au principe de Huffman ou y tendent au cours du temps. Ainsi, les pronoms et particules sont généralement très utilisés et sont aussi très courts. Dans des langages non contraints par le corset d'académies normatives, ce mécanisme s'effectue tout naturellement, particulièrement à l'oral. Ainsi, dans un cours de langue, un enseignant anglophone pourra remplacer le mot souvent utilisé de "vocabulary" par son raccourci "vocab". L'usage de sigles et d'acronymes est aussi une conséquence du principe de Huffman. Néanmoins, le sigle www, lu à voix haute, est plus long à prononcer que world wide web.

Liens externes

  • Le Synopsis 3, partie de la spécification de Perl 6, utilise le verbe "to Huffman-code". C'est une métonymie qui désigne l'application du principe de Huffman et non l'utilisation du codage de Huffman.

Wikimedia Foundation. 2010.

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

Regardez d'autres dictionnaires:

  • Principe de huffman — En informatique, le Principe de Huffman est une règle informelle souvent invoquée par Larry Wall, le concepteur du langage Perl, pour concevoir les constructions syntaxiques d un langage informatique et pour écrire des programmes en un langage… …   Wikipédia en Français

  • Huffman — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Patronyme Booker Huffman (1965 /), catcheur américain ; David Albert Huffman (1925 1999), pionnier dans le domaine de l informatique ; David… …   Wikipédia en Français

  • Codage de Huffman — Le codage de Huffman est un algorithme de compression de données sans perte élaboré par David Albert Huffman, lors de sa thèse de doctorat au MIT. L algorithme a été publié en 1952 dans l article A Method for the Construction of Minimum… …   Wikipédia en Français

  • Codage De Huffman — Le codage de Huffman est un algorithme de compression qui fut mis au point en 1952 par David Albert Huffman. C est une compression de type statistique qui grâce à une méthode d arbre que nous allons détailler plus loin permet de coder les octets… …   Wikipédia en Français

  • Codage de huffman — Le codage de Huffman est un algorithme de compression qui fut mis au point en 1952 par David Albert Huffman. C est une compression de type statistique qui grâce à une méthode d arbre que nous allons détailler plus loin permet de coder les octets… …   Wikipédia en Français

  • Code de Huffman — Codage de Huffman Le codage de Huffman est un algorithme de compression qui fut mis au point en 1952 par David Albert Huffman. C est une compression de type statistique qui grâce à une méthode d arbre que nous allons détailler plus loin permet de …   Wikipédia en Français

  • DWIM — En informatique DWIM est un sigle pour Do What I Mean. Cela signifie fais ce que je veux dire . Il est utilisé en informatique pour dénoter la qualité des langages qui permettent d éviter de spécifier en long, en large et en travers l action à… …   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

  • Langage Perl — Perl (langage) Pour les articles homonymes, voir Perl. Apparu en 1987 …   Wikipédia en Français