En programmation informatique, un idiome ou patron d'implémentation est un moyen standard d'exprimer une construction courante dans un ou plusieurs langages de programmation.

Un idiome peut exprimer une tâche simple, un algorithme, ou une structure de données qui peuvent faire partie ou non des fonctionnalités intégrées au langage. Le patron d'implémentation propose une solution propre à un langage pour des détails d'implémentation tandis que le patron de conception propose une solution générale à un problème récurrent dans la conception de logiciels.

Définition

modifier

Un idiome est une implémentation d'un concept dans un langage de programmation spécifique qui ne fournit pas nativement une construction pour ce concept[1]. Connaître les idiomes associés à un langage de programmation est un aspect important de la maîtrise effective de ce langage.

Exemples

modifier

La construction d'une boucle infinie est un exemple d'idiome[2]. Voici un idiome du langage Perl pour implémenter l'action "Appeler la fonction f sur chaque élément du tableau a" :

  f($_) for @a;

La même action est réalisable dans d'autres langages mais exprimée différemment, chaque langage ayant sa propre syntaxe. Aussi, chaque communauté reconnaît des « bonnes pratiques », c'est-à-dire les façons de faire débattues puis considérées comme idiomatiques.

Notes et références

modifier
  1. Czarnecki et Eisenecker 2000, p. 6.
  2. (en) « Make an infinite loop », sur programming-idioms.org (consulté le 1er février 2020)

Annexes

modifier

Articles connexes

modifier

Liens externes

modifier
  • (en) « Programming Idioms », sur programming-idioms.org (consulté le 1er février 2020), recueil d'idiomes dans plusieurs langages.

Bibliographie

modifier

  : document utilisé comme source pour la rédaction de cet article.

📚 Artikel Terkait di Wikipedia

Script shell

UNIX Programming Environment, Prentice Hall, Inc., 1984 (ISBN 0-13-937699-2), « 3. Using the Shell », p. 94 : « The shell is actually a programming language:

Invariant de boucle

« A note on a standard strategy for developing loop invariants and loops », Science of Computer Programming, vol. 2, p. 207–214, 1984. Michael D. Ernst,

Java (langage)

 », sur JavaWorld, 4 octobre 1996 Core Web Programming, Marty Hall, Larry Brown Object-oriented Programming with Java, Barry J. Holmes, Daniel T. Joyce

Basic (langage)

Laval, affirmait à l'AFCET : « BASIC programming cannot teach you any kind of programming, not even basic programming ». De fait, privilégiant l'action plutôt

OpenGL

Support » (en) Dave Astle et Kevin H. Hawkins, Beginning OpenGL: Game Programming, Cengage Learning - 2004 (ISBN 9781592003693). (en) Paul Martz,OpenGL

Charles-Albert Lehalle

com/article/10.1007/s11579-017-0206-z A mean field game of controls: Closing the Loop of optimal trading (présentation video en français : https://www.youtube

Minimalisme (informatique)

Federico Biancuzzi et Chromatic, Masterminds of Programming: Conversations with the Creators of Major Programming Languages, 21 mars 2009 (ISBN 9780596555504

Cobblestone Jazz

Jonson—taking his cues from his solo setup—concentrated on drum programming and mixing loops. There was also a sense that they were feeding off the energy